【问题标题】:Running WinRM quickconfig for remote servers为远程服务器运行 WinRM quickconfig
【发布时间】:2018-08-15 17:48:51
【问题描述】:

我正在编写一个 PowerShell 脚本,它从文件中读取主机列表。我尝试了两种不同的方法,但都遇到了问题。

第一种方法

$WinRM = Invoke-Command -Computer $server -ScriptBlock { WinRM quickconfig }

这会在某些主机上显示以下错误消息:

WSManFault + CategoryInfo : NotSpecified: (WSManFault:String) [], RemoteException + FullyQualifiedErrorId : NativeCommandError + PSComputerName:svclebetapool01.lehi.micron.com 消息 = 访问被拒绝。 错误号:-2147024891 0x80070005 访问被拒绝。

第二种方法

$WinRM = C:\PSTools\PsExec.exe \\$server -s winrm.cmd quickconfig -q

这会将$WinRM 设置为退出代码(成功执行时为1)。如果我使用>>> 重定向输出,则会显示 PsExec 版权。我正在寻找由WinRM quickconfig 命令创建的确切消息,以便知道如何在不同情况下处理它。

【问题讨论】:

    标签: powershell-remoting psexec invoke-command winrm


    【解决方案1】:

    如果您打算启用 PowerShell 远程处理,那么您可以

    C:\PSTools\PsExec.exe \\$server PowerShell.exe -c "Enable-PSRemoting -Force"
    

    wmic /node:$Server process call create "PowerShell.exe -c 'Enable-PSRemoting -Force'"
    

    【讨论】:

    • 我打算做的是在所有远程服务器上运行 winrm quickconfig 命令并返回结果,无论它是否已经配置,防火墙需要启用,或者任何其他可能的结果从中产生。该脚本保存了一个服务器列表,如果需要,我可以进入并配置 WinRM。我尝试了上面提到的两行代码,但仍然收到“访问被拒绝”错误。
    • 您正在运行的帐户应该在远程计算机中具有管理员访问权限,或者如果您具有具有管理员权限的帐户的凭据,您可以使用 psexec-u-p 选项指定相同的权限.
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-26
    • 2021-06-06
    • 2023-04-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多