В тази статия ще демонстрираме как да попълваме компютрите в Active Directory с помощта на Poweshell. Като пример ще покажем как да запазите информация за компютърен модел в полето за описание на обекти от тип "Компютър" в Active Directory.
Така че ние искаме информацията за производителя на компютъра, неговия модел и сериен номер да бъде показана в полето Descripion (Описание) на компютъра в конзолата на Active Directory потребители и компютри. Тази информация може да бъде получена чрез такава заявка за WMI:
Get-WMIObject Win32_ComputerSystemProduct | Изберете доставчик, име, идентификационен номер
Заявката връща следните данни:
- производител (Доставчик) - HP
- модел (Име) - Proliant DL 360 G5
- Сериен номер (IdentifyingNumber) - CZJ733xxxx
Сега трябва да въведете тези данни в полето Descripion на този компютър в AD. Модулът ще ни помогне в това. ActiveDirectory за Windows PowerShell (предполага се, че този модул вече е инсталиран от пакета RSAT).
Импортираме модула с тази команда:
Импорт-модул ActiveDirectory
Ще присвоим на променливия $ компютър името на компютърния акаунт в Active Directory, в който искаме да извършим промени в:
$ computer = "PC-име-up01"
След това в следните променливи пишем компютърните данни, от които се нуждаем:
$ продавач = (Get-WMIObject -ComputerName $ computer Win32_ComputerSystemProduct) .Vendor
$ name = (Get-WMIObject -ComputerName $ computer Win32_ComputerSystemProduct) .Name
$ identiNNumber = (Get-WMIObject -ComputerName $ computer Win32_ComputerSystemProduct) .IDentifyingNumber
Нека да видим какви стойности са присвоени на променливите:
$ продавач
$ name
$ identiNNumber
Остава да запишете получените данни в полето Описание на компютърния акаунт в Active Directory. Командлерът на Powershell ще ни помогне в това: Set-ADComputer. Изпълнете следната команда:
Set-ADComputer $ computer -Описание „$ vendor: $ name: $ identificationNumber“
Проверете дали в полето за описание на нашия компютър в AD конзолата са се появили данни за производителя и модела на системата.
Актуализирахме данните в AD за само един компютър. За да попълните данните за всички компютри в определен контейнер (OU) в AD, използвайте командлета Get-ADComputer и преден цикъл.
Създайте масив, съдържащ списък на всички компютри в определения OU:$ computers = Get-ADComputer -Filter * -searchBase "OU = Компютри, DC = winitpro, DC = en"
След това, използвайки цикъла на foreach, ние получаваме данните от всеки компютър чрез WMI и го записваме в Active Directory:
foreach ($ компютър в $ компютри)
$ vendor = (Get-WMIObject -ComputerName $ computer Win32_ComputerSystemProduct) .Vendor
$ name = (Get-WMIObject -ComputerName $ computer Win32_ComputerSystemProduct) .Name
$ identifyingNumber = (Get-WMIObject -ComputerName $ computer Win32_ComputerSystemProduct) .IdentifyingNumber
$ продавач
$ name
$ identiNNumber
Set-ADComputer $ computer -Описание „$ vendor: $ name: $ identificationNumber“
След изпълнение на скрипта, полето за описание ще бъде попълнено за всички компютри на избрания OU Active Directory OU.
забележка. За да получават данни, целевите компютри трябва да бъдат включени и WMI заявките през мрежата към тях не трябва да бъдат блокирани.По обмисления начин е възможно да се организира автоматично попълване на полето за описание на компютър в Active Directory. Най-лесният начин да направите това е да използвате скрипта за влизане в груповата политика, така че когато компютърът се стартира, се задействат актуализации на данни за AD записи. За да приложите такъв сценарий, ще трябва да предвидите Удостоверени потребители правото Напишете описание и го приложите към Компютърни обекти на низходящи.
забележка. Недостатъкът на този подход е, че всеки оторизиран потребител на AD може да промени или изтрие описанието на всеки компютър в Active Directory.Използвайки тази техника, можете да организирате ръчно или автоматично попълване на всеки наличен компютърен атрибут в Active Directory. По-специално, в полето за описание можете да напишете името на текущия потребител, регистриран в системата и неговия отдел (тези данни могат да бъдат получени с помощта на командлета Get-ADUser), ip адреса на компютъра или всяка друга необходима информация.