Лучший отвечающий
Получить список имен компьютеров по полю Country\Region из свойств пользователя.

Вопрос
-
Всем добрый день\вечер\ночи\утра.
Огромный домен.
Есть один OU - пользователи (5000+).
Другой OU - компьютеры. (5000+).
В свойствах компьютеров прописаны поля ManagedBy, т.е. пользователь данного компа. (Могут быть одинаковые пользователи для нескольких компов)
В свойствах пользователей прописаны поля Country\Region (напр: Russia\Moscow, Russia\Ekaterinburg, Holland\Amsterdam, USA\Houston....)
Задача:
Написать скрипт vbs который выведет в файл, или просто в WScript.Echo, список имен компьютеров с соответствующими пользователями (по ManagedBy) из страны Russia. (Вне зависимости в каком городе).
Гуру скриптинга помогите реализовать данную задачу.
9 июля 2009 г. 14:51
Ответы
-
Зачем вам именно VBS? Это будет и дольше, и сложнее, и уж точно менее красиво :)
Вот вариант на PowerShell + AD Cmdlets, на написание ушло минут 5, меньше чем на воссоздание подобной структуры для тестирования :)
#Получаем объекты компьютеров домена
Get-QAdComputer |
#Отбираем лишь те у которых задано свойство ManagedBy
Where {$_.managedby} |
#Получаем объект пользователя по ManagedBy (указав в запросе что необходимо получить кроме общих свойств еще и co)
#И отбираем лишь те компьютеры у которых у пользователя из ManagedBy в co указана "Russia".
Where {(get-qaduser $_.managedby -include co -ea0).co -eq "Russia"} |
#Форматируем в виде таблицы для вывода на экран, с автоматической подгонкой столбцов.
#Можно было вместо этого использовать например Export-Csv
Format-Table name, managedby -AutoSizePS C:\Users\administrator.TD> get-qadcomputer|?{$_.managedby}|?{(get-qaduser $_.managedby -include co -ea 0).co -eq "Russia"} | ft name, managedby Name ManagedBy ---- --------- CLIENT5 CN=user1,OU=Test,DC=td,DC=local CLIENT6 CN=user3,OU=Test,DC=td,DC=local
AKA Xaegr, MCSE: Security, Messaging; MCITP: Server\Enterprise Administrator; Блог: http://xaegr.wordpress.com- Предложено в качестве ответа Vasily GusevModerator 10 июля 2009 г. 17:00
- Помечено в качестве ответа ILYA [ sie ] SazonovModerator 14 июля 2009 г. 12:18
10 июля 2009 г. 16:59Модератор -
А в текущей версии PS не появилось своих командлетов для работы с AD?
http://technet.microsoft.com/en-us/library/dd378937(WS.10).aspx
You can install the Active Directory module by using any of the following methods: By default, on a Windows Server 2008 R2 server when you install the AD DS or AD LDS server roles By default, when you make a Windows Server 2008 R2 server a domain controller by running Dcpromo.exe As part of the Remote Server Administration Tools (RSAT) feature on a Windows Server 2008 R2 server As part of the RSAT feature on a Windows 7 computer
- Предложено в качестве ответа mtimley 23 августа 2011 г. 9:36
- Помечено в качестве ответа KazunEditor 23 августа 2011 г. 11:14
23 августа 2011 г. 9:18Отвечающий
Все ответы
-
Зачем вам именно VBS? Это будет и дольше, и сложнее, и уж точно менее красиво :)
Вот вариант на PowerShell + AD Cmdlets, на написание ушло минут 5, меньше чем на воссоздание подобной структуры для тестирования :)
#Получаем объекты компьютеров домена
Get-QAdComputer |
#Отбираем лишь те у которых задано свойство ManagedBy
Where {$_.managedby} |
#Получаем объект пользователя по ManagedBy (указав в запросе что необходимо получить кроме общих свойств еще и co)
#И отбираем лишь те компьютеры у которых у пользователя из ManagedBy в co указана "Russia".
Where {(get-qaduser $_.managedby -include co -ea0).co -eq "Russia"} |
#Форматируем в виде таблицы для вывода на экран, с автоматической подгонкой столбцов.
#Можно было вместо этого использовать например Export-Csv
Format-Table name, managedby -AutoSizePS C:\Users\administrator.TD> get-qadcomputer|?{$_.managedby}|?{(get-qaduser $_.managedby -include co -ea 0).co -eq "Russia"} | ft name, managedby Name ManagedBy ---- --------- CLIENT5 CN=user1,OU=Test,DC=td,DC=local CLIENT6 CN=user3,OU=Test,DC=td,DC=local
AKA Xaegr, MCSE: Security, Messaging; MCITP: Server\Enterprise Administrator; Блог: http://xaegr.wordpress.com- Предложено в качестве ответа Vasily GusevModerator 10 июля 2009 г. 17:00
- Помечено в качестве ответа ILYA [ sie ] SazonovModerator 14 июля 2009 г. 12:18
10 июля 2009 г. 16:59Модератор -
14 июля 2009 г. 11:08
-
14 июля 2009 г. 13:01Модератор
-
А в текущей версии PS не появилось своих командлетов для работы с AD?23 августа 2011 г. 9:12
-
А в текущей версии PS не появилось своих командлетов для работы с AD?
http://technet.microsoft.com/en-us/library/dd378937(WS.10).aspx
You can install the Active Directory module by using any of the following methods: By default, on a Windows Server 2008 R2 server when you install the AD DS or AD LDS server roles By default, when you make a Windows Server 2008 R2 server a domain controller by running Dcpromo.exe As part of the Remote Server Administration Tools (RSAT) feature on a Windows Server 2008 R2 server As part of the RSAT feature on a Windows 7 computer
- Предложено в качестве ответа mtimley 23 августа 2011 г. 9:36
- Помечено в качестве ответа KazunEditor 23 августа 2011 г. 11:14
23 августа 2011 г. 9:18Отвечающий