Вики IT-KB

Пошаговые руководства, шпаргалки, полезные ссылки...

Инструменты пользователя

Инструменты сайта


draft:dmitriy-isupov:add_info_machines

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
draft:dmitriy-isupov:add_info_machines [09.10.2018 05:09] disupovdraft:dmitriy-isupov:add_info_machines [12.08.2025 07:44] (текущий) – удалено Алексей Максимов
Строка 1: Строка 1:
  
- 
- 
- 
- 
- 
-<code powershell> 
-#Путь к OU, если нужен весь домен то закоментить 
-$OU_PATCH = "LDAP://OU=test,OU=Company,OU=test_region,DC=domain_name" 
-####################### 
- 
-#Запрос машин 
-$search = New-Object system.DirectoryServices.DirectorySearcher 
-$search.Filter = "(&(objectCategory=computer)(!userAccountControl:1.2.840.113556.1.4.803:=2)(!operatingSystem=*Server*))"  
-if ($OU_PATCH -ne $NUll){$search.SearchRoot = [ADSI] $OU_PATCH} 
-$search.PageSize = 25000 
-### 
- 
-#Запрос пользователей 
-$dom = [System.DirectoryServices.ActiveDirectory.Domain]::GetCurrentDomain() 
-$root = $dom.GetDirectoryEntry() 
-$search_user = [System.DirectoryServices.DirectorySearcher]$root 
-### 
- 
- 
-$Hst_all = $search.Findall() | %{$_.path} 
- 
-$Count_hst = $Hst_all.count 
-$Hst_all_count = $Hst_all.count 
- 
-foreach ($HST in $Hst_all){ 
-$HST_DN = $HST -replace 'LDAP://CN=' -replace ',OU.+$' 
- 
- #Пинг машины 
- if((Test-Connection -ErrorAction SilentlyContinue $HST_DN -Count 1)){ 
- 
- $userName = $Null 
- $userName = (Get-WmiObject Win32_ComputerSystem –Computer $HST_DN).UserName -replace "^.+\\" 
- 
- if ($userName -ne ""){ 
- write-host $Hst_all_count / $Count_hst : $HST_DN - $userName 
-  
- $search_user.Filter = "(&(!objectCategory=computer)(sAMAccountName=$userName))" 
- $user_path =  ( $search_user.Findone() | %{$_.path}) 
- $Obj = [ADSI] $user_path 
-  
- #получаем переменные пользовтеля 
- Clear-Variable usr_* -Force 
- [string]$usr_Company = $obj.Company 
- [string]$usr_DName = $obj.distinguishedName 
- [string]$usr_cn = $obj.cn 
- 
- #Записываем переменные компьютеру 
- $obj = [ADSI] $HST 
- 
- if ($usr_Company -ne ""){ $obj.company = $usr_Company;$obj.setinfo() } 
- 
- if ($usr_DName -ne ""){ $obj.managedBy = $usr_DName;$obj.setinfo() } 
- 
- if ($usr_cn -ne ""){ $obj.description = $usr_cn;$obj.setinfo() } 
-  
- 
- }ELSE{write-host -ForegroundColor yellow $Hst_all_count / $Count_hst : $HST_DN - not user logon} 
- 
- 
- 
- }ELSE{write-host -ForegroundColor yellow $Hst_all_count / $Count_hst : $HST_DN - not connect} 
- 
- 
-$Count_hst -- 
-} 
- 
-</code> 
- 
-Из особенностей могу отметить, скрипт заполняет атрибут "managedBy" после чего в консоле "DSA" уч запись машины связывается с уч записью пользователя. 
- 
-{{:draft:dmitriy-isupov:add_info_machines.png?nolink&400|}} 
draft/dmitriy-isupov/add_info_machines.1539061777.txt.gz · Последнее изменение: disupov