如何将 WmiObject -Class win32_logialdisk 或其他 WmiIbjects 保存在 PowerShell 数组中并保存在 CSV 中
How to save WmiObject -Class win32_logialdisk or others WmiIbjects in a PowerShell array and save in CSV
我尝试在 CSV 文件中提取 Get-WmiObject -Class Win32_LocalDisk
的值,但我得到的是 CSV 而不是仅获取 SystemObject[]
.
的值
stat3.csv 文件包含:
"#TYPE System.Management.Automation.PSCustomObject,
"Disk"
"10.10.0.177","System.Object[]"
如何获取值而不是 System.Object[]
字符串?
$list = gc D:\Foo\script\bahh.txt
foreach ($line in $list) {
$creds = get-credential
echo $IP
$creds = Get-Credential
$disk = Get-WmiObject -Class Win32_LogicalDisk -ComputerName $IP |
ft DeviceID, @{Name="Free Disk Space (GB)";e={$_.FreeSpace /1GB}},
@{Name="Total Disk Size (GB)";e={$_.Size /1GB}} -AutoSize
$data | Add-Member NoteProperty -Name Disk -Value $disk
$data | Export-Csv "D:\Foo\script\stat3.csv"
}
}
假设您的文件中有一个简单的 IP 地址或计算机名称列表 bahh.txt
,您可以这样做:
$list = Get-Content -Path 'D:\Foo\script\bahh.txt'
$Results = foreach($IP in $list){
$disks = Get-WmiObject -Class win32_logicaldisk -ComputerName $IP
$CmpSstm = Get-WmiObject -Class win32_computersystem -ComputerName $IP
foreach($disk in $Disks){
[PSCustomObject]@{
'IP Address' = $IP
'DeviceID' = $disk.DeviceID
'Free Disk Space (GB)' = $disk.FreeSpace/1GB
'Total Disk Size (GB)' = $disk.Size/1GB
'Physical Processors' = $CmpSstm.NumberofProcessors
'Logical Processors' = $CmpSstm.maxclockspeed
'TotalPhysicalMemory (GB)' = [math]::truncate($CmpSstm.TotalPhysicalMemory /1GB)
}
}
}
$Results | Export-Csv -Path 'D:\Foo\script\stat3.csv'
我尝试在 CSV 文件中提取 Get-WmiObject -Class Win32_LocalDisk
的值,但我得到的是 CSV 而不是仅获取 SystemObject[]
.
stat3.csv 文件包含:
"#TYPE System.Management.Automation.PSCustomObject, "Disk" "10.10.0.177","System.Object[]"
如何获取值而不是 System.Object[]
字符串?
$list = gc D:\Foo\script\bahh.txt
foreach ($line in $list) {
$creds = get-credential
echo $IP
$creds = Get-Credential
$disk = Get-WmiObject -Class Win32_LogicalDisk -ComputerName $IP |
ft DeviceID, @{Name="Free Disk Space (GB)";e={$_.FreeSpace /1GB}},
@{Name="Total Disk Size (GB)";e={$_.Size /1GB}} -AutoSize
$data | Add-Member NoteProperty -Name Disk -Value $disk
$data | Export-Csv "D:\Foo\script\stat3.csv"
}
}
假设您的文件中有一个简单的 IP 地址或计算机名称列表 bahh.txt
,您可以这样做:
$list = Get-Content -Path 'D:\Foo\script\bahh.txt'
$Results = foreach($IP in $list){
$disks = Get-WmiObject -Class win32_logicaldisk -ComputerName $IP
$CmpSstm = Get-WmiObject -Class win32_computersystem -ComputerName $IP
foreach($disk in $Disks){
[PSCustomObject]@{
'IP Address' = $IP
'DeviceID' = $disk.DeviceID
'Free Disk Space (GB)' = $disk.FreeSpace/1GB
'Total Disk Size (GB)' = $disk.Size/1GB
'Physical Processors' = $CmpSstm.NumberofProcessors
'Logical Processors' = $CmpSstm.maxclockspeed
'TotalPhysicalMemory (GB)' = [math]::truncate($CmpSstm.TotalPhysicalMemory /1GB)
}
}
}
$Results | Export-Csv -Path 'D:\Foo\script\stat3.csv'