Expert,
I have script which call for many WMIobject for many servers.
I tried with Get-WMIObject as well as using Get-CIMInstance method with new-cimsession.
But it took very long time to get all result.
Any way that i can tune the script to get me result fast?
Following is the script block i am running with invoke-command for many servers.
$ScriptBlock = {
$instance = new-cimsession
$ComputerSys = get-ciminstance -classname win32_computersystem -CimSession $instance
$Logicadisk = get-ciminstance -classname win32_logicaldisk -CimSession $instance
$service = get-ciminstance -classname win32_service -CimSession $instance
$PnPDriver = get-ciminstance -classname Win32_PnPSignedDriver -CimSession $instance
$NetAdapter = get-ciminstance -classname Win32_NetworkAdapter -CimSession $instance
$NetAdapterConfig = get-ciminstance -classname Win32_NetworkAdapterConfiguration -CimSession $instance | ?{$.ipaddress -ne $null}
$Product = get-ciminstance -classname Win32_Product -CimSession $instance
$QFE = get-ciminstance -classname Win32_QuickFixEngineering -CimSession $instance
$Processor = get-ciminstance -classname Win32_Processor -CimSession $instance
$BIOS = get-ciminstance -classname Win32_BIOS -CimSession $instance
$OSCIM = get-ciminstance -classname Win32_OperatingSystem -CimSession $instance
$OS = Get-WmiObject win32_operatingsystem
$PF = get-ciminstance -classname Win32_PageFile -CimSession $instance
$OSTimeZone = get-ciminstance -classname Win32_TimeZone -CimSession $instance
$License = get-ciminstance -classname SoftwareLicensingProduct -CimSession $instance | ?($.Description -like “VOLUME_KMSCLIENT channel”)
$start = Invoke-Command -ComputerName $Server -ScriptBlock $ScriptBlock
Also tried with
$start = Invoke-Command -ComputerName $Server -ScriptBlock $ScriptBlock -AsJob -JobName “$server-Job”
but facing problem with getting variable from Job
Please help …!