feat: adapting to support CimSession and alternative namespaces

Signed-off-by: Sam Storie <sam.storie@emerson.com>
This commit is contained in:
Sam Storie 2021-12-06 13:57:23 -06:00 committed by Ben Reedy
parent 3cf0fa347f
commit 96e081c7d4
No known key found for this signature in database
GPG Key ID: 235C15B6086C9D7E
1 changed files with 7 additions and 4 deletions

View File

@ -2,19 +2,21 @@ Param(
[Parameter(Mandatory=$true)]
$Class,
[Parameter(Mandatory=$false)]
$Namespace = "root/cimv2",
[Parameter(Mandatory=$false)]
$CollectorName = ($Class -replace 'Win32_PerfRawData_Perf',''),
[Parameter(Mandatory=$false)]
$ComputerName = "localhost",
[Parameter(Mandatory=$false)]
$Credential
[CimSession] $Session
)
$ErrorActionPreference = "Stop"
if($Credential -ne $null) {
$wmiObject = Get-CimInstance -ComputerName $ComputerName -Credential $Credential -Class $Class
if($null -ne $Session) {
$wmiObject = Get-CimInstance -CimSession $Session -Namespace $Namespace -Class $Class
}
else {
$wmiObject = Get-CimInstance -ComputerName $ComputerName -Class $Class
$wmiObject = Get-CimInstance -ComputerName $ComputerName -Namespace $Namespace -Class $Class
}
$members = $wmiObject `
@ -22,6 +24,7 @@ $members = $wmiObject `
| Where-Object { $_.Definition -Match '^u?int' -and $_.Name -NotMatch '_' } `
| Select-Object Name, @{Name="Type";Expression={$_.Definition.Split(" ")[0]}}
$input = @{
"Namespace"=$Namespace;
"Class"=$Class;
"CollectorName"=$CollectorName;
"Members"=$members