我需要在具有管理员权限的远程计算机上执行Powershell脚本。
我有2个脚本:客户端和服务器。
当我启动client.ps1时,我在服务器计算机上调用命令,但出现访问错误。如果我在server.ps1中使用简单的代码(如写入主机“hello”),则不会出错。
server.ps1:
Get-service -ComputerName 'client'
client.ps1:
$ScriptBlockContent = {
d:\server.ps1
}
$remote=New-PSSession -ComputerName 'server'
Invoke-Command $remote -ScriptBlock $ScriptBlockContent
最佳答案
您的问题是身份验证。您必须启用服务器才能使用您的凭据。您可以使用CredSSP
做到这一点。
Enable-WSManCredSSP-角色客户端-DelegateComputer ServerName此处
Enable-WSManCredSSP-角色服务器
Invoke-Command
中:-Credential Domain\YourUsername -Authentication CredSSP
需要说明的是:使用CredSSP,如果您连接到受感染的系统(与RDP相同),则很容易窃取您的凭据。确保仅在安全计算机上执行此操作。
关于powershell - 在远程计算机上运行.ps1,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43968015/