重启后启用 PSRemoting 的最快方法?使用 WMI 方法的长时间延迟
Quickest way to enable PSRemoting after a reboot? Long delay with WMI Method
在我们的环境中,我经常需要重新启动计算机,然后通过 Invoke-Command
向它发送命令。为此,我显然需要在目标机器上启用 PSRemoting。
它在我们所有的机器上默认启用,但是在重新启动后它需要一段时间才能自行启动。
我正在使用 Invoke-WmiMethod
在计算机发出 ping 命令时强制启用它,而不是等待。
效果很好,但有时需要 30-40 秒才能启动。如果我让它自己启动,它仍然比 2-5 分钟要快。
我使用的命令是:
Invoke-WmiMethod -ComputerName $poste -Path Win32_Process -Name create -ArgumentList "powershell.exe -command Enable-PSRemoting -SkipNetworkProfileCheck -Force"
我的问题是:
- 为什么在该命令运行后需要这么长时间才能真正启用?
- 您是否有更好的方法建议通过 WMI 或其他方式启用 PSRemoting?
tldr;
当 运行 Enable-PSRemoting
启动 WinRM
服务时,您真正在做的所有事情,该命令所做的一切都会被跳过,因为您已经配置了它。
WinRM
服务设置为 Automatic Delayed Start
- 为了使其启动更快,请将其更改为 Automatic
。
您指的 'delay' 是 Windows 启动 WinRM
服务的延迟。
启动时启动的服务有两个选项:
Automatic
将在 Windows 本身加载后尽快启动服务
Automatic Delayed Start
将在短暂延迟后启动服务
这两种类型的原因是资源争用 - 让每个服务同时启动将使用大量资源,最终用户会注意到这是一种减速。
有效管理资源 Windows 所必需的服务将设置为 Automatic
并同时启动。这会消耗大量系统资源,但用户别无选择,因为 Windows 通常需要这些服务才能正常工作。
但对于非必需的服务,Delayed Start
是更好的选择。当所有 Automatic
服务都已启动时,它们会启动 "shortly after boot"。这些通常是次要功能的服务 - 例如更新程序服务。
WinRM
服务设置为 Automatic Delayed Start
- 为了使其启动更快,请将其更改为 Automatic
。你会因此而受到性能影响,所以在进行大量更改之前测试它。
IMO - 不要更改服务启动,使用代码来处理此延迟...
例如,带有 Wait
参数的 Restart-Computer
将重启远程计算机并在继续之前等待连接:
Restart-Computer -ComputerName "Server01" -Wait -For PowerShell -Timeout 300 -Delay 2
在我们的环境中,我经常需要重新启动计算机,然后通过 Invoke-Command
向它发送命令。为此,我显然需要在目标机器上启用 PSRemoting。
它在我们所有的机器上默认启用,但是在重新启动后它需要一段时间才能自行启动。
我正在使用 Invoke-WmiMethod
在计算机发出 ping 命令时强制启用它,而不是等待。
效果很好,但有时需要 30-40 秒才能启动。如果我让它自己启动,它仍然比 2-5 分钟要快。
我使用的命令是:
Invoke-WmiMethod -ComputerName $poste -Path Win32_Process -Name create -ArgumentList "powershell.exe -command Enable-PSRemoting -SkipNetworkProfileCheck -Force"
我的问题是:
- 为什么在该命令运行后需要这么长时间才能真正启用?
- 您是否有更好的方法建议通过 WMI 或其他方式启用 PSRemoting?
tldr;
当 运行 Enable-PSRemoting
启动 WinRM
服务时,您真正在做的所有事情,该命令所做的一切都会被跳过,因为您已经配置了它。
WinRM
服务设置为 Automatic Delayed Start
- 为了使其启动更快,请将其更改为 Automatic
。
您指的 'delay' 是 Windows 启动 WinRM
服务的延迟。
启动时启动的服务有两个选项:
Automatic
将在 Windows 本身加载后尽快启动服务Automatic Delayed Start
将在短暂延迟后启动服务
这两种类型的原因是资源争用 - 让每个服务同时启动将使用大量资源,最终用户会注意到这是一种减速。
有效管理资源 Windows 所必需的服务将设置为 Automatic
并同时启动。这会消耗大量系统资源,但用户别无选择,因为 Windows 通常需要这些服务才能正常工作。
但对于非必需的服务,Delayed Start
是更好的选择。当所有 Automatic
服务都已启动时,它们会启动 "shortly after boot"。这些通常是次要功能的服务 - 例如更新程序服务。
WinRM
服务设置为 Automatic Delayed Start
- 为了使其启动更快,请将其更改为 Automatic
。你会因此而受到性能影响,所以在进行大量更改之前测试它。
IMO - 不要更改服务启动,使用代码来处理此延迟...
例如,带有 Wait
参数的 Restart-Computer
将重启远程计算机并在继续之前等待连接:
Restart-Computer -ComputerName "Server01" -Wait -For PowerShell -Timeout 300 -Delay 2