我的本地计算机名称是LOCAL-MACHINE, 远程计算机名称是REMOTE-MACHINE。
我希望在本地计算机上发出powershell cmdlet, 通过Enter-PSSession连接到远程计算机, 并在远程计算机的pssession上执行hostname.exe, 然后退出。
我在本地计算机Powershell ISE上发出这些命令。
$password = ConvertTo-SecureString "Mypassword" -AsPlainText -Force
$cred=new-object System.Management.Automation.PSCredential("domain\user",$password)
Enter-PSSession -ComputerName REMOTE-MACHINE -Port 5986 -Credential $cred -UseSSL -SessionOption (New-PSSessionOption -SkipCACheck -SkipCNCheck)
hostname.exe
Exit-PSSession
我希望得到结果:
REMOTE-MACHINE
但是我得到这个结果(本地计算机名称):
LOCAL-MACHINE
我该怎么办?
答案 0 :(得分:0)
这是因为Enter-PSSession在脚本中不起作用。请改用Invoke-Command:
$password = ConvertTo-SecureString "Mypassword" -AsPlainText -Force
$cred=new-object System.Management.Automation.PSCredential("domain\user",$password)
Invoke-Command -ComputerName REMOTE-MACHINE -Port 5986 -Credential $cred -UseSSL -SessionOption (New-PSSessionOption -SkipCACheck -SkipCNCheck) -scriptblock {
hostname.exe
}