Het vinden van uitgeschakelde en inactieve Accounts in AD

PowerShell is in toenemende mate de tool bij uitstek voor Windows-beheerders. De Active Directory PowerShell-module bevat meer dan 450 cmdlets waarmee u informatie kunt verzamelen over elk object in Active Directory, de status van domeincontrollers kunt controleren, GROEPSBELEIDSOBJECTGEGEVENS kunt verzamelen en meer.

dit artikel beschrijft hoe u PowerShell kunt gebruiken om uitgeschakelde en inactieve gebruikers-en computeraccounts in uw Active Directory-domeinen te vinden.

vereisten

om de hier verstrekte scripts te gebruiken, moet u:

  • installeer de Active Directory PowerShell-module op de machine waarop u het script zult uitvoeren. Op die computer moet Windows Server 2012 of hoger worden uitgevoerd.
  • Open het PowerShell-venster in een verhoogde modus.
  • voer het script uit met referenties die toegang hebben tot alle Active Directory-domeinen waar u gegevens verzamelt.

één domein controleren

als u wilt controleren of een bepaald gebruikers-of computeraccount is uitgeschakeld of inactief, kunt u dit handmatig doen met de module Active Directory-gebruikers en Computers (of ADUC). Als u echter uitgeschakelde en inactieve accounts in een domein moet identificeren, kunt u de taak het beste automatiseren met PowerShell.

om bijvoorbeeld uitgeschakelde computeraccounts te verzamelen, kunt u de cmdlet Get-ADComputer gebruiken om te zoeken naar computeraccounts waarvan de eigenschap ingeschakeld is ingesteld op $False, wat aangeeft dat het account is uitgeschakeld:

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

hier zijn scripts voor gerelateerde taken:

  • Controleer of een enkel gebruikersaccount is uitgeschakeld
  • een lijst met Uitgeschakelde gebruikers
  • inactieve computeraccounts
  • inactieve gebruikersaccounts

controleren op meerdere domeinen

Als u informatie wilt verzamelen uit meerdere Active Directory-domeinen, hebt u een PowerShell-script nodig dat elk domein in uw Active Directory-forest kan doorlopen en de verzamelde gegevens voor elk domein kan opslaan in een afzonderlijk CSV-bestand voor het IT-team dat verantwoordelijk is voor dat domein.

voordat u het onderstaande script uitvoert, moet u:

  • Maak een map met de naam “C:\Temp” op de lokale computer om de CSV-bestanden op te slaan.
  • vervangen door “enterprise.com” in de $ CurForestName variabele met de naam van je forest.

voorbeeldscript

$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"

het delen van de rapporten

zodra de CSV-rapporten zijn gegenereerd, kunt u het juiste bestand naar elk IT-team sturen via e-mail. Als alternatief kunt u de send-MailMessage cmdlet in het script insluiten, zodat het script deze e-mails automatisch verzendt. We zullen deze cmdlet bespreken in een volgend artikel in deze serie.

hoe Netwrix

kan helpen hoewel het gebruik van PowerShell veel sneller is dan handmatig controleren op uitgeschakelde en inactieve accounts, kost het nog steeds veel werk om scripts te maken, te onderhouden en uit te voeren. Als u een druk persoon, overwegen op zoek naar tools die het werk te automatiseren en bespaart u tijd. Bijvoorbeeld, gewapend met de gratis inactieve gebruiker Tracker, zult u in staat om snel schoon te maken of vergrendelen van al uw muffe gebruikersaccounts. En een robuuste oplossing zoals Netwrix Auditor voor Active Directory stelt u in staat om in slechts een paar klikken de accountstatus te rapporteren, auditing te automatiseren, beveiligingsproblemen te ontdekken en incidentonderzoeken te stroomlijnen.

Nirmal is een MCSEx3, MCITP, en hij werd bekroond met de Microsoft MVP award in Directory Services en Windows Networking. Hij is gespecialiseerd in PowerShell Scripting, Microsoft Azure, Office 365, Directory Services, Failover Clusters, Hyper-V, en System Center producten.

Write a Comment

Het e-mailadres wordt niet gepubliceerd.