Я пытаюсь определить, как правильно вызвать переменную для 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
Сообщение об ошибке:
New Text Document.ps1: 4 char: 8 + foreach $ comp {+ ~ Отсутствует открытие '(' после ключевого слова 'foreach'.
New Text Document.ps1: 4 char: 14 + foreach $ comp {+ ~ Неожиданный токен '{' в выражении или инструкции.
New Text Document.ps1: 22 символа: 39 + 'TPM SpecVersion' = $ tpm.SpecVersion + ~ Хэш-литерал был неполным.
Новый текст Document.ps1: 4 символа: 14 + foreach $ comp {+ ~ Отсутствует закрывающий '}' в блоке оператора или определении типа.
New Text Document.ps1: 23 символа: 3 +) + ~ Неожиданный токен ')' в выражении или инструкции.
Новый текст Document.ps1: 26 символов: 1 +} | Export-Csv -Path. \ Result.csv -NoTypeInformation + ~ Неожиданный токен '}' в выражении или инструкции.
Новый текст Document.ps1: 26 символов: 2 +} | Экспорт-CSV -Путь. \ Result.csv -NoTypeInformation + ~
Пустой элемент трубы не допускается. + CategoryInfo: ParserError: (:) [], ParentContainsErrorRecordException + FullyQualifiedErrorId: MissingOpenParenthesisAfterKeyword
foreach $comp{
НЕ то, как вызывается цикл foreach. [ухмылка] должно быть что-то вродеforeach ($Thing in $Collection) {Do-Stuff -With ParameterInfo}
. - person Lee_Dailey   schedule 31.05.2019