0

我编写了一个powershell脚本,用于卸载程序并在我的服务器上安装更新版本的程序(更新程序)。现在我想创建另一个在服务器上运行上述脚本的脚本。考虑到我必须通过使用 IP、用户名和密码连接到我的服务器,并且使用域不是一个选项。这怎么可能?Powershell 版本为 4

我试过这段代码来简单地获取日期:

$User = "administrator"
$PWord = ConvertTo-SecureString -String "Password1234" -AsPlainText -Force
$Credential = New-Object -TypeName "System.Management.Automation.PSCredential" -ArgumentList $User, $PWord
$session = New-PSSession -ComputerName '10.60.60.100' -Credential $Credential
Invoke-Command -Session $session -ScriptBlock {Get-Date}

我得到了这个错误:

New-PSSession : [10.60.60.100] 连接到远程服务器 10.60.60.100 失败并显示以下错误消息:WinRM 客户端无法处理请求。如果身份验证方案与 Kerberos 不同,或者客户端计算机未加入域,则必须使用 HTTPS 传输或必须将目标计算机添加到 TrustedHosts 配置设置。使用 winrm.cmd 配置 TrustedHosts。请注意,TrustedHosts 列表中的计算机可能未经过身份验证。您可以通过运行以下命令获得更多信息:winrm help config。有关详细信息,请参阅 about_Remote_Troubleshooting 帮助主题。

4

1 回答 1

2

这是因为您没有从受信任的主机运行命令,或者因为远程计算机 wsman 服务配置不正确。我首先运行以下命令在远程机器上配置 wsman:

wsman quickconfig

如果这不能解决问题,那么您需要将您的计算机添加到远程计算机受信任的主机。您可以通过运行以下命令来做到这一点:

winrm s winrm/config/client '@{TrustedHosts="RemoteComputer"}'
于 2018-06-24T10:23:55.430 回答