1
PowerShell的第5版构建10586PowerShell的 - 在C执行PowerShell脚本:远程服务器的驱动
我使用下面的代码远离我的本地PC连接到服务器
$cimSession = New-CimSession -ComputerName "SERVERNAME.DOMAIN.COM"
Invoke-Command -ComputerName SERVERNAME -ScriptBlock {Get-ChildItem “C:\Temp\ps”}
Invoke-Command -ComputerName SERVERNAME -FilePath "\\SERVERNAME\c$\Temp\ps\PS_SCRIPT_FILE.ps1"
Remove-CimSession -CimSession $cimSession
的第一个命令能够成功运行并在远程服务器上看到PowerShell文件。
第二个命令失败,出现错误:
Invoke-Command : Cannot find path '\\SERVERNAME\c$\Temp\ps\PS_SCRIPT_FILE.ps1' because it does not exist.
有另一种方式来调用/远程服务器上的C驱动器运行PowerShell脚本?
- 我已授予我的帐户对指定文件的完全访问权限。
- 我也尝试共享指定的文件夹,并给我自己的文件夹的读/写访问权限。
- 我已将文件路径更改为共享路径并获得相同的结果。
Invoke-Command -ComputerName SERVERNAME -FilePath "\\SERVERNAME\ps\PS_SCRIPT_FILE.ps1"
请注意,您的'Invoke-Command'命令没有使用'$ cimSession',它们使用WinRM协议来调用这些命令,而不是WSMAN。这就是第一个命令起作用的原因。在上面的示例中,您甚至不需要建立CimSession。要么已经在可以使用WinRM的证书下运行;或者如果您未通过远程服务器的身份验证,则使用'-Credentials'选项传递凭据。 https://technet.microsoft.com/en-au/library/hh849719.aspx – lantrix