PowerShell-ben egyre inkább a Windows rendszergazdáinak választott eszköze. Az Active Directory PowerShell modul több mint 450 parancsmagot tartalmaz, amelyek segítségével információkat gyűjthet az Active Directory minden objektumáról, ellenőrizheti a tartományvezérlők állapotát, összegyűjtheti a csoportházirend-objektumok adatait és így tovább.
ez a cikk részletesen ismerteti, hogyan lehet a PowerShell használatával letiltott és inaktív felhasználói és számítógépes fiókokat keresni az Active Directory-tartományokban.
előfeltételek
az itt megadott szkriptek használatához:
- telepítse az Active Directory PowerShell modult arra a gépre, ahol a szkriptet végrehajtja. A számítógépnek Windows Server 2012 vagy újabb rendszert kell futtatnia.
- nyissa meg a PowerShell ablakot emelt módban.
- futtassa a parancsfájlt olyan hitelesítő adatokkal, amelyek hozzáféréssel rendelkeznek az összes olyan Active Directory-tartományhoz, ahol adatokat gyűjt.
egyetlen tartomány ellenőrzése
ha ellenőrizni szeretné, hogy egy adott felhasználó vagy számítógépfiók le van-e tiltva vagy inaktív-e, ezt manuálisan is megteheti az Active Directory felhasználók és számítógépek (vagy ADUC) beépülő modul segítségével. Ha azonban egy tartományban be kell azonosítania a letiltott és inaktív fiókokat, a legjobb, ha a feladatot a PowerShell segítségével automatizálja.
letiltott számítógépfiókok gyűjtéséhez például a Get-ADComputer parancsmag segítségével megkeresheti azokat a számítógépfiókokat, amelyeknél az Enabled tulajdonság értéke $ False, ami azt jelzi, hogy a fiók le van tiltva:
Get-ADComputer -Filter {(Enabled -eq $False)} -ResultPageSize 2000 -ResultSetSize $null -Server <AnyDomainController> -Properties Name, OperatingSystem
itt vannak szkriptek a kapcsolódó feladatokhoz:
- ellenőrizze, hogy egyetlen felhasználói fiók le van-e tiltva
- a letiltott felhasználók listájának megjelenítése
- inaktív számítógépes fiókok keresése
- inaktív felhasználói fiókok keresése
több tartomány ellenőrzése
ha több Active Directory-tartományból szeretne adatokat gyűjteni, akkor szüksége van egy PowerShell-parancsfájlra, amely képes az Active Directory-erdő minden tartományán keresztül végighaladni, és tárolni az összegyűjtött adatokat minden tartományhoz külön CSV-fájlban az adott tartományért felelős informatikai csapat számára.
az alábbi parancsfájl futtatása előtt győződjön meg róla, hogy:
- hozzon létre egy könyvtárat a névvel “C:\Temp” a helyi számítógépen a CSV fájlok tárolásához.
- csere “enterprise.com” a $CurForestName változóban az erdő nevével.
Minta szkript
$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"
a jelentések megosztása
a CSV-jelentések létrehozása után e-mailben elküldheti a megfelelő fájlt minden informatikai csapatnak. Alternatív megoldásként beágyazhatja a Send-MailMessage parancsmagot a szkriptbe, így a szkript automatikusan elküldi ezeket az e-maileket. Ezt a parancsmagot a sorozat egy közelgő cikkében tárgyaljuk.
hogyan segíthet a Netwrix
bár a PowerShell használata sokkal gyorsabb, mint a letiltott és inaktív fiókok kézi ellenőrzése, a szkriptek létrehozása, karbantartása és végrehajtása még mindig sok munkát igényel. Ha elfoglalt ember vagy, fontolja meg azokat az eszközöket, amelyek automatizálják a munkát és időt takarítanak meg. Például az ingyenes inaktív felhasználói nyomkövetővel felfegyverkezve gyorsan megtisztíthatja vagy lezárhatja az összes elavult felhasználói fiókot. Egy olyan robusztus megoldás, mint a Netwrix Auditor for Active Directory, lehetővé teszi, hogy néhány kattintással jelentést készítsen a fiók állapotáról, valamint automatizálja a naplózást, felfedezze a biztonsági gyenge pontokat és egyszerűsítse az incidensek kivizsgálását.