从远程位置本地运行PowerShell脚本

时间:2017-10-11 15:32:33

标签: powershell

我遇到了一个无法解决的问题。我试图在服务器上本地运行脚本,该脚本存在于远程服务器上。这是我创建的一个脚本,它使用安全字符串和密钥文件从文件中生成一系列域凭据。

如果ps1文件本身位于我运行它的系统上,那么脚本在本地运行正常。如果ps1文件在另一台机器上,我无法在本地运行该脚本。

以下是我尝试运行的脚本...(此ps1文件位于" server1")

$creds = Import-Csv "\\server1\D$\Credentials\creds.csv"
$key = Get-Content "\\server1\D$\Resources\AES.key"
foreach ($cred in $creds) {
    $user = $cred.User
    $password = $cred.Hash | ConvertTo-SecureString -Key $key
    #$password = "" | ConvertTo-SecureString -AsPlainText -Force
    $i = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $user,$password
New-Variable -Name ($cred.Domain + "_Cred") -Value $i -Force -Verbose
}

我正在尝试使用以下命令从server2运行它...

& '\\server1\D$\Credentials\BuildCreds.ps1'

有什么想法?这是范围问题,还是我用UNC加载文件的事实?我已经尝试了所有我能想到的东西。

1 个答案:

答案 0 :(得分:0)

似乎此问题仅存在于PowerShell ISE中。我在PowerShell中运行了代码,一切正常。

我不太清楚为什么会这样。