$servers = Import-Csv "sources.csv"
импортирует содержание sources.csv
в виде списка пользовательских объектов в переменную $servers
.
$computername = $servers.server
выбирает значение свойства server
каждого объекта в переменной $computername
, тем самым генерируя список имен компьютеров.
$ServiceName = $servers.services
выбирает значение свойства services
каждого объекта в переменной $ServiceName
, создавая таким образом список имен служб.
Обратите внимание, что $array.property
будет работать только в PowerShell v3 и новее, поскольку более ранние версии не автоматически разворачивают массив, чтобы получить свойства элемента, но попытайтесь получить доступ к свойству самого объекта массива. Если массив не обладает таким свойством, результатом будет $null
, иначе это будет значение свойства массива. В любом случае это не то, что вы хотите. Для того, чтобы сделать работу расширения собственности через все версии PowerShell используют Select-Object -Expand
или эхо собственности в ForEach-Object
заявления:
$computername = $servers | Select-Object -Expand server
$computername = $servers | ForEach-Object { $_.server }
Когда вы кладете массив переменные в строке ("$computername - $ServiceName"
) элементы массива присоединяются к $OFS
(пробел по умолчанию), поэтому "$computername"
становится BRWS40 BRWS84
и "$ServiceName"
становится winrm winrm
.
Чтобы получить соответствующее имя службы для каждого компьютера, необходимо обработать $servers
в цикле, например:
foreach ($server in $servers) {
Write-Host ('{0} - {1}' -f $server.Server, $server.Services) ...
}
Если вам не нужен конкретный формат вывода можно также использовать один из Format-*
командлеты, например Format-Table
:
Import-Csv "sources.csv" | Format-Table -AutoSize
Спасибо за оба ваши ответа, теперь я могу исправить это и закончить свой сценарий. Я видел сервер $ _., Который использовался ранее, но просто не понял, как он использовался. Теперь я лучше понимаю это. Я занимаюсь созданием скрипта, который будет запускать и проверять различные службы на разных компьютерах. , используя заимствованный код с нескольких сайтов, этот сайт действительно очень помогает. Еще раз спасибо, это очень ценится. , – yardyy