我正在尝试确定如何使用计算机列表正确调用 Get-WmiObject 的变量。
无论我做什么,我都无法让这段代码工作。
我花了几个小时审查代码来编译我拥有的代码,感觉自己已经完成了 90% 的工作,但无法超越这最后一点。我也是 Powershell 的新手,但正在尝试我的屁股
$comp = Import-CSV .\testlist.csv
foreach $comp{
$cs = Get-CimInstance -ClassName Win32_ComputerSystem -ComputerName $comp
$bios = Get-CimInstance -ClassName Win32_BIOS -ComputerName $comp
$tpm = Get-WmiObject -Namespace root\cimv2\security\microsofttpm -Class Win32_Tpm -computername $comp -Authentication PacketPrivacy
$cos = Get-CimInstance -ClassName Win32_OperatingSystem -computername $comp | select-object Caption, BuildNumber, OSArchitecture
$properties = [ordered]@{
'ComputerName' = $comp;
'Model' = $cs.Model;
'Operating System' = $cos.Caption
'OS build' = $cos.BuildNumber
'OS Type' = $cos.OSArchitecture
'BIOSVersion' = $bios.SMBIOSBIOSVersion
'TPM ManufacturerId' = $tpm.ManufacturerId
'TPM Firmware version' = $tpm.ManufacturerVersion
'TPM SpecVersion' = $tpm.SpecVersion
)
}| Export-Csv -Path .\Result.csv -NoTypeInformation
错误信息:
新文本 Document.ps1:4 char:8 + foreach $comp{ + ~ 在关键字“foreach”之后缺少开头“(”。
新文本 Document.ps1:4 char:14 + foreach $comp{ + ~ 表达式或语句中出现意外标记“{”。
新文本 Document.ps1:22 char:39 + 'TPM SpecVersion' = $tpm.SpecVersion + ~ 哈希文字不完整。
新文本 Document.ps1:4 char:14 + foreach $comp{ + ~ 在语句块或类型定义中缺少结束“}”。
新文本 Document.ps1:23 char:3 + ) + ~ 表达式或语句中出现意外标记 ')'。
新文本文档.ps1:26 char:1 + }| Export-Csv -Path .\Result.csv -NoTypeInformation + ~ 表达式或语句中出现意外标记“}”。
新文本 Document.ps1:26 char:2 + }| Export-Csv -Path .\Result.csv -NoTypeInformation + ~
不允许使用空的管道元素。+ CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException + FullyQualifiedErrorId : MissingOpenParenthesisAfterKeyword