Hledání zakázaných a neaktivních účtů v AD

PowerShell je stále více nástrojem volby pro správce systému Windows. Modul PowerShell Active Directory obsahuje více než 450 rutin, které můžete použít ke shromažďování informací o každém objektu ve službě Active Directory, ke kontrole stavu řadičů domény, ke shromažďování informací o GPO a dalších.

tento článek popisuje, jak můžete pomocí PowerShell najít zakázané a neaktivní uživatelské a počítačové účty v doménách služby Active Directory.

předpoklady

Chcete-li použít Zde uvedené skripty, musíte:

  • nainstalujte modul PowerShell Active Directory do počítače, kde budete skript spouštět. Na tomto počítači musí být spuštěn systém Windows Server 2012 nebo novější.
  • otevřete okno PowerShell ve zvýšeném režimu.
  • spusťte skript pomocí pověření, která mají oprávnění pro přístup ke všem doménám služby Active Directory, kde shromažďujete data.

kontrola jediné domény

pokud potřebujete zkontrolovat, zda je určitý uživatel nebo účet počítače deaktivován nebo neaktivní, můžete tak učinit ručně pomocí modulu snap-in uživatelé a počítače služby Active Directory (nebo ADUC). Pokud však potřebujete identifikovat zakázané a neaktivní účty v celé doméně, je nejlepší automatizovat úlohu pomocí PowerShell.

Chcete-li například shromažďovat zakázané počítačové účty, můžete pomocí rutiny Get-ADComputer vyhledat počítačové účty, které mají vlastnost Enabled nastavenou na $False, což znamená, že účet je deaktivován:

Get-ADComputer -Filter {(Enabled -eq $False)} -ResultPageSize 2000 -ResultSetSize $null -Server <AnyDomainController> -Properties Name, OperatingSystem

zde jsou skripty pro související úkoly:

  • zkontrolujte, zda je zakázán jeden uživatelský účet
  • Získejte seznam postižených uživatelů
  • Najděte neaktivní počítačové účty
  • Najděte neaktivní uživatelské účty

kontrola napříč více doménami

pokud chcete shromažďovat informace z více domén služby Active Directory, potřebujete skript PowerShell, který může procházet každou doménou ve vašem adresáři služby Active Directory a ukládat data shromážděná pro každou doménu do samostatného souboru CSV pro tým IT odpovědný za danou doménu.

než spustíte níže uvedený skript, nezapomeňte:

  • vytvořte adresář s názvem „C:\Temp“ v místním počítači pro ukládání souborů CSV.
  • nahradit „enterprise.com“ v proměnné $CurForestName s názvem vašeho lesa.

ukázkový skript

$DomList = "C:\Temp\DomList.TXT"remove-item $DomList -ErrorAction SilentlyContinue$CurForestName="enterprise.com"$GetForest=Get-ADForest $CurForestName$Items = $R.DomainsForEach ($Domains in $Items){ Add-Content $DomList $Domain.Name}Write-Host "Starting Script..."ForEach ($DomInFile in $DomList){ $DisabledCompsCSV = "C:\Temp\DisabledAccounts_Computers_"+$DomInFile+".CSV" Remove-item $DisabledCompsCSV -ErrorAction SilentlyContinue $DisabledUsersCSV = "C:\Temp\DisabledAccounts_Users_"+$DomInFile+".CSV" Remove-item $DisabledUsersCSV -ErrorAction SilentlyContinue $InActiveUsersReport = "C:\Temp\InactiveUsers_"+$DomInFile+".CSV" Remove-item $InActiveUsersReport -ErrorAction SilentlyContinue Get-ADComputer -Server $DomInFile –Filter {(Enabled –eq $False)} –ResultPageSize 2000 –ResultSetSize $null -Properties Name, OperatingSystem | Export-CSV $DisabledCompsCSV -NoTypeInformation Search-ADAccount -Server $DomInFile –AccountDisabled –UsersOnly –ResultPageSize 2000 –ResultSetSize $null | Select-Object SamAccountName, DistinguishedName | Export-CSV $DisabledUsersCSV –NoTypeInformation Search-ADAccount -Server $DomInFile –AccountInActive –TimeSpan 90:00:00:00 –ResultPageSize 2000 –ResultSetSize $null | ?{$_.Enabled –eq $True} | Select-Object Name, SamAccountName, DistinguishedName | Export-CSV $InActiveUsersReport –NoTypeInformation}Write-Host "Script Finished collecting required information. Please check report files under C:\Temp folder"

sdílení sestav

jakmile jsou zprávy CSV generovány, můžete odeslat příslušný soubor každému IT týmu e-mailem. Alternativně můžete do skriptu vložit rutinu Send-MailMessage, aby skript tyto e-maily odeslal automaticky. O této rutině budeme diskutovat v nadcházejícím článku v této sérii.

jak může Netwrix pomoci

přestože je použití PowerShell mnohem rychlejší než ruční kontrola deaktivovaných a neaktivních účtů, vytváření, Údržba a spouštění skriptů stále vyžaduje hodně práce. Pokud jste zaneprázdněný člověk, zvažte nástroje, které automatizují práci a šetří vám čas. Například vyzbrojeni bezplatným neaktivním Sledovačem uživatelů budete moci rychle vyčistit nebo uzamknout všechny své zastaralé uživatelské účty. A robustní řešení, jako je Netwrix Auditor Pro Active Directory vám umožní hlásit o stavu účtu v několika málo kliknutí, stejně jako automatizovat audit, odhalit slabá místa zabezpečení a zefektivnit vyšetřování incidentů.

Nirmal je mcsex3, MCITP a získal cenu Microsoft MVP award v adresářových službách a Windows Networking. Specializuje se na skriptování PowerShell, Microsoft Azure, Office 365, adresářové služby, klastry Failover, Hyper-V a produkty System Center.

Write a Comment

Vaše e-mailová adresa nebude zveřejněna.