Board logo

标题: [转载代码] [PowerShell每日技巧]加速多个WMI查询(20131128) [打印本页]

作者: DAIC    时间: 2013-11-29 17:34     标题: [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




欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2