这似乎非常简单,但我似乎无法在任何地方找到如何执行此操作的语法。
我目前的脚本是:
Get-WmiObject Win32_Bios -ComputerName $Env:COMPUTERNAME |
Select-Object SerialNumber |
Out-File "$env:SystemDrive\IT Logs\serial.csv"
我想操纵它只是序列号,而不是文字说" SerialNumber"上面它输出到单行.csv文件。
我的目标是在每台计算机上运行此脚本,并将.csv文件发送到标签打印机以获取资产标签。这甚至可能吗?
答案 0 :(得分:1)
如果您希望\IT Logs\Serial.txt
文件包含当前计算机的序列号,可以这样写:
Get-WmiObject Win32_BIOS |
Select-Object -ExpandProperty SerialNumber |
Out-File "$Env:SystemDrive\IT Logs\Serial.txt"
在这种情况下,文本文件将仅包含序列号。如果您希望使用ASCII而不是UNICODE格式,请将-Encoding ASCII
与Out-File
一起使用。
如果您真的想要输出CSV文件,可以写下:
Get-WmiObject Win32_BIOS |
Select-Object SerialNumber |
Export-Csv "$Env:SystemDrive\IT Logs\Serial.csv" -NoTypeInformation
在这种情况下,我们省略-ExpandProperty
输出对象(不仅仅是属性)并使用Export-Csv
创建CSV文件(而不是Out-File
)。
答案 1 :(得分:0)
仅选择属性值的第一部分问题的两种方法。
第一个是Bill_Stewart的评论建议:
Select-Object -ExpandProperty SerialNumber |
或者:
(gwmi win32_bios -ComputerName $Env:COMPUTERNAME).SerialNumber
对于第二期打印问题,您可以使用Out-Printer
之类的内容来避免.CSV中间步骤