ПоверСхелл цмдлет Гет-адцомпјутер може се користити за добијање различитих информација о рачунарским рачунима (серверима и радним станицама) у домену Ацтиве Дирецтори. Ово је један од најкориснијих цмдлета за избор и претраживање рачунара по различитим критеријумима у АД домену (за добијање информација о АД корисничким налозима користи се још један цмдлет - Гет-АДУсер).
Садржај:
- Основна синтакса и коришћење Гет-АДЦомпутер Цмдлет-а
- Гет-АДЦомпутер цмдлет примери
Претпоставимо да је ваш задатак пронаћи у Ацтиве Дирецтори-у сва неактивна рачунара која нису регистрована у домену више од 120 дана и блокирати рачуне ових рачунара.
Пре него што почнете да користите цмдлет Гет-АДЦомпутер, морате повезати модул Ацтиве Дирецтори за Виндовс ПоверСхелл.
Увоз-модул активни директориј
Омогући-ВиндовсОтионалФеатуре -Онлине -ФеатуреНаме РСАТЦлиент-Ролес-АД-Поверсхелл
Основна синтакса и коришћење Гет-АДЦомпутер Цмдлет-а
Помоћ у вези са параметрима цмдлета Гет-АДЦомпутер стандардно се позива помоћу Гет-Хелп:
Гет-Хелп Гет-АДЦомпутер
Да бисте добили информације о рачуну домене одређеног рачунара или сервера, наведите његово име као аргумент параметра -Идентитет:
Гет-АДЦомпутер -Идентити СРВ-ДБ01
ДистингуисхедНаме: ЦН = ДБ01, ОУ = Сервери, ОУ = МСК, ДЦ = винитпро, ДЦ = ен ДНСХостНаме: ДБ01.винитпро.ру Омогућено: Истинско име: ДБ01 ОбјецтЦласс: рачунарски ОбјецтГУИД: 1234567ц-13ф8-4а2ц-8б00-б30а32324103 СамАцц ДБ01 $ СИД: С-1-5-21-3243682314-1360322815-2238451561-4318 УсерПринципалНаме:
Цмдлет је вратио само основна својства објекта Цомпутер из АД-а. Занима нас време последње регистрације рачунара у АД домену, али ове информације нису у излазу команде. Листа активних својстава овог рачунара из Ацтиве Дирецтори-а:
Гет-АДЦомпутер -Идентити СРВ-ДБ01 -Пропертиес *
Гет-АДЦомпутер -Филтер * -Пропертиес * | Гет-мембер
Као што видите, време посљедњег пријављивања рачунара на мрежу је назначено у атрибуту рачунара ЛастЛогонДате - 21.09.2015 12:20:17.
Цмдлет Гет-АДЦомпутер омогућава вам да прикажете било које од рачунарских својстава у резултатима команде. Уклањамо све непотребне податке, остављајући у излазу само вредности поља Име и ЛастЛогонДате.
Гет-АДЦомпутер -идентити СРВ-ДБ01 -Пропертиес * | Назив ФТ, ЛастЛогонДате -Аутосизе
Дакле, добили смо податке о последњем тренутку регистрације у домену за један рачунар. Сада морамо да променимо команду тако да она враћа информације о времену последње регистрације на мрежи за све рачунаре у домену. Да бисте то учинили, замените параметар -Идентитет на -Филтер:
Гет-АДЦомпутер -Филтер * -Пропертиес * | Назив ФТ, ЛастЛогонДате -Аутосизе
Добили смо табелу која садржи само 2 поља: име рачунара и датум ЛастЛогонДата. У ову табелу можете додати друга поља рачунарског објекта из АД-а. Да бисте приказали информације о рачунарима у контејнеру за одређену домену (ОУ), користите параметар СеарцхБасе:Гет-АДЦомпутер -СеарцхБасе 'ОУ = Москва, ДЦ = винитпро, ДЦ = лоц' -Филтер * -Пропертиес * | Назив ФТ, ЛастЛогонДате -Аутосизе
Резултате упита сортирамо према времену последње пријаве у мрежу (поље ЛастЛогонДате) користећи команду Поредај:
Гет-АДЦомпутер -Филтер * -Пропертиес * | Поредај ЛастЛогонДате | Назив ФТ, ЛастЛогонДате -Аутосизе
Тако смо добили листу рачунара са доменом и време њиховог последњег уласка у мрежу Ацтиве Дирецтори-а. Сада желимо да блокирамо рачунарске рачуне који се не користе више од 120 дана.
Помоћу Гет-Дате добијамо тренутни датум у променљивој и одузимамо 120 дана од тренутног датума:
$ дате_витх_оффсет = (Датум-датум) .Додај (-120)
Добијена варијабла са датумом може се користити као филтер за Гет-АДЦомпутер захтев у пољу ЛастЛогонДате
Гет-АДЦомпутер -Пропертиес ЛастЛогонДате -Филтер ЛастЛогонДате -лт $ дате_витх_оффсет | Поредај ЛастЛогонДате | Назив ФТ, ЛастЛогонДате -Аутосизе
Тако смо добили списак неактивних рачунара који нису били регистровани на мрежи дуже од 120 дана. Коришћењем цмдлет-а Сет-адцомпјутер или Дисабле-АДАццоунт можете да онемогућите ове налоге.
Савет. Први пут је боље да се резултати команде тестирају прекидачем -Вхатиф, захваљујући којем тим не врши никакве промене, показујући шта ће се догодити када буде погубљен.
Гет-АДЦомпутер -Пропертиес ЛастЛогонДате -Филтер ЛастЛогонДата -лт $ дате_витх_оффсет | Сет-АДЦомпутер -Енаблед $ фалсе -вхатиф
Сада можете блокирати све примљене рачуне рачунара:
Гет-АДЦомпутер -Пропертиес ЛастЛогонДате -Филтер ЛастЛогонДата -лт $ датецутофф | Сет-АДЦомпутер -Енаблед $ фалсе
Савет. Листа блокираних, искључених и неактивних рачунара и корисника домена такође се може добити помоћу засебног цмдлета Сеарцх-АДАццоунт..
Гет-АДЦомпутер цмдлет примери
Испод је неколико корисних примера команди које користе цмдлет Гет-АДЦомпутер помоћу којих можете да бирате и претражујете рачунаре домена по одређеним критеријумима.
Набавите укупан број активних (откључаних) рачунара у Ацтиве Дирецтори-у:
(Гет-АДЦомпутер -Филтер омогућено -ек "труе")
Прочитајте број сервера Виндовс сервера у домену:
(Гет-АДЦомпутер -Филтер омогућен -ек "труе" -анд ОператингСистем -Лике '* Виндовс Сервер *').
Набавите листу рачунара у одређеном ОУ чија имена почињу са БухПЦ:
Гет-АДЦомпутер -Филтер Наме -лике "БухПЦ *" -СеарцхБасе 'ОУ = Москва, ДЦ = винитпро, ДЦ = лоц' -Пропертиес ИПв4Аддресс | Назив табеле форматирања, ДНСХостНаме, ИПв4Аддресс | фт-врап-ауто
Када претражујете по ОУ, можете користити додатни параметар -СеарцхСцопе 1, што значи да морате тражити само у роот партицији. Параметар -СеарцхСцопе 2 значи рекурзивну претрагу рачунара у свим угнијежђеним ОУ-има.
Одаберите све радне станице са оперативним системом Виндовс 10:
Гет-АДЦомпутер -Филтер ОператингСистем -лике '* Виндовс 10 *'
Набавите листу сервера у домену са инсталираном верзијом ОС, ИП адресом и сервисним пакетом:Гет-АДЦомпутер -Филтер 'оперативни систем-сличан' * Виндовс сервер * "-и омогућен -ек" труе "'-Пропертиес Наме, Оперативни систем, ОператингСистемВерсион, ОператингСистемСервицеПацк, ИПв4Аддресс | Сорт-Објецт -Проперти Оперативни систем | Селецт-Објецт -Пројецт Наме, Оперативни систем, ОператингСистемВерсион, ОператингСистемСервицеПацк, ИПв4Аддресс | фт-врап-ауто
Излаз је био тако лепа табела са списком Виндовс сервера у АД-у.
Атрибут -ЛДАПФилтер омогућава вам употребу различитих ЛДАП упита као параметара цмдлета Гет-АДЦомпутер:
Гет-АДЦомпутер -ЛДАПФилтер "(име = * дб *)" | фт
Изаберите закључане рачунаре у одређеном ОУ:
Гет-АДЦомпутер -филтер * -СеарцхБасе 'ОУ = Рачунари, дц = винитпро, дц = лоц' | Вхере-Објецт $ _. Омогућено -ек $ Фалсе
Да бисте избрисали све рачунарске рачуне у домену који се нису пријавили на домен дуже од 6 месеци, можете да користите команду:
гет-адцомпутер -пропертиес ластЛогонДате -филтер * | где је $ _. ластЛогонДате -лт (датум-датум) .аддмонтхс (-6) | Ремове-АДЦомпутер
Резултат наредбе Гет-АДЦомпутер може се преузети у текстуалну датотеку:
Гет-АДЦомпутер -Филтер ОператингСистем -Лике '* Виндовс Сервер 2008 *' -Пропертиес ОператингСистем | Изаберите ДНСХостНаме, ОператингСистем | Формат-Табле -АутоСизе Ц: \ Сцрипт \ сервер_систем.ткт
Такође можете добити избор рачунара и извести га у ЦСВ датотеку:
Гет-АДЦомпутер -Филтер * -Проперти * | Селецт-Објецт Наме, ОператингСистем, ОператингСистемСервицеПацк | Екпорт-ЦСВ Алл-Виндовс.цсв -НоТипеИнформатион -Енцодинг УТФ8
Или набавите ХТМЛ датотеку извештаја са списком рачунара и потребним атрибутима рачунара:
Гет-АДЦомпутер -Филтер ОператингСистем -Лике '* Виндовс Сервер 2012 *' -Пропертиес * | Селецт-Објецт Наме, ОператингСистем | ЦонвертТо-Хтмл | Изван датотеке Ц: \ пс \ ад_цомпутер.хтмл
Да бисте извршили одређену радњу са свим рачунарима са листе, морате да користите петљу Фореацх. У овом примеру желимо да добијемо листу сервера у домену са моделом и произвођачем:
$ Цомпутерс = Гет-АДЦомпутер -Филтер ОператингСистем -Лике '* Виндовс Сервер *'
Фореацх ($ Цомпутер ин $ Цомпутерс)
$ Хостнаме = $ Цомпутер.Наме
$ ЦомпутерИнфо = (Гет-ВмиОбјецт -Име рачунара $ Хостнаме Вин32_ЦомпутерСистем)
$ Произвођач = $ Цомпутер.Мануфацтурер
$ Модел = $ Цомпутер.Модел
Хост писања "Име: $ Хостнаме"
Хост писања "Произвођач: $ Произвођач"
Хост писања "Модел: $ Модел"
Хост писања ""
$ Цонтент = "$ Име хоста; $ Произвођач; $ Модел"
Додајте садржај -Вредност $ Садржај -Стаза "Ц: \ ПС \ СерверсИнфо.ткт"
Или можете користити синтаксу краће петље. Претпоставимо да морамо извршити одређену наредбу на свим рачунарима у одређеном ОУ (у овом примеру желимо покренути наредбу за ажурирање поставки групе правила на свим серверима):
гет-адцомпутер -СеарцхБасе "ОУ = сервери, ДЦ = винитпро, ДЦ = лоц" -Филтер * | % Инвоке-Цомманд -Цомпјутер $ _. Име -СцриптБлоцк гпупдате / форце
Користећи Гет-АдЦомпутер и пријаву скрипте ПоверСхелл, можете контролисати различите поставке рачунара. На пример, пратим статус СЦЦМ агента на рачунарима корисника. Када се сваки рачунар покрене за покретање, покреће скрипту за пријаву која, користећи Сет-АДЦомпутер, спрема статус услуге ццмекец на бесплатни атрибут рачунара - ектенсионАттрибуте10.
Затим помоћу следеће команде могу да пронађем рачунаре на којима услуга ЦЦМЕкец недостаје или не ради:
гет-адцомпутер -филтер ектенсионАттрибуте10 -не "СЦЦМ агент: Руннинг" -СеарцхБасе "ОУ = Рачунари, ОУ = МСК, ДЦ = винитпро, ДЦ = ен" -пропертиес дНСХостНаме, ектенсионАттрибуте10, ЛастЛогонДате | селецт-објецт дНСХостНаме, ектенсионАттрибуте ЛастЛогонДате