我正在尝试编写一个PowerShell脚本,将2个WMI命令组合在一起
这就是我目前所拥有的。 我试图得到这种类型的输出我正在尝试编写一个PowerShell脚本,将2个WMI命令组合在一起,powershell,Powershell,这就是我目前所拥有的。 我试图得到这种类型的输出 Get-WmiObject -Class Win32_ComputerSystem; -Class Win32_Bios -ComputerName computer001, computer002 | Name, Caption, Identifyingnumber, vendor, UserName Export-CSV ComputerList.csv 如果可以将它导出到带有标题的excel中,那也太好了。我有10个远程商店我需要运行这
Get-WmiObject -Class Win32_ComputerSystem; -Class Win32_Bios -ComputerName computer001, computer002 | Name, Caption, Identifyingnumber, vendor, UserName Export-CSV ComputerList.csv
如果可以将它导出到带有标题的excel中,那也太好了。我有10个远程商店我需要运行这个 您需要为每个WMI类使用一个
Get WmiObject
调用,并使用组合数据创建一个自定义对象。例:
Model: OptiPlex 760
Name: Computer006
UserName: Domain\UserName
SerialNumber: M4RQFQZ
您可以使用管道通过格式列表模型、名称、用户名、序列号来获取列表视图,但如果您想导出它,我将不工作(要导出,请将其直接管道到导出CSV…
)
正如您所看到的,我有一台定制的计算机,但它应该为预构建的OEM机器显示正确的型号和序列号值。PowerShell脚本非常有效!!!谢谢你。。。。我只是无法将其导出到CSV。我总是出错。导出Csv:无法将“System.Object[]”转换为参数“Delimiter”所需的类型“System.Char”。不支持指定的方法。在第11行char:11+Export CSV,您不能写入Export CSV c:\CSVTest.CSV$CS,$BIOS
。您可以通过管道将其直接导出csv(随机列顺序),方法是将最后一行(}
)修改为}导出csv-Path“c:\CSVTest.csv”
,或者通过执行选择对象
如}选择对象模型、名称、用户名、序列号|导出csv-Path“c:\CSVTest csv.csv”
#$servers = "computer001", "computer002"
$servers = "localhost", "localhost" #test
$servers | ForEach-Object {
$CS = Get-WmiObject -Class Win32_ComputerSystem -ComputerName $_
$BIOS = Get-WmiObject -Class Win32_Bios -ComputerName $_
New-Object -TypeName psobject -Property @{
Model = $CS.Model
Name = $CS.Name
UserName = $CS.UserName
SerialNumber = $BIOS.SerialNumber
}
}
UserName Name Model SerialNumber
-------- ---- ----- ------------
FRODEPC\Frode FRODEPC System Product Name System Serial Number
FRODEPC\Frode FRODEPC System Product Name System Serial Number
Model : System Product Name
Name : FRODEPC
UserName : FRODEPC\Frode
SerialNumber : System Serial Number
Model : System Product Name
Name : FRODEPC
UserName : FRODEPC\Frode
SerialNumber : System Serial Number