Blog

  • Powershell Export-CSV Türkçe Karakter Çözüm

    Powershell Export-CSV Türkçe Karakter Çözüm

    Powershell Export-CSV türkçe karakter sorunu karşımıza çıkabilir. PowerShell ile bir CSV dosyası oluştururken Türkçe karakterlerin doğru şekilde görüntülenmemesi genellikle dosyanın kodlaması (encoding) ile ilgilidir. Varsayılan olarak, PowerShell’deki Export-Csv komutu UTF-8 BOM (Byte Order Mark olmadan) veya başka bir kodlamayla dosyayı kaydedebilir. Ancak Excel gibi uygulamalar bazen UTF-8 kodlamayı düzgün okuyamaz.

    Türkçe karakter sorununu çözmek için aşağıdaki yöntemleri deneyebilirsiniz:

    1. UTF-8 BOM ile Çıktı Oluşturma

    Türkçe karakterlerin doğru görüntülenmesini sağlamak için Export-Csv komutunu -Encoding parametresiyle birlikte kullanabilirsiniz:

    powershell export-csv türkçe karakter sorunu çözümü örneği
    $data = @( [PSCustomObject]@{Ad = "Ayşe"; Soyad = "Çelik"; Yaş = 30} [PSCustomObject]@{Ad = "Mehmet"; Soyad = "Yılmaz"; Yaş = 40} ) # UTF-8 BOM ile CSV oluşturma $data | Export-Csv -Path "C:\Dosyalar\output.csv" -Delimiter ";" -NoTypeInformation -Encoding UTF8

    Not: Excel genellikle UTF-8 BOM ile kaydedilmiş dosyaları doğru şekilde işler.

    2. UTF-16 Kodlaması Kullanma

    Eğer yukarıdaki çözüm çalışmazsa, UTF-16 kullanarak dosyayı kaydetmeyi deneyin. Excel UTF-16’yı varsayılan olarak destekler:

    $data | Export-Csv -Path "C:\Dosyalar\output.csv" -Delimiter ";" -NoTypeInformation -Encoding Unicode

    3. PowerShell ile Manuel Dosya Yazımı

    Bazı durumlarda, CSV yazımını Out-File komutuyla kontrol edebilirsiniz:

    $data | Export-Csv -NoTypeInformation -Delimiter ";" | Out-File -FilePath "C:\Dosyalar\output.csv" -Encoding UTF8

    4. Excel’de Manuel Kodlama Ayarları

    Eğer yukarıdaki yöntemlerle oluşturduğunuz CSV dosyasını Excel’de açtığınızda karakter sorunları devam ediyorsa:

    • Excel’de Dosya > Aç seçeneği ile CSV’yi seçin.
    • Kodlama seçeneğini UTF-8 veya Unicode (UTF-16) olarak belirleyin.
    • Ayırıcı olarak noktalı virgül (;) veya virgül (,) seçeneğini kontrol edin.

    Örnek Sorun Giderme Senaryosu

    Eğer Türkçe karakterler hala bozuk görünüyorsa, aşağıdaki kontrol listesini inceleyin:

    1. Dosya Kodlaması: Doğru -Encoding parametresini seçtiğinizden emin olun.
    2. Excel Ayarları: Dosyayı Excel yerine Notepad gibi bir uygulamada açarak karakterlerin düzgün görünüp görünmediğini kontrol edin.
    3. Dil ve Bölge Ayarları: Sisteminizin dil ve bölge ayarlarının Türkçe olduğundan emin olun.

    Sorun devam ederse, dosyayı bir metin editöründe açıp doğru görünüm sağlanana kadar farklı kodlama ayarlarını deneyebilirsiniz.

    Powershell Export-CSV Türkçe karakter sorununu çözmüş olduk. Başka daha ayrıntılı kaynak olarak Microsoft Learn inceyelelebilirsiniz.

  • AD Snapshot Nasıl Alınır ?

    AD Snapshot Nasıl Alınır ?

    AD Snapshot Nasıl Alınır: Active Directory Anlık Görüntüleri İçin Basit Bir Kılavuz

    Merhabalar bu yazıda, AD snapshotlarının ne olduğunu, neden faydalı olduklarını ve nasıl alınacağını adım adım anlatacağız. İster bir BT meraklısı olun, ister deneyimli bir yönetici, bu rehber AD snapshotlarını anlamanıza ve kullanmanıza yardımcı olacak.

    AD Snaphot; Active Directory (AD), çoğu organizasyonun BT altyapısının bel kemiğini oluşturur. Kullanıcı hesaplarından güvenlik politikalarına kadar her şeyi saklar. Ancak AD’yi yönetmek ve sorunlarını gidermek bazen karmaşık bir bulmacayı çözmek gibi hissedilebilir. İşte tam bu noktada AD snapshotları imdada yetişir!

    AD Snapshot Nedir?

    AD snapshotları, Active Directory veritabanınızın belirli bir zamandaki anlık görüntüsüdür. Geleneksel bir yedekleme değildir, daha çok AD veritabanınızın yalnızca okunabilir bir kopyasıdır. Bu kopyayı mount ederek keşfedebilir ve analiz edebilirsiniz, üstelik canlı ortamınıza herhangi bir zarar vermeden.

    Bu özellik, özellikle değişiklikleri incelemeniz, kaybolan verileri kurtarmanız veya sorunları çözmeniz gerektiğinde oldukça kullanışlıdır.

    Neden AD Snapshotlarına İhtiyacınız Var?

    AD snapshotlarını önemli kılan birkaç neden:

    1. Veri Kurtarma: Yanlışlıkla silinen bir nesneyi mi arıyorsunuz? Snapshot sayesinde kaybolan veriyi kolayca bulabilirsiniz.
    2. Sorun Giderme: AD sorunlarını canlı ortamı etkilemeden incelemenizi sağlar.
    3. Değişiklik Denetimi: Mevcut AD durumunu bir snapshot ile karşılaştırarak yetkisiz ya da beklenmeyen değişiklikleri tespit edebilirsiniz.

    Kısacası, AD snapshotları size canlı ortamınızı bozma korkusu olmadan araştırma yapma özgürlüğü verir.

    AD Snapshot Nasıl Alınır?

    AD snapshot almak düşündüğünüzden daha kolay! İşte adım adım rehber:

    1. Komut İstemini Yöneticilik Haklarıyla Açın
      Win + S tuşlarına basın, “cmd” yazın, sağ tıklayın ve “Yönetici olarak çalıştır” seçeneğini seçin.
    2. Snapshot Oluşturun
      Snapshot oluşturmak için aşağıdaki komutları kullanın:
    ntdsutil
    snapshot
    activate instance ntds
    create
    quit
    quit
    Snapshot başarıyla oluşturulduğunda bir onay mesajı göreceksiniz.
    1. Snapshot’ı Mount Edin
      Snapshot’ı erişilebilir hale getirmek için şu komutları kullanın:
    2. ntdsutil
      snapshot
      list all
      mount <snapshot_ID>
      quit
      quit
      <snapshot_ID> yerine mount etmek istediğiniz snapshot’un kimliğini yazmayı unutmayın.
    3. Snapshot’ı Keşfedin
      Snapshot’ın içeriğini görüntülemek için LDP.exe veya AD Explorer gibi araçları kullanabilirsiniz.
    4. Snapshot’ı Unmount Edin
      İşiniz bittiğinde snapshot’ı kaldırmak için:

      ntdsutil
      snapshot
      unmount <snapshot_ID>
      quit
      quit

    AD Snapshotları Kullanırken Dikkat Etmeniz Gerekenler

    • Güvenliği Sağlayın: Snapshotlar hassas veriler içerir. Yetkisiz erişimi önlemek için dikkatli saklayın.
    • Yedeklemeleri Atlamayın: Snapshotlar harika bir analiz aracı olsa da tam AD yedeklemelerinin yerini tutmaz.
    • Belgelerinizi Güncel Tutun: Hangi tarihte ve neden snapshot oluşturduğunuzu kaydetmeyi unutmayın. Bu, düzenli kalmanıza yardımcı olur.

    Sonuç

    AD Snapshotları, her Active Directory yöneticisinin araç kutusunda bulunması gereken güçlü bir araçtır. Sorun giderme, değişiklik denetimi ve veri kurtarma işlemlerini, canlı ortamınıza zarar verme korkusu olmadan yapmanızı sağlar. Eğer daha önce hiç denemediyseniz, artık deneme zamanı! Sadece birkaç komutla Snapshot oluşturabilir ve bu aracı etkin bir şekilde kullanmaya başlayabilirsiniz.

    Ne duruyorsunuz? Komut istemini açın ve Snapshot almaya başlayın.  İleri de kendinize teşekkür edeceksiniz! 😊

    Eğer bu rehberi faydalı bulduysanız, ekibinizle veya diğer BT meraklılarıyla paylaşmayı unutmayın. Active Directory yönetimini daha kolay ve eğlenceli hale getirelim!

  • PowerShell ile Hyper-V Yönetimi

    PowerShell ile Hyper-V Yönetimi

    PowerShell ile Hyper-V Yönetiminde Temel Komutlar ve Kullanımı

    Powershell ile Hyper-V, Windows işletim sistemlerinde sanal makineler oluşturmak ve yönetmek için oldukça güçlü bir platform sunar. PowerShell komutları ile Hyper-V yönetimini daha da etkili hale getirerek hızlıca sanal makineler (VM) kurabilir, yönetebilir ve yapılandırabilirsiniz. Bu yazıda, Hyper-V’nin temel PowerShell komutlarını kullanarak VM oluşturma, başlatma, durdurma gibi işlemleri nasıl yapabileceğinizi adım adım anlatacağım.

    1. Hyper-V Modülünü Yüklemek

    İlk adım olarak Hyper-V’nin sisteminizde yüklü olup olmadığını kontrol etmelisiniz. Hyper-V’nin yüklü olup olmadığını görmek için şu komutu kullanabilirsiniz:

    Get-WindowsFeature -Name Hyper-V

    Eğer Hyper-V yüklü değilse, aşağıdaki komutu kullanarak yükleyebilirsiniz:

    Install-WindowsFeature -Name Hyper-V -IncludeManagementTools -Restart

    Bu komut, Hyper-V’yi ve yönetim araçlarını yükler ve sistemin yeniden başlatılmasını gerektirir.

    2. Yeni Bir Sanal Makine Oluşturma

    Hyper-V üzerinde yeni bir sanal makine oluşturmak için New-VM komutu kullanılır. Örneğin, 20 GB boyutunda bir sanal disk ve 2 GB başlangıç belleğiyle bir VM oluşturmak için:

    New-VM -Name "VM_Adi" -MemoryStartupBytes 2GB -Path "C:\HyperV\VM_Adi" -NewVHDPath "C:\HyperV\VM_Adi\disk.vhdx" -NewVHDSizeBytes 20GB
    • -Name: VM’ye vereceğiniz ad.
    • -MemoryStartupBytes: VM’nin başlarken kullanacağı bellek miktarı.
    • -Path: VM’nin dosyalarının depolanacağı klasör.
    • -NewVHDPath: Sanal diskin (VHD veya VHDX) kaydedileceği yol.
    • -NewVHDSizeBytes: Sanal diskin boyutu.

    3. Sanal Makineyi Başlatma ve Durdurma

    Oluşturduğunuz sanal makineyi başlatmak veya durdurmak için Start-VM ve Stop-VM komutlarını kullanabilirsiniz:

    • Sanal makineyi başlatmak için:
    Start-VM -Name "VM_Adi"
    • Sanal makineyi durdurmak için:
    Stop-VM -Name "VM_Adi"

    Bu komutlarla, VM’yi hızlıca başlatabilir ve durdurabilirsiniz.

    4. Sanal Makineyi Silme

    Bir VM’yi kaldırmak için Remove-VM komutunu kullanabilirsiniz. Ancak, bu komut sadece VM’yi siler, sanal diskleri (VHD veya VHDX) korur:

    Remove-VM -Name "VM_Adi"

    Eğer sanal diski de silmek isterseniz, dosya konumuna gidip manuel olarak silmeniz gerekecektir.

    5. Mevcut Sanal Makineleri Listeleme

    Hyper-V üzerinde çalışan veya durdurulmuş tüm VM’leri görmek için Get-VM komutunu kullanabilirsiniz:

    Get-VM

    Bu komut, Hyper-V üzerinde mevcut tüm VM’lerin isimlerini, durumlarını ve daha fazla detayını gösterir.

    6. Sanal Makineye Bellek Eklemek

    Bir VM’ye daha fazla bellek atamak veya mevcut belleği ayarlamak için Set-VM komutunu kullanabilirsiniz:

    Set-VM -Name "VM_Adi" -MemoryStartupBytes 4GB

    Bu örnekte, VM’nin başlangıç belleği 4 GB olarak ayarlanmıştır.

    7. Sanal Ağ Bağdaştırıcısı Ekleme

    VM’yi bir ağa bağlamak için Add-VMNetworkAdapter komutunu kullanarak bir ağ bağdaştırıcısı ekleyebilirsiniz:

    Add-VMNetworkAdapter -VMName "VM_Adi" -SwitchName "Switch_Adi"

    Bu komut, VM’yi belirtilen sanal anahtara bağlayarak ağa erişmesini sağlar.

    8. Ek Sanal Sabit Disk Ekleme

    Mevcut bir VM’ye ek bir sanal disk eklemek istiyorsanız, Add-VMHardDiskDrive komutunu kullanabilirsiniz:

    Add-VMHardDiskDrive -VMName "VM_Adi" -Path "C:\HyperV\YeniDisk.vhdx"

    Bu komut, VM’ye yeni bir sanal disk ekler. Diskin yolunu ve adını -Path parametresi ile belirtebilirsiniz.

    9. Sanal Makinenin Durumunu Kontrol Etme

    Bir VM’nin çalışıp çalışmadığını kontrol etmek için Get-VM komutuyla birlikte Select-Object komutunu kullanabilirsiniz:

    Get-VM -Name "VM_Adi" | Select-Object Name, State

    Bu komut, VM’nin adını ve durumunu (çalışıyor, durdurulmuş vb.) gösterir.

    10. Anlık Görüntü (Snapshot) Alma ve Geri Yükleme

    Hyper-V üzerinde, bir VM’nin anlık görüntüsünü (snapshot) alarak herhangi bir anda VM’nin o anki durumuna geri dönebilirsiniz:

    • Anlık görüntü almak için:
    Checkpoint-VM -Name "VM_Adi" -SnapshotName "Anlik_Goruntu_Adi"
    • Snapshot’u geri yüklemek için:
    Restore-VMSnapshot -VMName "VM_Adi" -Name "Anlik_Goruntu_Adi"

    Anlık görüntüler, VM üzerinde kritik değişiklikler yapmadan önce durumu kaydetmek için faydalıdır.

    PowerShell ile Hyper-V yönetimi, sanal makinelerinizi kolayca yapılandırmanıza, yönetmenize ve izlemenize yardımcı olur. Yukarıdaki komutlarla temel sanal makine işlemlerini rahatça gerçekleştirebilir, iş akışınızı hızlandırabilirsiniz.

  • Powershell  ile AD Kullanıcı ve Bİlgisayarları Dışa Aktarma Komutları

    Powershell ile AD Kullanıcı ve Bİlgisayarları Dışa Aktarma Komutları

    Powershell ile Active Directory Kullanıcı ve Bİlgisayarları Dışa Aktarma Komutları

    AD Powershell Komutları ile yapabileceğimiz bazı senaryoları sizlerle paylaşmak istiyorum. Bu komutları kullanarak işlerinizi daha hızlı bir şekilde yapabileceksiniz.

    AD Powershell

     

    AD Powershell ile Belirli Bir OU Kullanıcılarının Listesinin Dışarı Aktarılması

    Active Directroy içerisnde bulunan OU lar içerisinde belirlemiş olduğunuz OU daki kullanıcıları listeleyip dışarıya aktarabilirsiniz. Bu işlem için  Active Directory Module for Windows Powershell üzerinde, aşağıda sizlere belirtmiş olduğum komutları çalıştırmanız yeterli olacaktır.

    Get-ADUser -Filter * -SearchBase "OU=BT,OU=KULLANICILAR,DC=tolgaceyhan,DC=com" -Properties * |
    Export-Csv "c:\users\tolga.ceyhan\desktop\BT.csv" -Encoding Unicode
    Get-ADUser -Filter * -SearchBase "OU=KULLANICILAR,DC=tolgaceyhan,DC=com" -Prop displayName,
    employeeExpenseCenter | Select-Object displayName,employeeExpenseCenter >
    c:\users\tolga.ceyhan\desktop\users.csv

    Active Directory Belirli Bir Grubun Listesinin Dışarı Aktarılması

     

    Ayrıca Active Directory üzerinde yukarıdaki önerkte anlatmış olduğum gibi kullanıcılar yerine grupların listelenmesini de isteyebilirsiniz. Bunun için aşağıdaki powershell komutlarını kullanabilirsiniz;

    Get-ADGroupMember -identity “TEKNİK_GRUBU” -recursive | select name |
    Export-csv -path c:\users\tolga.ceyhan\desktop\Teknik_Grup.csv -Encoding Unicode

     

     

    Active Directory Tüm Bilgisayar Listesinin Dışarı Aktarılması

    Son olarak, bazen çalıştığınız kurum ya da kuruluşta bulunan tüm bilgiayarların listesine ihtiyaç duyabilirsiniz. İhtiyacınız olmasa dahi bu listenin sizde olması bazı işlerinizde size kolaylık sağlar. Bu sebepten Active Directory yapınızda bulunan tüm bilgisayarların bir listesini isterseniz aşağıda belirtmiş olduğum powershell komudunu çalıştırabilirsiniz;

    Get-ADComputer -Filter * -Property * | Select-Object Name,OperatingSystem,
    OperatingSystemServicePack,OperatingSystemVersion | Export-CSV AllComputers.csv
    -NoTypeInformation -Encoding UTF8

    Daha fazla AD powershell komutları için MİCROSOFT DÖKÜMANLARINI incelemenizi tavsiye ederim.

  • Powershell ile SCCM Dağıtım Noktası Kaldırma [2025 Rehberi]

    Powershell ile SCCM Dağıtım Noktası Kaldırma [2025 Rehberi]

    Powershell ile SCCM Dağıtım Noktasını Nasıl Kaldırırsınız?

    Powershell ile SCCM altyapısında dağıtım noktası kaldırmak, manuel işlem hatalarını azaltmak ve zaman kazanmak için oldukça etkili bir yöntemdir. Bu rehberde, SCCM yönetiminde dağıtım noktalarını PowerShell komutları ile adım adım nasıl kaldıracağınızı öğreneceksiniz.

    1. PowerShell Ortamını Hazırlamak

    İlk olarak, PowerShell’i yönetici olarak çalıştırmanız gerekir. Bunun için:

    • Başlat Menüsü’nden “PowerShell” yazın.
    • “Windows PowerShell” üzerine sağ tıklayın ve “Yönetici olarak çalıştır” seçeneğini seçin.

    2. PowerShell Modülünü Yükleyin

    Ardından, SCCM cmdlet’lerini kullanabilmek için aşağıdaki komutları çalıştırın:

    Import-Module -Name "$(Split-Path $env:SMS_ADMIN_UI_PATH)\..\ConfigurationManager.psd1"
    CD "SCCMSiteCode:"
    

    Not: “SCCMSiteCode” yerine kendi site kodunuzu yazmalısınız.

    3. SCCM Dağıtım Noktası Bilgilerini Listeleyin

    Dağıtım noktalarını görmek için aşağıdaki komutu kullanabilirsiniz:

    Get-CMDistributionPoint | Select-Object -Property ServerName, SiteCode, SiteSystemRoleName

    Bu komut sayesinde hangi sunucunun kaldırılacağını kolayca belirleyebilirsiniz.

    4. Dağıtım Noktasını PowerShell ile Kaldırın

    Şimdi kaldırma komutunu uygulayalım:

    Remove-CMDistributionPoint -SiteSystemServerName "ServerAdı" -SiteCode "SiteKodu"

    “ServerAdı” ve “SiteKodu” alanlarını kendi sistem bilgilerinize göre güncelleyin.

    5. Kaldırma İşleminin Tamamlandığını Kontrol Edin

    İşlem başarıyla tamamlandıysa onay mesajı alırsınız. Aksi durumda hata mesajları alabilirsiniz.

    6. Dağıtım Noktasının Silindiğini Doğrulayın

    Son olarak, sistemde hala dağıtım noktası olup olmadığını kontrol edin:

    Get-CMDistributionPoint

    Komut sonucunda kaldırılan dağıtım noktası listede yer almıyorsa işlem başarılıdır.

    Powershell ile dağıtım noktası kaldırma işlemi, sistem yönetiminde otomasyonun gücünü ortaya koyar. Özellikle birçok sunucuda tekrarlayan görevleri gerçekleştiren IT uzmanları için zaman kazandırıcı ve güvenilir bir yöntemdir.

    Dilerseniz bu süreci otomatikleştiren .ps1 uzantılı PowerShell script’leri de oluşturabilirsiniz.

    İlgili Kaynaklar