![]() |
Скрипт для изменения свойств компьютера в AD
Добрый.
Я хочу с помощью скрипта изменять поле Location у каждого компа в АД при его загрузке. Нашел на мелкасофте пример скрипта Цитата:
Вопрос: можно ли в этот скрипт вписать некое регулярное выражение, чтоб при загрузке компа вместо comp1 было вписано имя текущей машины? Если да, то пример кода пожалуста набросайте. |
ну если контейнер/домен вычислять не надо то можно просто восстановить значение переменной окружения:
Код:
Set objWSHell = CreateObject("WScript.Shell") |
amel27, спасибо, попробую твой скрипт, но я решил проблему по другому.
Итак, день мучений привел меня к такому вот результату Код:
Set WshNetwork = CreateObject("WScript.Network") Цитата:
(пробовал всевозможными вариантами, в том числе и с "" и без и по всякому). Но все равно спасибо. |
В общем я разочаровался немного в своем скрипте, ибо у него много ограничений и минусов....
Решил обозначить задачу с другой стороны: Как мне пробежать по OU и для каждого компа изменить свойство Location? Я хочу запустить скрипт один раз(либо ооочень редко раз), чтобы он совершил нужные мне действия. Собственно сама проблема заключается в том как мне получить список объектов компьютеров из OU. |
|
HLT, спасибо, это то что надо. Работает на ура! :)
|
Решив проблему изменения свойств компьютера в АД, я решил и другую очень мне необходимую задачу - автоматический переезд принтеров на новый принт-сервер. Хочу поделиться накопленным опытом, мож кому пригодится.
Итак, список задач, которые я решал: 1. Заполнение свойства Location компьютера в АД 2. Удаление принтеров, подключенных со старого принт-сервера 3. Автоматическое подключение ближайшего принтера с нового принт-сервера при залогинивании пользователя 4. Все это в максимально автоматическом режиме, с помощью скриптов и групповых политик На сайте http://networkdoc.ru существует вот эта статья, примерно описывающая мою задачу. Но в ней есть некоторые моменты, которые у меня не заработали, поэтому пришлось колхозить самому. В итоге я избавился от старого принт-сервера, а новые принтеры сами появляются у пользователя при залогинивании и дефолтным выставляется ближайший. Че еще добавить не знаю, поэтому просто опишу очередность работы скриптов. Во-первых нам для географического отделения компьютеров потребуется заполнить поле Location, скрипт, которые это делает ниже Код:
dsquery computer OU=XXX,DC=YYY,DC=com | dsmod computer -loc "XXX/Computer" скрипт запускается один раз с рабочего места админа, я его загнал в батник. Дальше, я завел на новом принт-сервере принтеры, заполнил и их поле Location(оно потребуется для определения одинаковых принтеров) Во-вторых, чтобы у пользователя удалились принтеры со старого принт-сервера, я составил следующий скрипт Код:
Set objFS = CreateObject("Scripting.FileSystemObject") В-третьих, из замечательной вышеуказанной статьи я взял скрипт, который автоматически ставит и проверяет установку ближайшего принтера. Еще раз приведу его здесь. Код:
'Определяем контекст комьютера В-четвертых, осталось самое простое - все это дело собрать вместе и автоматизировать. Для этого я написал батник простого содержания Код:
start /wait delete_old_printer.vbs Дальше тесты. У меня все заработало без проблем. :) |
Цитата:
Как можно массово выполнить операцию по изменению данных в AD? |
Время: 06:56. |
Время: 06:56.
© OSzone.net 2001-