运行 .ps1 在远程机器上
Run .ps1 on remote machine
我需要在具有管理员权限的远程计算机上执行 powershell 脚本。
我有 2 个脚本:客户端和服务器。
当我启动客户端时。ps1 我在服务器计算机上调用命令但出现访问错误。如果我在 server.ps1 中使用简单代码,我不会收到任何错误消息,例如 write-host "hello".
服务器。ps1:
Get-service -ComputerName 'client'
客户端。ps1:
$ScriptBlockContent = {
d:\server.ps1
}
$remote=New-PSSession -ComputerName 'server'
Invoke-Command $remote -ScriptBlock $ScriptBlockContent
您的客户端正在尝试打开 D:\server.ps1 但访问被拒绝。您的脚本块甚至不包含使 powershell 处理服务器内容的必要代码。无论如何 ps1。你的方法太复杂了。
您需要正确定义脚本块:
$scriptblock = { Get-service -ComputerName 'client' }
$remote=New-PSSession -ComputerName 'server'
Invoke-Command $remote -ScriptBlock $scriptblock
运行 此命令将连接到名为 'Server'
的机器并告诉它 运行 Get-Service
on 'Client'
你不需要 client.ps1
和 server.ps1
都可以从 1 个脚本完成。
您还需要确保 winrm
已 运行 并且已在服务器上配置。
您的问题是身份验证。您必须启用服务器才能为此使用您的凭据。您可以使用 CredSSP
.
来完成此操作
在您的客户端上启用此功能:
启用-WSManCredSSP -角色客户端-DelegateComputer ServerNameHere
在您的服务器上启用它:
启用-WSManCredSSP -角色服务器
现在将此添加到您的 Invoke-Command
:
-Credential Domain\YourUsername -Authentication CredSSP
对此的评论:使用 CredSSP,如果您连接到受感染的系统(与 RDP 相同),则很容易窃取您的凭据。请确保仅在安全的计算机上执行此操作。
我需要在具有管理员权限的远程计算机上执行 powershell 脚本。 我有 2 个脚本:客户端和服务器。 当我启动客户端时。ps1 我在服务器计算机上调用命令但出现访问错误。如果我在 server.ps1 中使用简单代码,我不会收到任何错误消息,例如 write-host "hello".
服务器。ps1:
Get-service -ComputerName 'client'
客户端。ps1:
$ScriptBlockContent = {
d:\server.ps1
}
$remote=New-PSSession -ComputerName 'server'
Invoke-Command $remote -ScriptBlock $ScriptBlockContent
您的客户端正在尝试打开 D:\server.ps1 但访问被拒绝。您的脚本块甚至不包含使 powershell 处理服务器内容的必要代码。无论如何 ps1。你的方法太复杂了。
您需要正确定义脚本块:
$scriptblock = { Get-service -ComputerName 'client' }
$remote=New-PSSession -ComputerName 'server'
Invoke-Command $remote -ScriptBlock $scriptblock
运行 此命令将连接到名为 'Server'
的机器并告诉它 运行 Get-Service
on 'Client'
你不需要 client.ps1
和 server.ps1
都可以从 1 个脚本完成。
您还需要确保 winrm
已 运行 并且已在服务器上配置。
您的问题是身份验证。您必须启用服务器才能为此使用您的凭据。您可以使用 CredSSP
.
在您的客户端上启用此功能:
启用-WSManCredSSP -角色客户端-DelegateComputer ServerNameHere
在您的服务器上启用它:
启用-WSManCredSSP -角色服务器
现在将此添加到您的
Invoke-Command
:
-Credential Domain\YourUsername -Authentication CredSSP
对此的评论:使用 CredSSP,如果您连接到受感染的系统(与 RDP 相同),则很容易窃取您的凭据。请确保仅在安全的计算机上执行此操作。