PowerShell er i økende grad det foretrukne verktøyet For windows-administratorer. Active Directory PowerShell-modulen inneholder mer enn 450 cmdleter som du kan bruke til å samle inn informasjon om hvert objekt I Active Directory, kontrollere tilstanden til domenekontrollere, samle GPO-informasjon og mer.
Denne artikkelen beskriver hvordan Du kan bruke PowerShell til å finne deaktiverte og inaktive bruker-og datamaskinkontoer i Active Directory-domenene.
Forutsetninger
for å bruke skriptene som er oppgitt her, må du:
- Installer Active Directory PowerShell-modulen på maskinen der du skal utføre skriptet. Datamaskinen må kjøre Windows Server 2012 eller senere.
- Åpne PowerShell-vinduet i forhøyet modus.
- Kjør skriptet ved hjelp av legitimasjon som har tillatelse til å få tilgang til Alle Active Directory-domenene der du samler inn data.
Kontrollere Et Enkelt Domene
hvis du må kontrollere om en bestemt bruker-eller datamaskinkonto er deaktivert eller inaktiv, kan du gjøre dette manuelt ved hjelp Av snapin-modulen Active Directory-Brukere og Datamaskiner (ELLER aduc). Hvis du trenger å identifisere deaktiverte og inaktive kontoer på tvers av et domene, er det imidlertid best å automatisere oppgaven Ved Hjelp Av PowerShell.
hvis du for eksempel vil samle inn deaktiverte datamaskinkontoer, kan Du bruke Cmdleten Get-ADComputer til å søke etter datamaskinkontoer som Har egenskapen Aktivert satt til $False, som angir at kontoen er deaktivert:
Get-ADComputer -Filter {(Enabled -eq $False)} -ResultPageSize 2000 -ResultSetSize $null -Server <AnyDomainController> -Properties Name, OperatingSystem
her er skript for relaterte oppgaver:
- Kontroller om en enkelt brukerkonto er deaktivert
- Få en liste over deaktiverte brukere
- Finn inaktive datamaskinkontoer
- Finn inaktive brukerkontoer
Kontrollere Flere Domener
Hvis du vil samle inn informasjon fra Flere Active Directory-domener, trenger Du Et PowerShell-skript som kan gå gjennom hvert domene I Active Directory-skogen og lagre dataene som samles inn For hvert domene i en separat csv-fil for it-teamet som er ansvarlig for domenet.
før du kjører skriptet nedenfor, må du huske å:
- Opprett en katalog med navnet «C:\Temp» på den lokale datamaskinen for å lagre CSV-filer.
- Erstatt «enterprise.com» i $CurForestName-variabelen med navnet på skogen din.
eksempelskript
$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"
Deling av rapportene
når CSV-rapportene er generert, kan du sende den aktuelle filen til HVERT IT-team via e-post. Alternativt kan du bygge Inn Cmdleten Send-MailMessage i skriptet slik at skriptet sender disse e-postene automatisk. Vi vil diskutere denne cmdleten i en kommende artikkel i denne serien.
Hvordan Netwrix Kan Hjelpe
selv om Bruk Av PowerShell er mye raskere enn å sjekke for deaktiverte og inaktive kontoer manuelt, tar det fortsatt mye arbeid å opprette, vedlikeholde og utføre skript. Hvis du er en travel person, bør du vurdere å se på verktøy som automatiserer arbeidet og sparer tid. For eksempel, bevæpnet med Gratis Inaktiv Bruker Tracker, vil du være i stand til raskt å rydde ut eller låse ned alle dine foreldede brukerkontoer. Og en robust løsning Som Netwrix Auditor For Active Directory vil gi deg mulighet til å rapportere om kontostatus med bare noen få klikk, samt å automatisere revisjon, oppdage sikkerhetssvakheter og strømlinjeforme hendelsesundersøkelser.