Blog

  • Uzak Masaüstü Bağlantısında (RDP) Farklı Bir Port Ayarlamak

    Uzak Masaüstü Bağlantısında (RDP) Farklı Bir Port Ayarlamak

    Uzak Masaüstü Bağlantısında (RDP) Farklı Bir Port Ayarlama – Detaylı Kılavuz

    Uzak Masaüstü (RDP) varsayılan bağlantı noktası (port 3389) sıklıkla hedef alınabileceği için, güvenliği artırmak adına bu portu değiştirmek iyi bir yöntemdir. Aşağıda, RDP için bağlantı noktasını nasıl değiştireceğinizi adım adım bulabilirsiniz:

    Neden RDP Portunu Değiştirmek Gerekiyor?

    Uzak Masaüstü hizmeti, çoğu sistem yöneticisi için vazgeçilmezdir. Ancak, varsayılan bağlantı noktası genellikle saldırganlar tarafından hedef alınır. Bu noktada yapılabilecek ilk güvenlik önlemlerinden biri, varsayılan portu değiştirmektir.

    RDP Bağlantı Noktası Nasıl Değiştirilir?

    1. Kayıt Defteri Düzenleyicisi’ni Açın
      a. Başlat > Çalıştır’a tıklayın.
      b. “Regedit” yazıp Enter’a basın.
    2. Kayıt Defteri Yolunu Takip Edin
      Aşağıdaki kayıt defteri anahtarına gidin:
      HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
    3. PortNumber Değerini Bulun ve Değiştirin
      • Sol sütundan PortNumber değerine çift tıklayın.
      • “Ondalık” seçeneğini işaretleyin ve yeni bağlantı noktası numarasını girin (örneğin, 3390).
    4. Kayıt Defteri Düzenleyicisi’nden Çıkın
      • Değişikliklerin uygulanması için bilgisayarı yeniden başlatmanız gerekecek.

    Bağlantı Yaparken Dikkat Edilmesi Gerekenler

    Yeni port numarası belirledikten sonra, istemciden bağlanırken aynı portu kullanmalısınız. Bu işlem şu adımları izleyerek yapılır:

    1. Uzak Masaüstü Bağlantısı’nı Açın
      Başlat menüsünden Uzak Masaüstü Bağlantısı’nı başlatın.
    2. Bağlanılacak Bilgisayar ve Portu Girin
      Bilgisayar adı veya IP adresinin yanına iki nokta üst üste (:) ve yeni port numarasını ekleyin.
      Örneğin:
      MSHowtoBilgisayar:3390
      veya
      192.168.0.20:3391
    3. Bağlantıyı Başlatın
      “Bağlan” butonuna tıklayarak yeni port üzerinden bağlantıyı gerçekleştirin.

    RDP Portunu Değiştirmek Güvenliği Nasıl Etkiler?

    RDP portunu değiştirmek, bir güvenlik duvarı eklemek veya çift faktörlü kimlik doğrulama kullanmak kadar etkili bir çözüm olmasa da, sisteminizi doğrudan hedef alan saldırganları yavaşlatabilir. Bu işlem, otomatik taramalarla varsayılan portu hedefleyen saldırıları engelleme noktasında yardımcı olabilir. Ancak, daha güçlü güvenlik önlemleri almak her zaman tavsiye edilir.

    Sonuç

    Uzak Masaüstü (RDP) portunun değiştirilmesi, güvenlik açısından küçük ama etkili bir adım olabilir. Kayıt Defteri Düzenleyicisi’ni kullanarak bu işlemi gerçekleştirebilir ve yeni port üzerinden bağlantılarınızı yönetebilirsiniz. Ancak, bu tür adımların yanında güçlü parolalar, güvenlik duvarları ve güncel yazılımlar kullanmak da güvenliğinizi artıracaktır.

  • SCCM Log Dosyaları ve Kullanımları

    SCCM Log Dosyaları ve Kullanımları

    System Center Configuration Manager İçerisindeki Log Dosyaları ve Kullanımları

    SCCM log dosyaları, geniş ölçekli BT altyapılarının yönetilmesinde hayati bir rol oynar. SCCM log dosyaları, sistemdeki işlemleri takip etmenize ve oluşabilecek sorunları çözmenize yardımcı olur. Her işlem için belirli log dosyaları oluşturularak, bu dosyalar aracılığıyla SCCM’deki çeşitli bileşenler ve operasyonlar izlenebilir. Bu makalede, SCCM içerisindeki log dosyalarının detaylarını ve kullanım alanlarını inceleyeceğiz.

    SCCM log Dosyaları Açıklamalı

    Log Dosyalarının Temel Yapısı

    SCCM log dosyaları, varsayılan olarak .LOG veya .LO_ uzantılarıyla oluşturulur ve işlemlerin durumlarını, başarı veya hata mesajlarını içerir. Her işlem, belirli bir günlük dosyasına kayıt edilir ve bu log dosyaları SCCM’in CMTrace aracıyla kolayca görüntülenebilir. Günlük dosyalarının döngü sistemi, özellikle büyük veri işlemleri ve uzun süreli kullanımlar için önemlidir; bu sistem, log dosyasının boyut sınırına ulaştığında, eski logların .LO_ uzantısıyla yeniden adlandırılması ve yeni logların kaydedilmeye devam edilmesiyle sağlanır.

    Günlük Dosyalarının Yönetimi

    • CMTrace: Bu araç, SCCM de bulunan log dosyalarını görüntülemek için kullanılan temel yazılımdır. CMTrace, log dosyalarındaki bilgileri okunabilir hale getirir ve özellikle büyük log dosyalarını analiz etmek için kullanılabilecek gelişmiş özelliklere sahiptir. Bu araç, SCCM ortamının \SMSSETUP\TOOLS klasöründe bulunur ve önyükleme görüntüleriyle birlikte gelir.
    • Günlük Dosyalarının Konumu: Log dosyalarının büyük çoğunluğu, SCCM’in kurulu olduğu sunucuda ve istemci bilgisayarlarda depolanır. Her bileşen için log dosyasının konumu farklı olabilir.

    Örneğin, site sunucusu log dosyaları genellikle C:\Program Files\Microsoft Configuration Manager\Logs dizininde bulunur.

    İstemci tarafındaki log dosyaları ise genellikle C:\Windows\CCM\Logs dizininde depolanır.

    SCCM’de Sık Kullanılan Log Dosyaları ve Açıklamaları

    SCCM’deki log dosyaları, farklı görev ve bileşenler için oluşturulur. İşte SCCM’de en sık kullanılan log dosyalarından bazıları ve işlevleri:

    1. Site Sunucusu Log Dosyaları

    • smsexec.log: SMS Yürütme Yöneticisi’nin (SMS Executive) işleyişini izler. SMS Executive, SCCM’in merkezinde yer alan hizmettir ve birçok bileşen için işlem yapar. Bu log dosyası, yürütülen görevlerin durumunu rapor eder ve hataları belirlemek için kullanılır.
    • sitecomp.log: Site bileşenlerinin durumu hakkında bilgi verir ve site bileşenlerinin düzgün çalışıp çalışmadığını denetler. Site bileşenlerinde bir hata veya aksaklık olduğunda bu dosya üzerinden detaylara erişilebilir.
    • hman.log: Hiyerarşi Yöneticisi (Hierarchy Manager) tarafından kullanılan log dosyasıdır. Site yapılandırma değişiklikleri bu dosyada kaydedilir. Yeni bir bileşen eklendiğinde veya bir site yükseltildiğinde bu dosyada detaylar bulunur.
    • sender.log: SCCM site sunucuları arasındaki veri transfer işlemlerini izler. Farklı site sunucularına veri gönderme ve alma işlemlerinin başarı durumu hakkında bilgi sağlar.

    2. İstemci (Client) Log Dosyaları

    • client.msi.log: İstemci kurulumuyla ilgili tüm bilgileri içerir. İstemcinin kurulum aşamalarını takip etmek ve kurulum hatalarını çözmek için kullanılır.
    • LocationServices.log: İstemcinin site sunucusuyla iletişim kurmaya çalıştığında kullandığı konum hizmetiyle ilgili bilgileri içerir. İstemcinin hangi yönetim noktasıyla (Management Point) iletişim kurduğunu ve başarılı olup olmadığını bu dosyadan takip edebilirsiniz.
    • CAS.log: İstemci tarafındaki içerik indirme ve yönetim işlemleriyle ilgilidir. İçerik indirme işlemlerinin doğruluğunu kontrol etmek için kullanılır.
    • execmgr.log: Yürütme yöneticisinin (Execution Manager) işlemleriyle ilgili detaylar sunar. Yazılım dağıtımının ve betiklerin çalıştırılmasının sonuçları bu log dosyasında bulunur.

    3. Yazılım Güncelleme ve Dağıtım Log Dosyaları

    • WUAHandler.log: Windows Update Agent’ın SCCM ile nasıl çalıştığını gösterir. İstemci bilgisayarının güncellemeleri nasıl indirdiği ve kurduğu bu log dosyasında raporlanır.
    • UpdatesDeployment.log: Güncelleme dağıtım işlemleri sırasında yaşanan olayları kaydeder. Güncelleme paketlerinin başarıyla dağıtılıp dağıtılmadığını analiz etmek için kullanılır.
    • ContentTransferManager.log: Yazılım dağıtımı sırasında içerik transferiyle ilgili bilgileri içerir. İndirme işlemlerinin başarı durumu ve herhangi bir hata bu log dosyasında izlenebilir.

    4. Veri Tabanı ve Raporlama Log Dosyaları

    • statmgr.log: İstatistik Yöneticisi’nin (Status Manager) çalışmasını ve SCCM’in veritabanıyla olan iletişimini izler. İstatistik yöneticisi tarafından oluşturulan durum mesajları bu dosyada yer alır.
    • cmreporting.log: SCCM raporlarıyla ilgili işlemler bu log dosyasında takip edilir. Raporlama hizmetlerinde yaşanan sorunları çözmek için kullanılır.

    SCCM Log Dosyalarını Verimli Kullanmak İçin İpuçları

    1. CMTrace ile Çalışmak: Log dosyalarını analiz ederken CMTrace aracını kullanmak en etkili yoldur. Bu araç, log dosyalarını renklendirir ve kritik hataları hızlı bir şekilde bulmanızı sağlar. Ayrıca, arama fonksiyonlarıyla spesifik olayları bulmak mümkündür.
    2. Günlük Dosyalarını Döngüye Alma: Günlük dosyalarının boyut sınırına ulaştığında üzerine yazılmasının önüne geçmek için döngü sürelerini ayarlayabilirsiniz. Özellikle yoğun kullanılan ortamlarda log dosyalarını sık sık analiz etmek önemlidir.
    3. Yedekleme ve Arşivleme: Kritik sistem olayları ve sorunları takip etmek amacıyla belirli log dosyalarını yedekleyebilir ve arşivleyebilirsiniz. Bu, geçmişte yaşanan olayları analiz etmek açısından faydalı olacaktır.

     

    Sonuç

    System Center Configuration Manager (SCCM) log dosyaları, sistemdeki çeşitli bileşenlerin sağlığını ve işleyişini izlemek için hayati öneme sahiptir. Hem sunucu hem de istemci tarafında farklı log dosyaları mevcut olup, bu dosyalar aracılığıyla birçok sorunu tespit etmek ve çözmek mümkündür. Doğru log dosyalarını izlemek ve analiz etmek, SCCM altyapısının verimli bir şekilde çalışmasını sağlamak için kritik bir rol oynar.

  • Active Directory OU Aktarma (İçeri ve Dışarı)

    Active Directory OU Aktarma (İçeri ve Dışarı)

    Active Directory OU Yapılarını Dışa ve İçe Aktarma İşlemi

    Active Directory’de Organizational Unit (OU) yapılarını dışa ve içe aktarmak, özellikle büyük ortamlarda zaman kazandıran önemli bir işlemdir. Tek tek OU oluşturma zahmetinden kurtulmak isteyenler için bu yöntem, test ortamlarında da kullanılabilir ve bir CSV dosyası olarak dışa aktarılan veriler, dilediğiniz zaman başka bir Domain Controller’a (DC) aktarılabilir. Bu yazıda, Active Directory OU  aktarma (içe ve dışa) sürecini adım adım ele alacağız.

    Active Directory OU aktarma
    Active Directory OU aktarma

    OU Yapılarını Dışa Aktarma

    OU yapısını dışa aktarmak için öncelikle PowerShell’de New-ADOrganizationalUnit cmdlet’ini kullanmanız gerekir. Bu cmdlet, OU’ların isimlerini ve yollarını belirlemenize olanak tanır. Ancak, Get-ADOrganizationalUnit yolu belirleyemez; bunun yerine DistinguishedName ile işlem yapmanız gerekmektedir.

    Bu konuda net bir kaynak bulmak için yaptığım araştırmalar sonucunda, çeşitli PowerShell parçalarını bir araya getirerek ihtiyaç duyduğum çözümü oluşturdum. Bu süreçte Regex (Düzenli İfadeler) kullanımını da öğrendim. Regex, nasıl kullanacağınızı bildiğinizde oldukça güçlü bir araçtır. Aşağıda, oluşturduğum iki farklı versiyonu bulabilirsiniz.

    1. PowerShell Komutları

    powershellKodu kopyala$OUs = Get-ADOrganizationalUnit -Filter * | select name, DistinguishedName, @{n=’OUPath’; e={$_.distinguishedName -replace '^.+?,',''}}, @{n=’OUNum’; e={([regex]::Matches($_.distinguishedName, “OU=”)).count}} | Sort OUNum | export-csv C:<Path_to_CSV>OUTree.csv -NoTypeInformation
    

    Bu komut, OU adını etkili bir şekilde alır ve OU Adını dışa aktarırken ilk ‘,’ ile ayırır.

    powershellKodu kopyala$OUs = Get-ADOrganizationalUnit -Filter * | select name, DistinguishedName, @{n=’OUPath’; e={$_.distinguishedName -replace '^.+?,(CN|OU|DC.+)','$1'}}, @{n=’OUNum’; e={([regex]::Matches($_.distinguishedName, “OU=” )).count}} | Sort OUNum | export-csv C:<Path_to_CSV>OUTree.csv -NoTypeInformation
    

    Bu ikinci komut ise ilk ‘,’den sonraki her şeyi yakalar ve dizeyi o kısımla değiştirir. Her iki yöntem de benzer sonuçlar üretir ancak farklı Regex kullanımlarıdır.

    OU Sayısı ve Sıralama

    Her iki komut da ‘OUNum’ adında bir özellik içerir. Bu özellik, DistinguishedName dizesinde ‘OU=’ öğesinin kaç kez göründüğünü sayar. OU’lar sıralı bir şekilde oluşturulmalıdır, böylece ana OU’lar alt OU’lardan önce oluşturulmuş olur. Bu işlem, OU’ları CSV’ye aktarmadan önce ‘katmanlara’ ayırır. Örneğin, kök dizindeki OU’lar 1, içindeki OU’lar 2 değerini alır.

    Dışa Aktarılan Verilerle Etki Alanı Değişikliği

    Verileri dışa aktardıktan sonra, etki alanını değiştirmeniz gerekebilir. Başka bir etki alanına aktarıyorsanız, DistinguishedName öğelerini değiştirmek gerekecektir. Örneğin, bir metin düzenleyicide DC=lab,DC=local ifadesini DC=lab2,DC=local ile değiştirmek bu durumu çözecektir. Dilerseniz bu adımı dışa aktarmadan önce de gerçekleştirebilirsiniz.

    OU Yapılarını İçe Aktarma

    Dışa aktardığınız CSV dosyasını başka bir DC’ye aktarmak için aşağıdaki komutu çalıştırabilirsiniz:

    powershellKodu kopyala$OUs = import-csv C:<Path_to_CSV>OUTree.csv
    ForEach ($OU in $OUs) {
        New-ADOrganizationalUnit -Name $OU.Name -Path $OU.OUPath
    }
    

    Bu komut, CSV’deki OU’ları yeni DC’de yeniden oluşturacaktır.

    Sonuç

    Active Directory OU yapılarını dışa ve içe aktarma işlemi, zaman kazandıran ve yönetim süreçlerini kolaylaştıran bir yöntemdir. Powershell ve Regex kullanarak bu işlemi kolayca gerçekleştirebilir, aynı zamanda farklı etki alanlarına geçiş yaparken önemli verilerinizi koruyabilirsiniz.

  • PowerShell Restart Print Spooler Service

    PowerShell Restart Print Spooler Service

    Restart Print Spooler Service işlemi için neler yapmamız gerekiyor ?

    Merhaba, bu yazıda sizlere arada sırada karşılaştığınız yazdırma sorunlarından yazıcı biriktirici hizmetinin çalışmaması sorunundan ve çözümünden bahsedeceğim. Yazdırma biriktirici dağılımını düzeltmek için, Yazdırma Biriktiricisi Hizmeti’nin (yazdırma biriktirici hizmeti) çalışma durumu kontrolünü takip eden hizmeti yedinden başlatmak için bir Powershell betiğini kullanacağız.

    Resimde, Yazıcı kuyruğunda 2 iş takılıp/duraklamış ve yazdırılamamış görünüyor.

    Yazdırma Biriktiricisi Hizmeti ( Yazdırma Biriktiricisi Hizmet ) Sorunu

    Dosyalar yazıcıya gönderilmiyorsa veya belgeler Yazıcı kuyruğunda takılıyorsa, sorun sık aralıklarla yazıcı biriktirme hizmetinin çalışmaması olabilir.

    PowerShell Dipnot: Spooler hizmetini yeniden başlatmak için PowerShell terminalini veya PowerShell ISE’yi yönetici olarak çalıştırın. 

    Yazdırma Biriktiricisi, yazdırma biriktiricisi için Windows hizmet adıdır. Tüm Windows işletim sistemlerinde ve sunucu işletim sistemlerinde varsayılan olarak etkindir. Yazıcı biriktiricisi hizmetinin ana işi, yazdırma sürücülerini yükleme, işleri yazdırma, işleri yazdırma ve yazıcıyla dağıtmadır. 

    Yazıcı Biriktiricisi Hizmet Durumu Kontrolü

    Print  Spooler hizmetinin durumunu görmek için PowerShell’deki Get-Service cmdlet’ini kullanın.  

    $PrintSpooler = Get-Service -Name Spooler  
    # Yazdırma Biriktiricisi Hizmetinin lisansında alın (Çalışıyor veya Durduruldu) 
    $PrintSpooler

    Yukarıda yazmış olduğum  PowerShell  betiğinde, Get-Service komutu biriktirici servis nesnesini alır ve onu değişkene atar  $PrintSpooler.

    Sonraki komutta, $PrintSpooler değişkeninin içeriklerini yazdırır. Yazdırma biriktiricisi hizmetinin Durum, Ad ve Görüntü adını aşağıdaki gibi çıktı olarak verir.

    PowerShell – Restart Print Spooler Service

    PowerShell ile Yazdırma Biriktiricisi Nasıl Yeniden Başlatılır ?

    Yazdırma biriktiricisi hizmetini PowerShell ile yeniden başlatmak için,   biriktirici sunucusu nesnesini almak üzere  Get-Service komutunu kullanın. Start-Service  komutu, yerel bilgisayarda yazdırma biriktiricisi hizmetini başlatmak için kullanılır.

    $PrintSpooler = Get-Service -Name Spooler
    
    # Yazdırma biriktiricisi durumunu alın. (Çalışıyor veya Durduruldu)
    $PrintSpooler
    
    # Yazdırma biriktiricisi servisini kontrol et ve çalışmıyorsa yeniden başlatın.
    if($PrintSpooler.Status -eq 'stopped')
    {
        # Yerel bilgisayarda yazdırma birikticisi servisini başlatın.
        Start-Service $PrintSpooler
    }
    
    # Yazdırma biriktiricisi durumunu kontrol edin.
    $PrintSpooler

    İş İstasyonunda Yazıcı Biriktiricisi Hizmetini Yeniden Başlatmak

    PowerShell ile bir iş istasyonunda yazıcı biriktirici hizmetini yeniden başlatmak için   yazıcı biriktirici nesnesini almak üzere  Get-Service komutunu kullanın. Restart-Service  komutu biriktirici hizmetini yeniden başlatmak için kullanılır.

    # Biriktirici Hizmet Nesnesini Alın.
    $PrintSpooler = Get-Service -Name Spooler
    
    #İş istasyonu üzerinde yazıcı biriktirme servisini yeniden başlatın.
    Restart-Service $PrintSpooler

    Yukarıdaki PowerShell betiğinde,

    • $PrintSpooler değişkeninde Spooler Service nesnesini alın
    • İş İstasyonunda Restart-Service  Yazdırma Biriktiricisi hizmetini yeniden  başlatın.

    Yazdırma Biriktiricisi Kuyruğunu Temizlemek 

    Yazıcı biriktirme hizmetini yeniden başlattıktan sonra bile yazıcının hala yanıt vermemesi veya dosyaların yazıcıya gönderilmemesi durumu olabilir.

    Bu sorunları gidermek için yazıcı kuyruğunun yedeğini almamız ve daha sonra yazıcı biriktirme kuyruğunu temizlememiz gerekiyor.

    Yazıcı Biriktiricisi Kuyruk Dosyalarının Yedeğini Almak

    Yazıcı biriktirici kuyruğunu temizlemeden önce yazıcı biriktirici kuyruğu dosyalarının yedeğini almak için aşağıdaki PowerShell betiğini çalıştırın.

    # Biriktirici Hizmetini Durdurun.
    Stop-Service -Name Spooler -Force
     
    # Biriktirici dosyalarını yedekleyin.
    Move-Item -Path "$env:SystemRoot\System32\spool\PRINTERS\*.*" -Destination 'C:\Spooler\Backup\' -Force

    Stop  -Service  komutu, onay istemeden Spooler hizmetini durdurur.

    Move  -Item  komutu,  -Path parametreyi kullanarak, yedekleme olarak belirtilen hedef yola makara kuyruğu dosyasını taşır  -Destination .

    Yazıcı Biriktiricisi Kuyruk Dosyalarını Silmek

    Print Spooler dosyalarını silmek için,   biriktirici kuyruğu dosya yolunu belirtmek için -Path parametresini kullanan  Remove-Item komutunu kullanın. Start-Service  komutu biriktirici kuyruğu dosyalarını sildikten sonra biriktirici hizmetini başlatır.

    # Yazıcı Biriktiricisi Dosyalarını Silin.
    Remove-Item -Path "$env:SystemRoot\System32\spool\PRINTERS\*.*"
    
    # Yazıcı biriktirme servisini yeniden başlatın.
    Start-Service -Name Spooler

    Yukarıdaki PowerShell betiğinde, Remove-Item cmdlet’i $env: path ortam değişkeniyle belirtilen yazıcı biriktiricisi kuyruk yolunu alır ve klasörlerden tüm dosyaları siler.

    Çözüm

     Bu makaledeki PowerShell komutlarıyla yazdırma biriktiricisi hizmetinin nasıl yeniden başlatılacağına  dair makalenin, Yazıcı biriktiricisi hizmetinin yanıt vermemesi veya yazıcı biriktiricisi hizmetinin çalışır durumda olmamasıyla ilgili sorunları düzeltmesini umuyorum.

    Bu gibi durumlarda   yerel veya uzak iş istasyonunda yazdırma biriktiricisi hizmetini yeniden başlatabilirsiniz.

  • Bir Ou Üzerindeki Bilgisayarların Son Oturum Açma Bilgileri (Powershell)

    Bir Ou Üzerindeki Bilgisayarların Son Oturum Açma Bilgileri (Powershell)

    Bu yazımızda Windows Powershell ile belirli bir Ou üzerindeki bilgisayarların son oturum açma bilgileri nasıl alınır bunlardan bahsedeceğim.

    Çalıştığınız kurum ya da kuruluşta sisteminizde Active Directory üzerinde bulunan belirli bir Organizational Unit (OU) içindeki bilgisayarların son oturum açma (LastLogonDate) bilgilerinin çıktısını almak çoğu zaman farklı şekillerde işinize yarayacaktır. Bu işlemi nasıl uygulayacağımızı adım adım anlatacağım.

    Burada atlanmaması gereken gereken bir husus ise bu işlemi Domain Sunucunuz üzerinde yapıyorsanız sıkıntı yok. Çünkü Active Directory Modülü AD Sunucunuzda kuruludur. Fakat bu işlemi uzaktaki bir bilgisayar üzerinden yapmak durumunda olabilirsiniz. O zaman ilk yapmanız gereken şey Active Directory Modülünü kurmak olacak. Bu kurduğunuz modül size Powershell ile AD yi yönetmenizi sağlar. Örnek verecek olursak, modül sayesinde Powershell ile AD üzerinde kullanıcı, grup ya da bilgisayar oluşturabilirsiniz.

    Active Directory Modülünü Kurmak

    Bunun için Powerhsell üzerinde “Import-Module ActiveDirectory” komutunu çalıştırın.

    Modülü kurduktan sonra “Get-help *computer” komutunu çalıştırırsanız kullanabileceğiniz Cmdlet komutlarının listesi aşağıdaki resimde gözüktüğü gibi karşınıza gelecektir.

    Get-help *computer

    Lastlogondate

     

    AD Üzerindeki Belirli Bir Bilgisayarın Son Oturum Bilgilerini Almak

    Eğer AD üzerinde bir Ou içindeki tüm bilgisayarlar değil de sadece bir bilgisayarın Son Oturum Açma bilgileri vs alacaksanız aşağıda sizinle paylaşacağım powershell komutunu kullanabilirsiniz.

    Get-ADComputer -Identity COMPUTERNAME -Properties *

    Yukarıdaki komutu biraz değiştirebilirsiniz. Mesela bir attribute adı belirtirsiniz, bu durumda siz başka hangi attribute istiyorsanız o bilgilerin çıktısını alabilirsiniz. Yani biraz daha filtrelemiş ayırmış olarak da bu çıktıları alabilirsiniz. Aşağıda sizin için bu duruma örnek bir komutu paylaşıyorum;

    Get-ADComputer -Identity COMPUTERNAME -Properties * | FT Name, LastLogonDate -Autosize

    Yukarıdaki komut ile Lastlogondate (son oturum açma bilgisi) dışında farklı alanları da çıktınıza ekleyebilirsiniz.

     

    AD Üzerinde Belirli Bir Ou Üzerindeki Bilgisayarların Son Oturum Açma Bilgileri

    Yukarıda anlattığım powershell komutlarını kullanarak tek bir bilgisayarın son oturum açma bilgilerini almıştık. Şimdi ise yine Powershell’den faydalanarak bu kez, belirli bir Organizational Unit (OU) üzerindeki bilgisayarların, Lastlogondate bilgilerini tablo halinde nasıl çıktı alacağımızı anlatacağım.

    Bunu yapabilmek için adım adım yapmanız gerekenleri ve kullanmamız gereken komutları aşağıda sizinle paylaşıyorum:

    Adım 1: Active Directory Modülünü Yükleyin

    Yukarıda bahsetmiştim yine de yazıyorum.

    Import-Module ActiveDirectory 

    Adım 2: OU Ayırt Edici Adını yani Distinguished Name’ini belirtin.

    $ouDN = "OU=Bilgisayarlar, DC=tolgaceyhan, DC=com"

    Adım 3: Belirtmiş Olduğunuz OU içindeki bilgisayarları getirin

    $computers = Get-ADComputer -Filter * -SearchBase $ouDN -Properties Name, LastLogonDate
    

    Son Adım: Sonuçları Tablo Şeklinde Listeleyin

    $computers | Select-Object Name, LastLogonDate | Sort-Object LastLogonDate -Descending | Format-Table -AutoSize

    Yukarıdaki adımları uygulayarak, belirtmiş olduğunuz bir OU içindeki tüm bilgisayarların adını ve son oturum açma zamanının çıktısını almış oldunuz.

    Dilerseniz bu çıktıyı da komut sonunda export-csv  ekleyerek sunucu üzerinde CSV şeklinde belirlediğiniz dizine kaydedebilirsiniz.

    $computers | Select-Object Name, LastLogonDate | Sort-Object LastLogonDate -Descending | Format-Table -AutoSize | Export-Csv C:\temp\PClastlogondate.csv "

    Almış olduğunuz sonuç çıktısında bazı bilgisayarların Lastlogondate değerini boş görebilirsiniz. Bu durumda o Lastlogondate değeri boş gözüken bilgisayarlar hiç oturum açmamış olabilir.

    Yukarıdaki tüm adımları gerçekleştirmek için AD üzerinde okuma izinlerine sahip bir kullanıcı olmanız gerekmektedir. Yazımızın başında da belirttiğim gibi bu powershell komutları çalıştığınız kurum ve kuruluşlarda birçok çalışma için işinize yarayacaktır.

    Umarım faydalı olmuştur. Daha fazla powershell içeriği için yorum yazabilirsiniz hep birlikte farklı çözümler ve komutları incelemiş oluruz.

    Herkese kolay gelsin. Web sitemi incelemeyi ve takip etmeyi unutmayın.