CSV dosyasından AD kullanıcıları farklı OU ya taşıma / Move AD users into target OU from CSV file

09:42:00 0 Comments A+ a-

Arkadaşlar Merhaba,
Active Directory de  kullanıcıları farklı bir OU taşıma yapmak istediğinizde grafik ekranda tek tek yapmak zaman alacağı için powershell ile hepsini taşıyabilirsiniz.
Tabi burada elinizde bir kullanıcı listesi olması gerekmekte.  Ben yine lazım olduğunda araştırıp taşıma için kullandığım aşağıdaki scripti sizlerle paylaşmak istedim.
Kırmızı alanları kendinize göre düzenleyebilirsiniz. Aşağıdaki içeriği kopyalayıp “dosyaismi.PS1” şeklinde kaydetmeniz yeterli.
##############################################################
# Import AD Module
import-module ActiveDirectory

# Import CSV
$MoveList = Import-Csv -Path "C:\Temp\Tasinacakkullanicilar.csv"
# Specify target OU.This is where users will be moved.
$TargetOU =  "OU=TasinacakAltOU,OU=TasinacakOU,DC=SinanArslan,DC=com"
# Import the data from CSV file and assign it to variable
$Imported_csv = Import-Csv -Path "C:\temp\Tasinacakkullanicilar.csv"

$Imported_csv | ForEach-Object {
     # Retrieve DN of User.
     $UserDN  = (Get-ADUser -Identity $_.SamAccountName).distinguishedName
     Write-Host " Moving Accounts ..... "
     # Move user to target OU.
     Move-ADObject  -Identity $UserDN  -TargetPath $TargetOU
    
 }
Write-Host " Completed move "
 $total = ($MoveList).count
$total
Write-Host "Accounts have been moved succesfully..."
##############################################################



CSV dosyasının içeriği alttaki şekilde olmalı. Script te bulunan SamAccountName ile CSV dosyasının ilk satırı aynı olmalıdır.
Burada farklı bir değişken kullanmak isterseniz aynı şekilde csv dosyasının ilek satırı ile  -Identity $_.**** kısmını aynı yapmanız gerekmektedir.
Burada anlaşılacağı gibi –Identity $_.*** değişkeni ne olduğunu anlamak için kısmı csv nin ilk satırına bakmaktadır.