- 帖子
- 2874
- 积分
- 7021
- 技术
- 336
- 捐助
- 0
- 注册时间
- 2011-6-2
|
[转载代码] [PowerShell每日技巧]加速多个WMI查询(20131128)
Whenever you run Get-WmiObject against a remote system, it will create a new connection. So if you query different WMI classes, each query will use its own connection, which slows down overall performance.
Beginning with PowerShell 3.0, there is a new set of cmdlets. With these cmdlets it is easy to reuse an existing connection to efficiently run multiple queries:
$session = New-CimSession –ComputerName localhost
$os = Get-CimInstance –ClassName Win32_OperatingSystem –CimSession $session
$bios = Get-CimInstance -ClassName Win32_BIOS -CimSession $session
The session by default uses WSMAN:
PS> $session
Id : 1
Name : CimSession1
InstanceId : obb38128-3633-4eb8-8b55-6d9210b89bcd
ComputerName : localhost
Protocol : WSMAN
|
When you create the session, you can specify a different remoting protocol as well, like DCOM.
http://powershell.com/cs/blogs/tips/archive/2013/11/28/speeding-up-multiple-wmi-queries.aspx |
|