Cmdlet Ustaw komputer-reklamowy umożliwia zmianę atrybutów konta komputera w usłudze Active Directory. W tym artykule pokażemy, jak używać skryptów logowania i polecenia cmdlet Set-ADComputer do zapisywania bieżącej nazwy użytkownika i adresu IP we właściwościach komputera w AD. Taki skrypt może być przydatny, gdy trzeba znaleźć komputer w domenie, nad którym pracuje określony użytkownik..
Treść
- Użycie Set-ADComputer do zmiany atrybutów komputera w AD
- Jak dodać nazwę użytkownika do właściwości komputera w AD?
Użycie Set-ADComputer do zmiany atrybutów komputera w AD
Cmdlet Ustaw komputer-reklamowy
jest częścią modułu Active Directory dla PowerShell i wymaga, aby moduł był zainstalowany na komputerze. Zastanów się, jak używać polecenia cmdlet Set-ADComputer. Spróbujmy dodać nazwę firmy i działu do właściwości komputera w AD. Najpierw za pomocą Get-ADComputer zweryfikujemy, co jest określone dla określonego komputera w domenie w polach firmy, działu i opisu.
Get-ADComputer SRV-MAN01 -properties * | select-object dNSHostName, system operacyjny, firma, dział, opis | ft -wrap -auto
Jak widać, komputer nie ma pól z opisem, nazwą firmy i działem.
Spróbujmy zmienić opis komputera za pomocą polecenia:
Set-ADComputer -Identity SRV-MAN01 -Add @ "description" = "Serwer zarządzania infrastrukturą"
Możesz określić lokalizację komputera:
Set-ADComputer -Identity SRV-MAN01-Lokalizacja „Spb / Rosja”
Jeśli chcesz ustawić kilka parametrów komputera, użyj następującej konfiguracji programu PowerShell:
$ Server = Get-ADComputer -Identity SRV-MAN01
$ Server.company = "contoso"
$ Server.department = „IT”
Set-ADComputer -Instance $ Server
Sprawdź, czy zmieniły się atrybuty komputera:
Get-ADComputer SRV-MAN01 -properties * | select-object dNSHostName, system operacyjny, firma, dział, opis | ft -wrap -auto
Jak widać, teraz atrybuty komputera zawierają potrzebne informacje. Teraz możemy wybrać komputery w AD na podstawie tych kryteriów. Na przykład chcę wybrać wszystkie komputery z działu IT firmy Contoso. Polecenie pobierania może wyglądać następująco:
Get-ADComputer -Filter firma -eq „contoso”-AND działowy „IT” -properties * | select-object dNSHostName, system operacyjny, firma, dział, opis | ft -wrap -auto
Polecenie cmdlet Set-ADComputer umożliwia także blokowanie (odblokowywanie) konta komputera w AD:
Set-ADComputer pc-name -Enabled $ false
Jak dodać nazwę użytkownika do właściwości komputera w AD?
Rozważ bardziej interesujący i użyteczny przykład użycia polecenia cmdlet Set-ADComputer. Załóżmy, że zdecydujesz się przechowywać w atrybutach każdego komputera w usłudze Active Directory jego bieżący adres IP i nazwę ostatnio zalogowanego użytkownika.
Adres IP komputera, który będziemy przechowywać w atrybucie opis, a nazwa użytkownika pracującego przy komputerze znajduje się w tym atrybucie Zarządzane przez.
Przede wszystkim należy przekazać uprawnienia grupie użytkowników domeny (lub innej grupie zabezpieczeń użytkowników) w jednostce organizacyjnej za pomocą komputerów, aby zmienić wartości w polach obiektów typu Komputer: Zarządzane przez i opis (Napisz opis + Zapis zarządzany przez).
Teraz utwórz nową zasadę za pomocą następującego skryptu logowania PowerShell (Konfiguracja użytkownika -> Zasady -> Ustawienia systemu Windows -> Skrypty -> Logowanie), który powinien rozpocząć się, gdy użytkownik się zaloguje:
$ curhostname = $ env: nazwa_komputera
$ 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
Ten skrypt PowerShell działa jako użytkownik, określa nazwę i adres IP bieżącego komputera, CN użytkownika, i zapisuje je na koncie komputera w AD.
Ta zasada musi być połączona z kontenerem z komputerami i włączyć Blokadę zasad grupy Skonfiguruj tryb przetwarzania sprzężenia zwrotnego zasad grupy użytkownika (patrz tutaj).
Teraz, gdy użytkownik loguje się do systemu na komputerze, wykonuje ten skrypt i aktualizuje opis komputera w AD.
Konsola ADUC wyświetla teraz adresy IP komputerów oraz we właściwościach komputera na karcie Zarządzane przez teraz jest aktywne łącze do konta użytkownika, które zostało ostatnio zarejestrowane na tym komputerze.
Teraz możesz szybko znaleźć komputery w domenie według adresu IP:
get-adcomputer -filter opis-podobny "10.10.1. *" -properties * | wybierz nazwę, opis, zarządzany przez
Możesz też znaleźć wszystkie komputery w domenie, na której zalogowany jest określony użytkownik (polecenie cmdlet Get-AdUser służy do uzyskania nazwy wyróżniającej użytkownika):
$ user = 'daivanov'
$ user_cn = (get-aduser $ user -properties *). DistinguishedName
Get-ADComputer -Filter "ManagedBy -eq '$ user_cn'" -properties * | wybierz nazwę, opis, zarządzany Przez | ft
Podobnie możesz zapisać dowolne informacje o stacji roboczej lub użytkowniku we właściwościach kont komputerów w AD i użyć ich do wyszukiwania (wybranych) komputerów w AD.
Podobny scenariusz z przechowywaniem informacji o modelu i numerze seryjnym serwera w AD omówiono w następnym artykule.