<#
.SYNOPSIS
Bu betik, kullanıcıları Domain Users dışındaki tüm gruplardan çıkarır, DisableHesap grubuna ekler, hesapları devre dışı bırakır ve "disable" OU'suna taşır.
.DESCRIPTION
Bu betik, belirli bir kullanıcı listesindeki her kullanıcı için aşağıdaki işlemleri gerçekleştirir:
- Kullanıcıyı Domain Users dışındaki tüm gruplardan çıkarır
- Kullanıcıyı DisableHesap grubuna ekler
- Kullanıcı hesabını devre dışı bırakır
- Kullanıcıyı "disable" OU'suna taşır
.AUTHOR
Elif Uçhan
.LASTEDIT
2024-07-29
.NOTES
Bu betik, Active Directory modülünü kullanır ve uygun izinlerle çalıştırılmalıdır.
Import edilecek dosyada kullanıcıların samaccountname leri arasında "," olmalıdır.
Betikte bulunan "DC=DOMAIN,DC=LOCAL" organizasyonunuza göre düzenlenmelidir.
#>
# Kullanıcı listesini dosyadan okuyun ve virgülle ayırın
$userList = Get-Content -Path "C:scriptKullanicilar.txt" -Raw
$userArray = $userList -split ',s*'
# Her kullanıcı için işlemleri gerçekleştir
foreach ($user in $userArray) {
# Kullanıcı adındaki boşlukları temizleyin
$user = $user.Trim()
try {
# Kullanıcının üye olduğu grupları alın
$groups = Get-ADUser -Identity $user -Properties MemberOf | Select-Object -ExpandProperty MemberOf
# Kullanıcıyı Domain Users dışındaki gruplardan çıkartın
foreach ($group in $groups) {
if ($group -ne "CN=Domain Users,CN=Users,DC=DOMAIN,DC=LOCAL") {
Remove-ADGroupMember -Identity $group -Members $user -Confirm:$false
}
}
# Kullanıcıyı DisableHesaplar grubuna ekleyin
Add-ADGroupMember -Identity "DisableHesap" -Members $user
# Kullanıcı hesabını devre dışı bırakın
Disable-ADAccount -Identity $user
# Kullanıcıyı "disable" OU'suna taşıyın
$userDN = (Get-ADUser -Identity $user).DistinguishedName
Move-ADObject -Identity $userDN -TargetPath "OU=Disable,OU=Kullanicilar,DC=DOMAIN,DC=LOCAL"
Write-Host "İşlem tamamlandı: $user"
}
catch {
Write-Warning "Hata oluştu: $($_.Exception.Message)"
}
}