Cmdlet Set-adcomputer umožňuje změnit atributy účtu počítače ve službě Active Directory. V tomto článku si ukážeme, jak pomocí přihlašovacích skriptů a rutiny cmdlet Set-ADComputer zapsat aktuální uživatelské jméno a IP adresu do vlastností počítače v AD. Takový skript může být užitečný, pokud potřebujete najít počítač v doméně, na které konkrétní uživatel pracuje..
Obsah:
- Použití Set-ADComputeru ke změně počítačových atributů v AD
- Jak přidat uživatelské jméno do vlastností počítače v AD?
Použití Set-ADComputeru ke změně počítačových atributů v AD
Cmdlet Set-adcomputer
je součástí modulu Active Directory pro PowerShell a vyžaduje, aby byl modul nainstalován v počítači. Zvažte, jak používat rutinu Set-ADComputer. Zkusme přidat název společnosti a oddělení do vlastností počítače v AD. Nejprve pomocí Get-ADComputeru ověříme, co je určeno pro konkrétní počítač v doméně v polích společnosti, oddělení a popisu.
Get-ADComputer SRV-MAN01 - vlastnosti * | select-object dNSHostName, operationSystem, company, department, description | ft -wrap -auto
Jak vidíte, počítač nemá pole s popisem, názvem společnosti a oddělením.
Zkusme změnit popis počítače příkazem:
Set-ADComputer -Identity SRV-MAN01 -Add @ "description" = "Server pro správu infrastruktury"
Můžete určit umístění počítače:
Set-ADComputer -Identity SRV-MAN01-Location “Spb / Russia”
Pokud potřebujete nastavit několik parametrů počítače, použijte následující konfiguraci prostředí PowerShell:
$ Server = Get-ADComputer -Identity SRV-MAN01
$ Server.company = "contoso"
$ Server.department = "IT"
Set-ADComputer -Instance $ Server
Zkontrolujte, zda se změnily atributy počítače:
Get-ADComputer SRV-MAN01 - vlastnosti * | select-object dNSHostName, operationSystem, company, department, description | ft -wrap -auto
Jak vidíte, atributy počítače nyní obsahují informace, které potřebujeme. Nyní můžeme na základě těchto kritérií vybrat počítače v AD. Chci například vybrat všechny počítače IT oddělení Contoso. Příkaz k načtení může vypadat takto:
Get-ADComputer -Filter company -eq 'contoso'-AND department-like' IT ' -properties * | select-object dNSHostName, OperatingSystem, company, department, description | ft -wrap -auto
Rutina Set-ADComputer také umožňuje uzamknout (odemknout) účet počítače v AD:
Set-ADComputer pc-name - Povoleno $ false
Jak přidat uživatelské jméno do vlastností počítače v AD?
Zvažte zajímavější a užitečnější příklad použití rutiny Set-ADComputer. Předpokládejme, že se rozhodnete uložit do atributů každého počítače ve službě Active Directory jeho aktuální IP adresu a jméno posledního přihlášeného uživatele.
IP adresa počítače, který budeme ukládat do atributu popis, a jméno uživatele, který pracuje na počítači, je v atributu Spravováno.
Nejprve je nutné delegovat práva na skupinu Domain Users (nebo na jinou skupinu zabezpečení uživatelů) na OU u počítačů, aby se změnily hodnoty v polích objektů jako Computer: ManagedBy a description (Napište popis + Psaní spravuje).
Nyní vytvořte novou zásadu pomocí následujícího skriptu přihlášení PowerShell (Konfigurace uživatele -> Zásady -> Nastavení systému Windows -> Skripty -> Přihlášení), které by mělo začít, když se uživatel přihlásí:
$ 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
Tento skript PowerShell běží jako uživatel, určuje jméno a IP adresu aktuálního počítače, CN uživatele a ukládá je do účtu počítače v AD.
Tato zásada musí být propojena s kontejnerem s počítači a povolit zámek zásad skupiny Konfigurace režimu zpracování zásad skupiny uživatelů (viz zde).
Nyní, když se uživatel přihlásí do systému v počítači, provede tento skript a aktualizuje popis počítače v AD.
Konzola ADUC nyní zobrazuje adresy IP počítačů a ve vlastnostech počítače na kartě Spravováno nyní existuje aktivní odkaz na uživatelský účet, který byl v tomto počítači naposledy zaregistrován.
Nyní můžete rychle najít počítače v doméně podle IP adresy:
get-adcomputer -filter description-like "10.10.1. *" -properties * | select name, description, managedBy
Nebo můžete najít všechny počítače v doméně, ve které je přihlášený konkrétní uživatel (cmdlet Get-AdUser se používá k získání DistinguishedName uživatele):
$ user = 'daivanov'
$ user_cn = (get-aduser $ user -properties *). DistinguishedName
Get-ADComputer -Filter "ManagedBy -eq '$ user_cn'" -properties * | select name, description, managedBy | ft
Podobně můžete psát jakékoli informace o pracovní stanici nebo uživateli do vlastností počítačových účtů v AD a použít je k vyhledávání (výběru) počítačů v AD.
Podobný scénář s ukládáním informací o modelu a sériovém čísle serveru v AD je popsán v následujícím článku.