获取列表中每台计算机的序列号(Powershell)

时间:2013-11-22 07:51:46

标签: powershell powershell-v2.0

我想获取计算机列表的序列号。 我创建了一个PowerShell脚本,如下所示:


$computers = Get-Content c:\pstest\computerlist.txt

Get-wmiobject win32_bios | ForEach-Object {$_.serialnumber}

我得到的全部内容如下:

PS C:\pstest> .\pstest01.ps1
R6Z00180

我该怎么做?

3 个答案:

答案 0 :(得分:3)

ComputerName参数接受一组名称,以便您可以将文件的内容传递给它:

$computers = Get-Content c:\pstest\computerlist.txt
Get-wmiobject Win32_Bios -ComputerName $computers | Select-Object __SERVER, SerialNumber

答案 1 :(得分:0)

Get-WmiObject有一个-ComputerName参数:

$computers | foreach { (Get-WmiObject Win32_BIOS -Computername $_).SerialNumber }

答案 2 :(得分:0)

阐述Shay的回答。 如果你坚持要把所有东西放在一个管道中:

Get-WmiObject Win32_Bios -ComputerName (Get-Content c:\pstest\computerlist.txt) | 
Select-Object __SERVER, SerialNumber