Invoke-WmiMethod - 快速修复PsRemoting / WinRM问题(用于Invoke-Command用法)

时间:2018-06-06 14:47:38

标签: powershell wmi

如果由于WinRm未运行或PsRemoting被禁用而无法使用Invoke-Command的计算机,这是一个很好的,确定的方式我每次都在我的环境中找到工作:

 $target_comp = "abc1234"

 Invoke-WmiMethod -ComputerName $target_comp -Path win32_process -Name create -ArgumentList "powershell.exe -command Enable-PSRemoting -SkipNetworkProfileCheck -Force"
 Invoke-WmiMethod -ComputerName $target_comp -Path win32_process -Name create -ArgumentList "powershell.exe -command winrm quickconfig -quiet"


 do {
     $testpsremoting = invoke-command -computername $target_comp -scriptblock {"test"}
    } while (!$testpsremoting) 



    #REST OF CODE

说明:

- 计算机名称的变量。
- 运行两个命令以启用PsRemoting并通过Invoke-WmiMethod设置WinRM。
*由于Invoke-WmiMethod立即返回而没有等待实际执行的命令:
- 运行一个循环,直到启用PsRemoting(直到测试Invoke-Command工作)。

不再有Invoke-Command问题!享受并调整您心中的内容。

2 个答案:

答案 0 :(得分:0)

您可以使用Get-wmi直接获得结果

Get-WmiObject Win32_service -ComputerName $poste | select State,Name,DisplayName

答案 1 :(得分:0)

问题已更改为社区提供答案和有用的修复。