mirror of
https://github.com/bin456789/reinstall.git
synced 2025-12-10 07:28:56 +08:00
core: 支持无 wmic 下运行
This commit is contained in:
36
wmic.ps1
Normal file
36
wmic.ps1
Normal file
@ -0,0 +1,36 @@
|
||||
param(
|
||||
[string]$Namespace,
|
||||
[string]$Class,
|
||||
[string]$Filter,
|
||||
[string]$Properties
|
||||
)
|
||||
|
||||
$propertiesToDisplay = if ($Properties) { $Properties.Split(",") } else { @("*") }
|
||||
|
||||
$wmiQuery = @{
|
||||
Namespace = $Namespace
|
||||
Class = $Class
|
||||
}
|
||||
|
||||
if ($Filter) {
|
||||
$wmiQuery.Filter = $Filter
|
||||
}
|
||||
|
||||
Get-WmiObject @wmiQuery | ForEach-Object {
|
||||
$_.PSObject.Properties | Where-Object {
|
||||
-not $_.Name.StartsWith("__") -and
|
||||
($propertiesToDisplay -contains $_.Name -or $propertiesToDisplay -contains "*")
|
||||
} | ForEach-Object {
|
||||
$name = $_.Name
|
||||
$value = $_.Value
|
||||
|
||||
# 改成 wmic 的输出格式
|
||||
if ($value -is [Array]) {
|
||||
$formattedValue = ($value | ForEach-Object { "`"$_`"" }) -join ","
|
||||
Write-Output "$name={$formattedValue}"
|
||||
}
|
||||
else {
|
||||
Write-Output "$name=$value"
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user