问题描述
我对 Powershell 脚本很陌生,在这里不知所措。我们正在尝试构建一个脚本,该脚本最终将从一个域中的所有系统中收集许多从文本文件中提取的详细信息,从中查询特定数据,然后将此数据导出到 CSV 文件作为“入职”操作。
下面的代码是我目前正在使用的代码,它可以很好地提取信息,但它仅适用于系统列表中的一个系统。如果我们在 txt 文件中有 10 个系统,它只会列出该系统的信息 10 次。我错过了什么,或者我是否以错误的方式处理这个问题?
$SERVERS = Get-Content C:\TEMP\Systems.txt
Foreach ($Server in $Servers)
{
$Name = (Get-CimInstance -ClassName Win32_ComputerSystem).Name
$Manufacturer = (Get-CimInstance -ClassName Win32_ComputerSystem).Manufacturer
$Model = (Get-CimInstance -ClassName Win32_ComputerSystem).Model
$SerialNumber = (Get-CimInstance -ClassName Win32_BIOS).SerialNumber
$OS = (Get-CimInstance -ClassName Win32_OperatingSystem).Caption
$SERVERS |
ForEach-Object{
[pscustomobject]@{
NAME=(@($Name)| Out-String).Trim()
MAKE=(@($Manufacturer)| Out-String).Trim()
MODEL=(@($Model)| Out-String).Trim()
SERIALNUMBER=(@($SerialNumber)| Out-String).Trim()
OS=(@($OS)| Out-String).Trim()
}
} |
Export-Csv C:\TEMP\somefile.csv -NoTypeinformation
}
以下是针对包含 10 个系统(DC01-DC05 和 FP01-FP05)的 txt 文件运行时示例输出文件图像的链接。我们看到的只有 10 行,里面有 DC01 的收集数据。
感谢您的耐心和您可以提供的任何帮助。
-帕特
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)