В вашем сообщении говорится, что вы хотите лист Excel, но ваш код выводится в CSV. Вы не можете добавить второй лист в CSV. Вы можете экспортировать различные файлы CSV для каждого объекта компьютера.
$results = for($room=102; $room -le 110; $room++) {
Get-ADComputer -SearchBase $oubase -Properties Name, Description -Filter * |
Where-Object {$_.description -clike "*RM $Room"}
}
$results |
Select-Object Name, Description | Foreach-Object {
$_ | Export-CSV -Path ("\\Desktop\{0}.csv" -f $_.Name) -NoTypeInformation -Encoding UTF8 -Append
Если проблема связана с получением доменного имени, вы можете добавить код в вашу команду Select-Object
.
$results = for($room=102; $room -le 110; $room++) {
Get-ADComputer -SearchBase $oubase -Properties Name,Description,DNSHostName -Filter * |
Where-Object {$_.description -clike "*RM $Room"}
}
$results |
Select-Object Name,Description,@{n='Domain';e={$_.DNSHostName -Replace $("{0}." -f $_.Name}} |
Export-CSV '\\Desktop\Room_Hosts.csv' -NoTypeInformation -Encoding UTF8 -Append
Пояснение для получения домена объекта компьютера:
Свойство DNSHostName
содержит полное доменное имя объекта компьютера. Таким образом, вам нужно только удалить часть имени хоста из этой строки. Здесь мы просто заменяем имя хоста и следующий символ .
ничем. Имя хоста извлекается из свойства Name
объекта компьютера. Оператор -f
используется для простого добавления символа .
к имени. Select-Object
использует хеш-таблицу для вычисления значения домена и сохранения его в свойстве под названием Домен.
В качестве альтернативы вы можете применить те же концепции, что и выше, для получения доменного имени, но использовать CanonicalName объекта компьютера с оператором -Split
.
$results = for($room=102; $room -le 110; $room++) {
Get-ADComputer -SearchBase $oubase -Properties Name,CanonicalName,Description -Filter * |
Where-Object {$_.description -clike "*RM $Room"}
}
$results |
Select-Object Name,Description,@{n='Domain';e={($_.CanonicalName -Split "/")[0]}} |
Export-CSV '\\Desktop\Room_Hosts.csv' -NoTypeInformation -Encoding UTF8 -Append