繁体   English   中英

在多个服务器上远程执行Powershell脚本

[英]Execute a powershell script on multiple servers remotely

我已经编写了一个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帮助主题。

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

wsman quickconfig

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

winrm s winrm/config/client '@{TrustedHosts="RemoteComputer"}'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM