0
我遇到了无法解决的问题。我试图在服务器上本地运行脚本,该脚本存在于远程服务器上。它是我创建的一个脚本,它使用安全字符串和密钥文件从文件中创建一系列域凭证。如果PS1文件本身就是我运行在系统上从远程位置本地运行PowerShell脚本
脚本本地工作的罚款。如果ps1文件在另一台机器上,我无法在本地运行脚本。
这里是我试图运行脚本...(这PS1文件是“服务器1”)
$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
}
我尝试使用以下命令从服务器2运行...
& '\\server1\D$\Credentials\BuildCreds.ps1'
有什么想法?这是范围问题,还是我正在使用UNC加载文件?我试过了我能想到的一切。
错误消息将会有用。 – Robin
从未在('\\ server1:\ Credentials')之前的unc路径中看到':',看起来像是一个错误。一直是'\\ server \ share \ folder \ file.txt' –
你也可能会遇到[Kerberos Double Hop问题](https://blogs.technet.microsoft.com/ashleymcglone/2016/08/ 30/powershell-remoting-kerberos-double-hop-resolved-safely /)“我在ServerA上,连接到ServerB,我需要到达ServerC,我有权访问ServerC,但我仍然访问拒绝。 ServerB将证书传递给ServerC“。 –