Kullanıcı Profilleri Powershell ile Silmek (Delete User Profiles with PowerShell)
Kullanıcı profilleri bir BT uzmanının sıklıkla uğraşabileceği, hayatının her yerinde bulunan bir parçasıdır. Özellikle Uzak Masaüstü Hizmetleri (RDS) veya Citrix gibi sanal masaüstü ortamlarını yönetenler için bu kesindir.
Bu yazıda sizlere sıkça karşınıza çıkan Kullanıcı profilleri konusunda profilleri silebilmek için PowerShell den nasıl yararlanabiliriz kısaca anlatacağım.
Windows sistem yöneticilerinin aşağıdaki konularla uğraşması gerekir:
- Bozuk kullanıcı kayıt defteri düzenlemeleri,
- Tüm kullanıcı profillerinde paylaşılması gereken dosyalar
- Bozuk profillerin nasıl yeniden oluşturulacağı,
- …ve daha fazlası
Bir zamanlar sinir bozucu olan bu durumlar, PowerShell ile artık daha kolay hale geldi. PowerShell’in Windows kullanıcı profillerini yönetmeyi kolaylaştırabileceği birkaç yoldan bahsetmek istiyorum.
Kullanıcı Profilleri Numaralandırma
Bir windows bilgisayarının dosya sistemindeki kullanıcı profillerine göz atmak kolaydır. Basit şekilde; “C:Users“ klasörüne bakabilirsiniz. Ancak bunu yaptığınızda sadece resmin bir kısmını görebilirsiniz ve aynı zamanda burada olası dosya sistemi erişim sorunları nedeniyle de sıkıntı yaşayabilirsiniz. Daha iyi bir yol var ve bu da WMI veya CIM’dir. CIM’de Win32_UserProfile adında bir sınıf mevcuttur. Bu sınıf, bir bilgisayarda bulunan tüm profilleri ve basit bir dosya sistemi klasörünün size söylemeyeceği birçok başka yararlı bilgiyi içerir.
PowerShell kullanarak bu CIM sınıfına şu komutla erişebilirsiniz. "Get-CimInstance"
Aşağıda yerel bilgisayardaki ilk kullanıcı profilini buluyorum. Siz de Get-CimInstance
komutu ile LastUseTime, SID
gibi pek çok yararlı bilgiyi karşınızda bulacaksınız.
Cmdlet Get-CimInstance
yalnızca yerel olarak değil aynı zamanda uzaktan da çalışır. Parametreyi kullanarak ComputerName
1, 10 veya 100 farklı uzak bilgisayarı belirtebilirsiniz ve her birini başarılı bir şekilde sorgulayacaktır.
Kullanıcı Profilleri Silmek
Bir bilgisayarlarda kullanıcı profillerinin nasıl numaralandırılacağını anladıktan sonra, işi bir adım daha ileri götürerek bu kullanıcı profillerini de silebilirsiniz.
Bir şeyler bozulduğu için kullanıcı profillerini kaç kez silmek zorunda kaldığımı sayamıyorum ve kullanıcının tekrar oturum açıp yeniden oluşturmasını istedim. CIM ile kaldırma işlemini yapmadığım zamanlarda kullanıcının oturumunu kapatmasını ve C:Users<KullanıcıAdı> klasörünü dosya sisteminden kaldırmasını sağlardım. Genellikle işe yarar ama bazen çalışmazdı.
Farkına varmadığım şey aslında bazı kalıntıları arkamda bırakmış olduğumdan dolayı işlemin başarısız olduğudur.
Bunu yapmanın doğru yolu CIM aracılığıyla kaldırma işlemini başlatmaktır.
Yukarıda okumuş olduğunuz CIM sınıfını kullanarak yalnızca profilleri görüntülemekle kalmayıp, aynı zamanda onları tamamen kaldırabilirsiniz.
Bunu yapmak, Sistem Ayarları > Kullanıcı Profilleri kutusuna gidip Sil butonuna basmakla aynıdır.
Bunu powershell ile yapmak için kullanıcı profillerini tekrar numaralandırın. Daha sonra ise kaldırılacak tek bir kullanıcı profilini seçebilmeniz için bir filtre uygulayın. Yani mesela ‘UserT’ adlı kullanıcı profilini kaldırıyorsunuz. Bunu, aşağıda gösterildiği gibi Where-Object
ve LocalPath
gibi özellikten kullanıcı klasörü adını almak için PowerShell’in cmdlet’ini ve bazı dize işlemlerini kullanarak yapabilirsiniz.
Bunu tek profili daraltabildiğinizde, o CIM örneğini geri dönen Remove-CimInstance
her nesne için cmdlet’e aktarabilirsiniz Get-CimInstance
. Bu işlem, kullanıcı profilini dosya sisteminden ve kayıt defterinden kaldıracaktır.
Tekrar ediyorum, eğer bunu birden fazla bilgisayara genişletmek istiyorsanız Get-CimInstance
üzerinde ComputerName
parametresini kullanmanız yeterlidir .
Özet:
Artık Windows kullanıcı profillerini numaralandırmanın ve silmenin kolay bir yolunu buldunuz. Win32_UserProfile CIM sınıfının farkında değilseniz, profil olarak C:Users<Username> klasörünü ilişkilendiriyor olabilirsiniz ancak Win32_UserProfile CIM örneğini şimdi silmeniz gerektiğini bilmelisiniz .
Kullanıcı profilinde basit bir dosya sistemi klasöründen çok daha fazlasının olduğunu görebilirsiniz. Bu okuduklarınızla artık windows bilgisayarlardan kullanıcı profillerini sorgulamanız veya silmeliyseniz, CIM’i kullanmanız gerektiğini biliyorsunuz. Umarım faydalı olmuştur. Herkese iyi çalışmalar dilerim.