Kayıt ol
Tolga CEYHANTolga CEYHAN
Bildiri Daha fazla göster
Yazı Tipi BoyutlandırıcıAaa
  • Anasayfa
  • Rehberler & DeneyimlerRehberler & DeneyimlerRehberler & Deneyimler
    • TeknolojiTeknolojiTeknoloji
    • WordPressWordPressWordPress
    • Genel YaşamGenel YaşamGenel Yaşam
  • SanallaştırmaSanallaştırmaSanallaştırma
    • Hyper-VHyper-VHyper-V
  • Sistem Yönetimi
    • Ağ ve GüvenlikAğ ve GüvenlikAğ ve Güvenlik
    • Sistem GüvenliğiSistem GüvenliğiSistem Güvenliği
    • AzureAzureAzure
    • Active DirectoryActive DirectoryActive Directory
    • File ServerFile ServerFile Server
    • Group Policy (Grup İlkesi)Group Policy (Grup İlkesi)Group Policy (Grup İlkesi)
    • PowerShellPowerShellPowerShell
    • SQL ServerSQL ServerSQL Server
    • LinuxLinuxLinux
  • System Center
    • SCCMSCCMSCCM
  • Windows İşletim SistemleriWindows İşletim SistemleriWindows İşletim Sistemleri
    • Windows ServerWindows ServerWindows Server
      • Windows Server 2025
      • Server 2016
      • Server 2019
    • Windows 11
    • Windows 10
  • Veri & Yedekleme
    • Veeam Backup & ReplicationVeeam Backup & ReplicationVeeam Backup & Replication
Okuma: PowerShell AD Kullanıcı Oluşturma ve Mailbox Atama (Tam Otomasyon)
Paylaş
Tolga CEYHANTolga CEYHAN
Yazı Tipi BoyutlandırıcıAaa
  • Anasayfa
  • Hakkımda
  • İletisim
Arama
  • Anasayfa
  • Rehberler & DeneyimlerRehberler & DeneyimlerRehberler & Deneyimler
    • TeknolojiTeknolojiTeknoloji
    • WordPressWordPressWordPress
    • Genel YaşamGenel YaşamGenel Yaşam
  • SanallaştırmaSanallaştırmaSanallaştırma
    • Hyper-VHyper-VHyper-V
  • Sistem Yönetimi
    • Ağ ve GüvenlikAğ ve GüvenlikAğ ve Güvenlik
    • Sistem GüvenliğiSistem GüvenliğiSistem Güvenliği
    • AzureAzureAzure
    • Active DirectoryActive DirectoryActive Directory
    • File ServerFile ServerFile Server
    • Group Policy (Grup İlkesi)Group Policy (Grup İlkesi)Group Policy (Grup İlkesi)
    • PowerShellPowerShellPowerShell
    • SQL ServerSQL ServerSQL Server
    • LinuxLinuxLinux
  • System Center
    • SCCMSCCMSCCM
  • Windows İşletim SistemleriWindows İşletim SistemleriWindows İşletim Sistemleri
    • Windows ServerWindows ServerWindows Server
    • Windows 11
    • Windows 10
  • Veri & Yedekleme
    • Veeam Backup & ReplicationVeeam Backup & ReplicationVeeam Backup & Replication
Mevcut bir hesabınız var mı ? Kayıt ol
Bizi takip edin
  • Gizlilik Politikası
  • KVKK (Kişisel Verilerin Korunması Kanunu)
  • Çerez Politikası
  • Şartlar ve Koşullar
© 2022 Foxiz News Network. Ruby Design Company. All Rights Reserved.
Tolga CEYHAN > Sistem Yönetimi > Active Directory > PowerShell AD Kullanıcı Oluşturma ve Mailbox Atama (Tam Otomasyon)
Active DirectoryPowerShellSistem GüvenliğiSistem Yönetimi

PowerShell AD Kullanıcı Oluşturma ve Mailbox Atama (Tam Otomasyon)

Tolga CEYHAN
Son güncelleme: 17 Kasım 2025 23:03
Tolga CEYHAN
Paylaş
powershell ad kullanıcı oluşturma
Paylaş

PowerShell AD Kullanıcı Oluşturma Neden Önemli?

Kurumsal yapılarda powershell ad kullanıcı oluşturma süreçlerini otomatikleştirmek, hem zamandan tasarruf sağlar hem de insan hatasını minimuma indirir. Yeni işe başlayan bir çalışan için BT ekibinin yapması gereken işlemler oldukça fazladır: Active Directory hesabı açma, OU’ya taşıma, Exchange mailbox oluşturma, Office 365 lisansı atama, Teams üyeliği ekleme ve OneDrive provisioning gibi adımlar manuel yapıldığında zaman alır. PowerShell ile bu süreci tek bir script ile tamamen otomatik hale getirmek mümkündür.

Contents
PowerShell AD Kullanıcı Oluşturma Neden Önemli?Kurumsal Hesap Oluşturmayı Tamamen Otomatik Hale GetirmePowerShell AD Kullanıcı Oluşturma İçin GereksinimlerÖn Gereksinimler✔ AD Modülü✔ Azure AD / MS Graph Modülleri✔ Exchange Online Modülü✔ CSV DosyasıPowerShell AD Kullanıcı Oluşturma ve Mailbox Atama (OneDrive + Teams Dahil)Kullanıcı Oluşturma Sonrası OneDrive ve Teams OtomasyonuScript’in Sunduğu Otomasyon ÖzetiDetaylı Bİlgi İçin Microsoft Dökümanları:

Bu yazıda AD kullanıcı oluşturma, Office 365 lisans atama, Exchange mailbox kurma, OneDrive provisioning ve Teams grup otomasyonu gibi işlemleri tek bir script içinde birleştiren kurumsal seviye bir otomasyon anlatılmaktadır.

Kurumsal Hesap Oluşturmayı Tamamen Otomatik Hale Getirme

Yeni işe başlayanlar için BT ekiplerinin yaptığı işlemler oldukça fazladır:

  • AD hesabı oluşturma

  • OU’ya taşıma

  • Parola verme

  • Office 365 lisansı atama

  • Mailbox oluşturma

  • OneDrive provisioning

  • Teams’e kullanıcı ekleme veya yeni Teams grubu oluşturma

  • Yöneticilere bilgilendirme maili gönderme

Bu makalede tüm bu işlemleri tek bir script ile, tamamen otomatik hale getiriyoruz.

Bu kurumsal otomasyon;
Helps Desk süresini %80 azaltır,
kullanıcı onboarding sürecini standardize eder,
hataları ortadan kaldırır.

PowerShell AD Kullanıcı Oluşturma İçin Gereksinimler

Aşağıdaki modüller kurulu olmalıdır:

  • Active Directory RSAT modülü

  • AzureAD PowerShell

  • Microsoft Graph (Teams + OneDrive)

  • Exchange Online Management

Yeni kullanıcı bilgileri ise CSV dosyasından otomatik okunur.

Ön Gereksinimler

✔ AD Modülü

Install-WindowsFeature RSAT-AD-PowerShell

✔ Azure AD / MS Graph Modülleri

Install-Module AzureAD
Install-Module Microsoft.Graph.Users
Install-Module Microsoft.Graph.Teams
Install-Module Microsoft.Graph.Files

✔ Exchange Online Modülü

Install-Module ExchangeOnlineManagement

✔ CSV Dosyası

NewUsers.csv



FirstName,LastName,Department,Title,Username,OU,License,TeamsGroup
Ahmet,Yılmaz,IT,System Administrator,ahmet.yilmaz,"OU=Users,OU=Istanbul,DC=tolgaceyhan,DC=com",E3,IT-Departmani
Elif,Kara,Finance,Accountant,elif.kara,"OU=Users,OU=Ankara,DC=tolgaceyhan,DC=com",E1,Muhasebe

PowerShell AD Kullanıcı Oluşturma ve Mailbox Atama (OneDrive + Teams Dahil)

Aşağıdaki script;
✔ Active Directory hesabı oluşturur
✔ OU’ya taşır
✔ Rastgele parola verir
✔ Azure AD üzerinden Office 365 lisansı atar
✔ Exchange Online mailbox açar
✔ OneDrive provisioning yapar
✔ Teams grubuna kullanıcı ekler
✔ Yöneticilere otomatik bilgilendirme e-posta gönderir

Bu script, powershell ad kullanıcı oluşturma otomasyonu için kurumsal seviyede en kapsamlı çözümlerden biridir.



<#
.SYNOPSIS
AD Kullanıcı Oluşturma + O365 Lisans + Exchange Mailbox + OneDrive Provisioning + Teams Otomasyonu + Mail Bildirimi
.DESCRIPTION
CSV’den bilgileri okuyarak kurumsal onboarding sürecini tamamen otomatik hale getirir.
#># ----------------------------
# AYARLAR
# ----------------------------

$CsvPath = "C:\Scripts\NewUsers.csv"
$LogFile = "C:\Scripts\Logs\UserCreation_$(Get-Date -Format yyyyMMdd).log"

$Domain = "tolgaceyhan.com"

# Bildirim mail adresleri
$NotifyEmails = @(
"[email protected]",
"[email protected]"
)

# SMTP Ayarları (dilersen O365'e göre değiştirebilirim)
$SMTPServer = "smtp.tolgaceyhan.com"
$SMTPPort = 587
$SMTPUser = "[email protected]"
$SMTPPass = "BurayaSifreGirin!"

# Lisans eşleşmeleri
$LicenseMap = @{
"E3" = "tolgaceyhan:ENTERPRISEPACK"
"E1" = "tolgaceyhan:STANDARDPACK"
}

# ----------------------------
# LOG FONKSİYONU
# ----------------------------
function Write-Log {
param([string]$Message)
$Time = Get-Date -Format "yyyy-MM-dd HH:mm:ss"
"$Time - $Message" | Out-File -FilePath $LogFile -Append
}

# ----------------------------
# BAĞLANTILAR
# ----------------------------
Write-Log "Azure AD bağlantısı kuruluyor..."
Connect-AzureAD

Write-Log "Exchange Online bağlantısı kuruluyor..."
Connect-ExchangeOnline

Write-Log "Microsoft Graph bağlantısı kuruluyor..."
Connect-MgGraph -Scopes "User.ReadWrite.All","Group.ReadWrite.All","Team.ReadWrite.All","Files.ReadWrite.All"
Select-MgProfile -Name "beta"

# ----------------------------
# KULLANICI OLUŞTURMA
# ----------------------------
$Users = Import-Csv $CsvPath

foreach ($u in $Users) {

try {
Write-Log "Kullanıcı oluşturma başlatıldı: $($u.FirstName) $($u.LastName)"

# Parola oluştur
$Password = [System.Web.Security.Membership]::GeneratePassword(12,2)
$SecurePassword = ConvertTo-SecureString $Password -AsPlainText -Force

# AD kullanıcı oluştur
New-ADUser `
-Name "$($u.FirstName) $($u.LastName)" `
-SamAccountName $u.Username `
-UserPrincipalName "$($u.Username)@$Domain" `
-GivenName $u.FirstName `
-Surname $u.LastName `
-Title $u.Title `
-Department $u.Department `
-Path $u.OU `
-AccountPassword $SecurePassword `
-Enabled $true

Write-Log "AD hesabı oluşturuldu: $($u.Username)"

Start-Sleep -Seconds 10 # Replikasyon bekleme

# Azure AD User
$AzureUser = Get-AzureADUser -ObjectId "$($u.Username)@$Domain"

# Lisans atama
if ($LicenseMap.ContainsKey($u.License)) {
$Sku = $LicenseMap[$u.License]
Set-AzureADUserLicense -ObjectId $AzureUser.ObjectId `
-AssignedLicenses @{AddLicenses=@($Sku);RemoveLicenses=@()}

Write-Log "Lisans atandı: $($u.License)"
}

# Exchange mailbox oluştur
Enable-Mailbox -Identity "$($u.Username)@$Domain"
Write-Log "Mailbox oluşturuldu."

# ----------------------------
# OneDrive Provisioning
# ----------------------------
Write-Log "OneDrive provisioning yapılıyor..."
Request-SPOPersonalSite -UserEmails "$($u.Username)@$Domain"
Write-Log "OneDrive oluşturma isteği gönderildi."

# ----------------------------
# Teams grup yönetimi
# ----------------------------

if ($u.TeamsGroup -ne "") {

Write-Log "Teams grubu işleniyor: $($u.TeamsGroup)"

# Grup var mı kontrol et
$Group = Get-MgGroup -Filter "displayName eq '$($u.TeamsGroup)'"

if (!$Group) {
Write-Log "Teams grubu bulunamadı. Yeni grup oluşturuluyor..."

$Group = New-MgGroup `
-DisplayName $u.TeamsGroup `
-MailEnabled $false `
-MailNickname $u.TeamsGroup.Replace(" ","") `
-SecurityEnabled $true
}

# Kullanıcıyı gruba ekle
New-MgGroupMember -GroupId $Group.Id -DirectoryObjectId $AzureUser.ObjectId
Write-Log "Kullanıcı Teams grubuna eklendi."
}

# ----------------------------
# BİLDİRİM MAILİ
# ----------------------------
$Subject = "Yeni Kullanıcı Oluşturuldu: $($u.FirstName) $($u.LastName)"
$Body = @"
Yeni kullanıcı başarıyla oluşturuldu:

Ad Soyad :

$($u.FirstName) $($u.LastName)
Kullanıcı : $($u.Username)
UPN : $($u.Username)@$Domain
Departman : $($u.Department)
Title : $($u.Title)
Lisans : $($u.License)
Teams : $($u.TeamsGroup)
OneDrive : Provision edildi
Parola : $Passwordtolgaceyhan.com – Otomasyon Yönetim Sistemi
"@

foreach ($Email in $NotifyEmails) {
Send-MailMessage `
-From $SMTPUser `
-To $Email `
-Subject $Subject `
-Body $Body `
-SmtpServer $SMTPServer `
-UseSsl `
-Credential (New-Object pscredential($SMTPUser,(ConvertTo-SecureString $SMTPPass -AsPlainText -Force))) `
-Port $SMTPPort

Write-Log "Bildirim gönderildi: $Email"
}

Write-Log "Kullanıcı tamamlandı: $($u.Username)"
Write-Log "------------------------------"

} catch {
Write-Log "HATA: $($_.Exception.Message)"
}
}

Write-Log "Tüm işlemler başarıyla tamamlandı."

Kullanıcı Oluşturma Sonrası OneDrive ve Teams Otomasyonu

OneDrive provisioning işlemi ile kullanıcıya ait kişisel bulut alanı otomatik oluşturulur.
Teams otomasyonu sayesinde kullanıcı ait olduğu departman grubuna kendiliğinden dahil edilir.
Bu özellikler onboarding sürecini hızlandırır ve BT ekiplerinin iş yükünü azaltır.

Script’in Sunduğu Otomasyon Özeti

İşlemDurum
AD kullanıcı oluşturma✔
Parola üretme✔
OU’ya yerleştirme✔
O365 lisans atama✔
Exchange mailbox✔
OneDrive provisioning✔
Teams grup oluşturma / üye ekleme✔
Yöneticilere otomatik mail gönderme✔
Detaylı log kaydı✔

Bu makalede, powershell ad kullanıcı oluşturma sürecinin nasıl tam otomasyona dönüştürüldüğünü detaylı şekilde inceledik. AD hesabı oluşturma, lisans atama, mailbox provisioning, Teams ve OneDrive işlemlerinin tek bir script ile yapılması hem operasyonel hız sağlar hem de hata riskini azaltır. Büyük kurumsal yapılarda bu tür otomasyonlar standart haline getirilmelidir.

Daha Önce hazırlamış olduğum bazı powershell script konulu yazılar:

PowerShell ile Active Directory Kullanıcılarını CSV’ye Aktarma

PowerShell ile Sistem Envanteri ve Raporlama

PowerShell ile GPO Yönetimi

Detaylı Bİlgi İçin Microsoft Dökümanları:

  • https://learn.microsoft.com/en-us/powershell/module/active-directory

  • https://learn.microsoft.com/en-us/powershell/module/microsoft.graph

  • https://learn.microsoft.com/en-us/powershell/module/exchange

  • https://learn.microsoft.com/en-us/azure/active-directory/fundamentals/active-directory-users-profile-azure-portal

ETİKETLENDİ:Active DirectoryAzure ADexchange onlinekullanıcı oluşturmakurumsal scriptmailboxoffice 365onedriveotomasyonpowershellteams

Haber Bültenine Kaydolun

Gelişmeleri takip edin! Son dakika haberlerini doğrudan e-posta kutunuza alın.
[mc4wp_form id=310]
Kaydolarak şartlarımızı kabul etmiş olursunuz. Kullanım Şartları ve verileri saklamamızı kabul edersinizGizlilik Politikası. Dilediğiniz zaman aboneliğinizi iptal edebilirsiniz.
Bu makaleyi paylaş
Facebook Twitter Bağlantıyı kopyala Yazdır
Paylaş
By Tolga CEYHAN
Takip et:
Tolga CEYHAN, bilgi teknolojilerini severek takip eder ve BT üzerine hali hazırda aktif olarak çalışmaktadır. 2006 yılından 2017 yılına kadar web tasarım yazılım üzerine çalışmalar yaptım. Şuan ise Windows Sistem ve Sistem Güvenliği alanında çalışmalarımı sürdürmekteyim.
Önceki makale PowerShell Otomasyon Scriptleri
Sonraki Makale Active Directory LAPS Kurulumu – Windows LAPS Rehberi
Yorum Yap

Bir yanıt yazın Yanıtı iptal et

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Bunlarda İlginizi Çekebilir

Ağ ve GüvenlikFile ServerFirewall-Güvenlik DuvarıPowerShellRehberler & DeneyimlerSistem Güvenliği

NTFS Permission Tasarımı ve AGDLP Modeli Rehberi

Tolga CEYHAN Tolga CEYHAN 8 Min Read
File ServerRehberler & DeneyimlerSistem Yönetimi

Windows File Server Güvenliği Rehberi

Tolga CEYHAN Tolga CEYHAN 4 Min Read
Genel YaşamRehberler & DeneyimlerTeknoloji

Blockchain Mantığı ile PowerShell Log Bütünlüğü

Tolga CEYHAN Tolga CEYHAN 5 Min Read
  • Anasayfa
  • Hakkımda
  • İletisim

Arama Yap..

Tolga CEYHANTolga CEYHAN
Bizi takip edin
© 2017 Tolga CEYHAN. All Rights Reserved.
  • Gizlilik Politikası
  • KVKK (Kişisel Verilerin Korunması Kanunu)
  • Çerez Politikası
  • Şartlar ve Koşullar
Go to mobile version