Přidání skriptu Find-EmptySecurityGroups.ps1
This commit is contained in:
61
Find-EmptySecurityGroups.ps1
Normal file
61
Find-EmptySecurityGroups.ps1
Normal file
@@ -0,0 +1,61 @@
|
||||
<#
|
||||
.SYNOPSIS
|
||||
Tento skript vypíše všechny bezpečnostní skupiny v Active Directory, které nemají žádné členy.
|
||||
|
||||
.DESCRIPTION
|
||||
Tento PowerShell skript využívá Active Directory cmdlety pro získání seznamu všech bezpečnostních skupin a následně kontroluje, zda skupiny neobsahují členy.
|
||||
Pokud skupina nemá žádné členy, její název bude vypsán do konzole.
|
||||
|
||||
.PARAMETER None
|
||||
Skript nevyžaduje žádné vstupní parametry.
|
||||
|
||||
.EXAMPLE
|
||||
.\Find-EmptySecurityGroups.ps1
|
||||
Skript zobrazí všechny prázdné bezpečnostní skupiny v Active Directory.
|
||||
|
||||
.EXAMPLE
|
||||
.\Find-EmptySecurityGroups.ps1 | Export-Csv -Path .\Export_EmptySecurityGroups.csv -NoTypeInformation -Encoding UTF8
|
||||
Export všechn prázdných bezpečnostních skupiny v Active Directory do CSV.
|
||||
|
||||
.NOTES
|
||||
Autor: Petr Štěpán
|
||||
Datum vytvoření: 20.10.2024
|
||||
Verze: 1.0
|
||||
|
||||
.LINK
|
||||
https://git.totalservice.cz/public/AD-Tools
|
||||
#>
|
||||
|
||||
# Vyžaduje modul Active Directory
|
||||
Import-Module ActiveDirectory
|
||||
|
||||
# Inicializace prázdného pole pro ukládání prázdných skupin
|
||||
$emptyGroups = @()
|
||||
# Inicializace počátečního stavu progress baru
|
||||
$counter = 0
|
||||
|
||||
# Získání všech bezpečnostních skupin v Active Directory
|
||||
$securityGroups = Get-ADGroup -Filter {GroupCategory -eq 'Security'}
|
||||
|
||||
# Procházení každé skupiny a kontrola, zda nemá žádné členy
|
||||
foreach ($group in $securityGroups) {
|
||||
$counter++
|
||||
Write-Progress -Activity "Kontrola skupiny $($Group.Name)" -Status "Zpracovávám $counter z $($securityGroups.Count)" -PercentComplete (($counter / $securityGroups.Count) * 100)
|
||||
|
||||
$members = Get-ADGroupMember -Identity $group.DistinguishedName -ErrorAction SilentlyContinue
|
||||
if ($members.Count -eq 0) {
|
||||
# Uložení informace o prázdné skupině do PSCustomObject
|
||||
$emptyGroups += [PSCustomObject]@{
|
||||
GroupName = $group.Name
|
||||
CanonicalName = $group.CanonicalName
|
||||
DistinguishedName = $group.DistinguishedName
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Pokud existují prázdné skupiny, vypište je
|
||||
if ($emptyGroups.Count -gt 0) {
|
||||
$emptyGroups
|
||||
} else {
|
||||
Write-Host "Žádné prázdné bezpečnostní skupiny nebyly nalezeny."
|
||||
}
|
||||
Reference in New Issue
Block a user