0

您好,我正在使用下面的脚本块,并在测试路径时传递了变量本地文件夹$Null。你能建议我在这里缺少什么吗

$ScriptBlockDir
4

1 回答 1

0

在您的示例中(除非您想提供更多背景信息),您不需要 -Session $PSSession ,因为您的代码中没有声明,它会抛出有关 $null 变量的错误。我会像这样重做你的代码:

$ScriptBlockDir = {
  Param ([string]$samAccountName)
  If ($Env:ComputerName -eq 'fileserver101' ) {
    $LocalFolderPath = 'H:\Users'
  }
  Else {
    $LocalFolderPath = 'D:\Users'
  }
  If (-not (Test-Path -Path "$LocalFolderPath\$samAccountName")) {
    try {
        New-Item -Path $LocalFolderPath -Name $samAccountName -ItemType Directory -ErrorAction Stop
        return 1
    }
    catch {
        Write-Host $_.Exception.Message
        return -1
    }
  }
  else {
    Write-Host "already exists"
    Return 0
  }

}

$result = Invoke-Command -ScriptBlock $ScriptBlockDir -ArgumentList $samAccountName
Write-Host $result
于 2017-11-06T20:45:24.183 回答