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