Get-CimInstance повторяет вывод несколько раз

Я пытаюсь получить последний отчет о времени загрузки, и мой сценарий повторяет один и тот же вывод 8 раз, я уверен, что это синтаксическая ошибка. Вот что у меня есть:

$ServerName = (Get-Content -Path 
D:\Users\Admin.sa\Desktop\Computerlist.txt)

##### Script Starts Here ######  

foreach ($Server in $ServerName) {Get-CimInstance -Cn $Servername -ClassName 
win32_operatingsystem | select csname,lastbootuptime}

Format-Table -AutoSize

2 ответа

Я считаю, что проблема находится внутри вашего for петля. Пытаться:

$ServerName = (Get-Content -Path "D:\Users\Admin.sa\Desktop\Computerlist.txt")

##### Script Starts Here ######  

foreach ($Server in $ServerName) {Get-CimInstance -Cn $Server -ClassName win32_operatingsystem | select csname,lastbootuptime}

Format-Table -AutoSize

Итак, ваша проблема в том, что когда вы выполняете цикл for, вы используете неправильную переменную. Помните, что когда вы используете цикл for, вы должны использовать $Server Не $ServerName

так:

$ServerName = (Get-Content -Path 
D:\Users\Admin.sa\Desktop\Computerlist.txt)

##### Script Starts Here ######  

foreach ($Server in $ServerName) {Get-CimInstance -Cn $Server -ClassName 
win32_operatingsystem | select csname,lastbootuptime}

Format-Table -AutoSize
Другие вопросы по тегам