При присоединении компьютера к домену Active Directory для него создается отдельная учетная запись типа Computer. У компьютера в AD есть набор обязательных атрибутов: sAMAccountName
, distinguishedName
, SID , версия и билд Windows ( operatingSystem
, operatingSystemVersion
), userAccountControl , lastLogonTimeStamp
и т.д. В необязательных атрибутах компьютера можно хранить информацию о его владельце, местоположении, описании, IP адресе. В этой статье мы покажем, как изменить значения атрибутов у учетной записи компьютера AD с помощью ADUC и PowerShell.
Администратор может изменить атрибуты компьютер в Active Directory с помощью графической консоли ADUC .
Откройте консоль Active Directory Users and Computers ( dsa.msc
), найдите учетную запись нужного компьютера (как искать объекты в AD) и откройте его свойства. Здесь вы можете задать описание компьютера (поле Description
), указать местоположение, назначить пользователя, ответственного за это компьютер ( Managed by
).
Вы можете отредактировать значения остальных атрибутов компьютера на вкладке Attribute Editor . Будьте внимательными при редактировании обязательных атрибутов компьютера. Редактор атрибутов объекта в AD не проверяет корректность введенных данных (проверяется только тип данных и длина значения), поэтому при некорректных значения атрибутов компьютера, он может потерять доверительные отношения с доменом.
Командлет Set -ADComputer (из модуля Active Directory для PowerShell ) позволяет изменить атрибуты учетной записи компьютера в Active Directory.
Например, вы хотите добавить в свойства компьютера в AD его, название компании и департамента, которому он принадлежит.
Чтобы изменить значение основных атрибутов компьютера, можно использовать встроенные параметры, таки как -Description
, -DisplayName
, -DNSHostName
, -HomePage
, -Location
и т.д., Например указать местоположение компьютера:
Set-ADComputer –Identity SRV-MAN01 –Location "Spb/Russia"
Также можно изменить значение любого атрибута с помощью параметров Add
, Replace
, Clear
и Remove
.
Задать новое описание учетной записи компьютера:
Set-ADComputer -Identity SRV-MAN01 -Add @{"description"="Сервер управления инфраструктурой"}
Если нужно задать несколько параметров компьютера, воспользуйтесь такой конструкцией PowerShell:
$Server = Get-ADComputer -Identity SRV-MAN01
$Server.company = "contoso"
$Server.department = "IT"
Set-ADComputer -Instance $Server
С помощью Get-ADComputer можно получить текущие значения атрибутов:
Get-ADComputer SRV-MAN01 -properties *|select-object dNSHostName,operatingSystem,company,department, description
Теперь вы можете выбрать все компьютеры в AD, которые относятся к департаменту IT компании Contoso:
Get-ADComputer -Filter {(company -eq 'contoso') -and (department -eq "IT")} -properties *|select-object dNSHostName,operatingSystem,company,department,description | ft
С помощью Set-ADComputer вы также можете отключить или включить учетную запись компьютера в AD:
Set-ADComputer srv-man01 -Enabled $false
Вы можете автоматизировать добавление в свойства компьютера определенной информации. Например, вы хотите, чтобы в атрибутах компьютера в AD был указан его текущий IP адрес и имя последнего залогиненого пользователя.
IP адрес компьютера мы будем хранить в атрибуте description , а имя пользователя, который работает за компьютером – в атрибуте ManagedBy .
Делегируйте права группе Domain Users на OU с компьютерами на изменение значений в полях объектов типа Computer: ManagedBy и description ( Write Description + Write Managed By ).
Теперь создайте новую GPO со следующим Logon скриптом PowerShell ( User Configuration -> Policies -> Windows Settings -> Scripts -> Logon ), который должен запускаться при входе пользователя в систему:
$curhostname=$env:computername
$env:HostIP = (
Get-NetIPConfiguration |
Where-Object {
$_.IPv4DefaultGateway -ne $null -and
$_.NetAdapter.Status -ne "Disconnected"
}
).IPv4Address.IPAddress
$currus_cn=(get-aduser $env:UserName -properties *).DistinguishedName
$ADComp = Get-ADComputer -Identity $curhostname
$ADComp.ManagedBy = $currus_cn
$ADComp.description = $env:HostIP
Set-ADComputer -Instance $ADComp
Данный PowerShell скрипт будет запускаться при входе пользователя, определять имя и IP адрес компьютера , CN пользователя и сохранит их в свойства компьютера в AD. Для работы скрипта на компьютерах должен быть установлен модуль AD PowerShell.
В консоли ADUC теперь отображаются IP адреса компьютеров, а в свойствах компьютера на вкладке Managed By теперь есть активная ссылка на учетную запись пользователя, который последним входил на компьютер.
Теперь вы можете быстро найти компьютеры в домене по IP адресу:
get-adcomputer -filter {description -like "10.10.1.*"} -properties *|select name,description,managedBy
Или можно найти все компьютеры в домене, на которых залогинен конкретный пользователь ( командлет Get-AdUser используется для получения DistinguishedName пользователя):
$user='daivanov'
$user_cn=(get-aduser $user -properties *).DistinguishedName
Get-ADComputer -Filter "ManagedBy -eq '$user_cn'" -properties *|select name,description,managedBy|ft
Аналогичным образом вы можете записать в свойства аккаунтов компьютеров в AD любую информацию о рабочей станции или пользователе, и использовать ее для поиска (выборки) компьютеров в AD. В статье по ссылке описано как записать в описание компьютера в AD информацию о модели, серийном номере оборудования .
Клиент удаленного рабочего стола (rdp) предоставляет нам возможность войти на сервер терминалов через консоль. Что…
В VMware Workstation есть несколько способов настройки сети гостевой машины: 1) Bridged networking 2) Network…
Встроенный брандмауэр Windows может не только остановить нежелательный трафик на вашем пороге, но и может…
Вопреки распространенному мнению, отключить IPv6 в Windows Vista и Server 2008 это не просто снять…
Параметры экранной заставки для текущего пользователя можно править из системного реестра, для чего: Запустите редактор…
В этой статье расскажу про возможность просмотра журналов событий из командной строки. Эти возможности можно…