Nis
15
2013

SCCM 2012 & Active Directory’de Temizlik, Güncel Tutmak?

Çok sık bu istek gelmeye başladı, buna istinaden paylaşımda bulunmak istedim.

Özellikle hem AD tarafında hem de SCCM tarafında temizlik planı yapılmamış ve uzun süredir Device’lar arasında görünen ve bir türlü erişilemeyen ortamlarda genelde “temizlik yapmak gerektiği fikri gelir ancak nasıl bir yol izleneceği konusunda karışıklık çıkabilir.

İşten ayrılmış, SCCM kullanılmayan bir lokasyon’a geçmiş, bilgisayar adını değiştirmiş ya da bilgisayar değiştirmiş kullanıcılar gibi bir çok sebeb nedeniyle SCCM’de bazı device’lara hiç ulaşamıyor olabilirsiniz, size göre ulaşmanız gereken, hala masasında oturan bir çalışan belki bir kaç gündür çalışmıyor bile olabilir.

Öncelikle aşağıdaki ayarlara henüz hiç dokunmadığınızı ve dolayısıyla gereksiz birikmiş kayıtlarınız olduğunu varsayarak bu seçenekleri değerlendirebilirsiniz.

Best practice olarak aşağıdaki değerin çok daha düşük seviyelerde olması gerekir, bu sizin altyapınızın ne kadar dağınık olduğu ile bağlantılı.

olddiscover

SCCM 2012’de ısrarla temizlik yapmak isteyenler için ilk önerim bu işi script’e bırakmaları olacaktır, hazır script kullanın ve manual hatalardan kurtulun, ilgili script;

# Environment setup 
# Import the ActiveDirectory module to enable the Get-ADComputer CmdLet 
Import-Module ActiveDirectory 

$SCCMServer = "YOUR SCCM SERVER" 
$sitename = "YOUR SCCM SITE" 
$old = (Get-Date).AddDays(-45) # The threshold for what we consider to be old (current set as 45 days) 

# Find the computers in Active Directory which are "old" 
$oldComputers = Get-ADComputer -Filter {PasswordLastSet -le $old} -Properties * 

ForEach ($oldComputer in $oldComputers) { 
    # Select the computer(s) 
    $computername = $oldComputer.name  

    # Get the resourceID from SCCM 
    $resID = Get-WmiObject -computername $SCCMServer -query "select resourceID from sms_r_system     where name like `'$computername`'" -Namespace "rootsmssite_$sitename" 
    $computerID = $resID.ResourceID 

    if ($resID.ResourceId -eq $null) { 
        $msgboxValue = "No SCCM record for that computer" 
        } 
    else 
        { 
            $comp = [wmi]"$SCCMServerrootsmssite_$($sitename):sms_r_system.resourceID=$($resID.ResourceId)"  

            # Output to screen 
        Write-Host "$computername with resourceID $computerID will be deleted" 

        # Delete the computer account 
            $comp.psbase.delete() 
    } 
}

İndirmek isteyenler linki kullanabilir.

Active Directory tarafı içinse oldcmp tool’u kullanılabilir.

oldcmp

Karmaşık gelebilir, basit bir kullanım için aşağıda örneklendirme yaptım.

  • 10 haftadır  AD’ye logon olmamış bilgisayarı getiren komut;

dsquery computer -inactive 10

  • 10 haftadır AD’ye logon olmamış, aktif olmayan computer account’larını “önce” disable etmek için gereken komut;

dsquery computer -inactive 10 | dsmod computer -disabled yes

  • Ve son olarak disabled edilmiş olan account’ları kaldırmak için komut;

dsquery computer DC=domain,DC=com ?disabled | dsrm 


 3,498 total views,  2 views today

Leave Your Comment

 
Powered by Wordpress and MySQL. Theme by openark.org