Ive была поставлена задача поиска файла CSV с более чем 1000 именами компьютеров в нем. Мне было интересно, есть ли способ поиска AD с Get-ADComputer с помощью CSV-файла для имен компьютеров и возврата вывода, если они существуют в активном каталоге. До сих пор я не мог придумать ничего, кроме как сделать это вручную.Поиск powershell по CSV для имени компьютера
-1
A
ответ
0
Вы можете запросить имена компьютеров из csv, но это может занять некоторое время на 1000 компьютеров.
Альтернатива заключается в создании фильтра LDAP из computernames в CSV-файл, и сделать это на одну операцию:
$ComputerNames = Import-Csv c:\somedir\computers.csv |
select -ExpandProperty ComputerName
$NameFilters = $ComputerNames -replace '^','(Name=' -replace '$',')'
$Filter = "'(|$NameFilters)'"
Get-ADComputer -LDAPFilter $Filter
0
Import-CSV MyCSV.CSV | Select-Object *,@{n='InAD';e={$n = $_.Name ; IF (Get-ADComputer -filter {Name -eq $n}) {$True} ELSE {$False}}} | Export-CSV MyNewCSV.CSV
На мега-линии. Замените «Имя» в «$ _. Name», если любой заголовок столбца содержит имя компьютера.
(отредактирован, чтобы добавить пояснения и полное имя командлета).
Смежные вопросы
- 1. Поиск компьютера для файлов .docx, .xls с использованием PowerShell
- 2. Поиск имени файла с помощью PowerShell
- 3. Список имени компьютера с результатом в powershell
- 4. Поиск по нескольким массивам для имени в powershell
- 5. Поиск по Powershell AD по имени и OU
- 6. Поиск Powershell CSV от Hashtable
- 7. Поиск имени в CSV-файле
- 8. Поиск всего компьютера для имени файла в Java
- 9. Поиск файла по имени
- 10. Поиск детей по имени
- 11. Powershell: Получить переменную по имени динамической переменной
- 12. Powershell - помощь. Поиск и файл имени
- 13. Powershell Import-CSV выходы "@ {"
- 14. Поиск Контакты По имени
- 15. Поиск по имени
- 16. Поиск по имени
- 17. Поиск CSV-файла для поиска определенного значения без указания имени столбца с помощью Powershell
- 18. PowerShell ConvertFrom-CSV по горизонтали
- 19. Изменение имени компьютера
- 20. Powershell, pas как выражение для удаленного компьютера
- 21. Использование партии для изменения имени компьютера и имени пользователя на основе их текущего имени компьютера?
- 22. Поиск состояния подключения принтера по общему имени
- 23. AWS Powershell - Получить SNS ТЕМЫ по имени
- 24. Powershell (поиск по обменному сообщению)
- 25. PowerShell, поиск конкретных каталогов для определенного имени файла
- 26. Отображение имени компьютера и свободное место на диск в PowerShell
- 27. NETDOM с powershell FOREACH: переименование массового компьютера из CSV
- 28. Powershell: поиск данных в файлах * .txt для экспорта в * .csv
- 29. Поиск файла по имени файла
- 30. экспортировать данные на csv и переименовать после имени профиля компьютера
Определенно начало. Я могу попробовать и работать с этим –
Import-Module ActiveDirectory $ ComputerNames = Import-Csv c: \ computers.csv | выберите -ExpandProperty ИмяКомпьютера $ NameFilters = $ ComputerNames -replace '^', '(' -replace '$', ')' $ Filter = "'(| $ NameFilters)" Get-ADComputer - LDAPFilter $ Фильтр Woudl, который работает? Кажется, что он работает, но не показывает результат. –
Что входит в переменную $ ComputerNames? Должен быть массив всех имен компьютеров. – mjolinor