Windows PowerShell, sistem yönetimi ve komut satırı arayüzünde devrim yaratmayı vaat ediyor. Nesne tabanlı pipeline, yönetici odaklı yapısı ve diğer Microsoft yönetim teknolojilerine geniş erişimi ile PowerShell, hem yöneticilerin hem de ileri düzey kullanıcıların verimliliğini önemli ölçüde artırıyor.
Yeni bir teknolojiyi öğrenirken, tanıdık olmayan özellikler ve işlevlerle karşılaşmak başlangıçta kafa karıştırıcı olabilir. Bu durum, Windows PowerShell'e yeni başlayan kullanıcılar için özellikle geçerlidir; çünkü bu, tam donanımlı bir komut satırı arayüzü ile ilk deneyimleri olabilir. Daha da kötüsü, PowerShell'in muazzam entegre script yazma yeteneklerinden haberdar olmuş olmaları ve programlama dünyasından uzak durma korkusu taşımalarıdır.
Ancak bu korkular tamamen yersizdir; PowerShell, sizinle birlikte büyüyen ve sizi kendine çeken bir shelldir. Şimdi, PowerShell’in sunduğu olanakları keşfetmeye başlayalım:
- Standart Windows Komutları ile Uyumluluk
PowerShell, mevcut bilgi ve becerilerinizi tamamen göz ardı etmenizi gerektirmez. Standart Windows komutları ve uygulamalarıyla uyumlu çalışır.
- Cmdlet’ler ile Gelişmiş Komut Yapısı
PowerShell, ortak bir Fiil-İsim sözdizimi paylaşan güçlü yeni bir komut türü olan cmdlet’leri tanıtır. Cmdlet’ler, standart komutlara göre birçok kullanılabilirlik iyileştirmesi sunar.
- Nesne Tabanlı Çalışma
PowerShell, nesneleri doğrudan anlamaktadır. Zengin yapılandırılmış nesnelerle çalışmak, PowerShell komutlarını birleştirmeyi ve kullanmayı geleneksel shellerdeki düz metin dünyasına göre çok daha kolay hale getirir.
- Yönetici Odaklı Tasarım
Tüm bu yeniliklere rağmen, PowerShell güçlü bir etkileşimli shell olarak tasarlanmıştır. Çalışan bir PowerShell uygulamasında komut girişi yapma deneyimi ön plandadır.
- Keşif Desteği
Üç basit komut kullanarak, PowerShell’in sunduğu hemen her şeyi öğrenebilir ve keşfedebilirsiniz.
- Yaygın Script Yazma İmkanları
Tam donanımlı bir script dili ile PowerShell, komut satırından doğrudan otomasyon görevlerini kolayca gerçekleştirmenizi sağlar.
- Teknolojiler Arası Köprü
PowerShell, .NET, COM, WMI, XML ve Active Directory ile çalışma imkanı sunarak daha önce izole olan teknolojilerle çalışmayı daha kolay hale getirir.
- Veri Depolarının Yönetimini Basitleştirir
Sağladığı sağlayıcı modeli sayesinde, PowerShell veri depolarını dosya ve klasörleri yönetmek için kullandığınız tekniklerle yönetmenizi sağlar.
Windows PowerShell, sistem yönetimi ve otomasyon için güçlü bir araçtır. Temelinde etkileşimli bir shell olarak tasarlanmış olan PowerShell, script yazma ve diğer gelişmiş özellikleri desteklese de, esas odak noktası kullanıcıların hızlı ve etkili bir şekilde etkileşimde bulunmasını sağlamaktır.
PowerShell'i başlatmak oldukça basittir. Aşağıdaki yöntemlerden birini kullanarak PowerShell'i açabilirsiniz:
- Başlat Menüsü: Başlat → Tüm Programlar → Eklentiler → Windows PowerShell.
- Çalıştır Komutu: Başlat → Çalıştır, ardından "PowerShell" yazarak Enter tuşuna basın.
Bu işlemlerden birini gerçekleştirdiğinizde, Windows XP, Windows Server 2003 ve benzeri eski sürümlerin geleneksel komut istemi penceresine oldukça benzer bir PowerShell istemi penceresi açılır. "PS C:>" ifadesi, PowerShell'in girdi almaya hazır olduğunu gösterir.
Resim :
- Etkileşimli Shell
PowerShell, kullanıcıların komutları doğrudan girebileceği etkileşimli bir ortam sunar. Bu, özellikle sistem yöneticileri ve geliştiriciler için günlük görevleri hızlı bir şekilde yerine getirmeyi sağlar. Kullanıcılar, komutları yazarken anında geri bildirim alarak işlemlerini daha verimli hale getirebilirler.
- Hızlı Başlangıç
PowerShell, kullanıcıların hemen verimli bir şekilde çalışmaya başlamasına olanak tanır. Temel komutları öğrenerek kısa sürede karmaşık görevleri yerine getirebilir ve sistem yönetimi süreçlerini otomatikleştirebilirsiniz.
- Gelişmiş Özellikler
PowerShell, yalnızca temel komutları desteklemekle kalmaz; aynı zamanda script yazma, nesne tabanlı işlem yapma ve veri yönetimi gibi gelişmiş özellikler de sunar. Bu sayede, kullanıcılar daha karmaşık senaryoları kolayca yönetebilirler.
Windows PowerShell, kullanıcıların dosya sisteminde kolayca gezinmelerini sağlayan güçlü bir etkileşimli shell'dir. PowerShell'i başlattıktan sonra, hem DOS tarzı hem de Unix tarzı komutları kullanarak dosya sisteminde dolaşabilirsiniz. Bu yazıda, temel dosya yönetim komutları olan pushd, cd, dir, pwd ve popd komutlarının nasıl kullanılacağını inceleyeceğiz.
- İlk olarak Prompt fonksiyonu ile istemin görünümünü özelleştiriyoruz.
function Prompt { "PS > " }
Resim :
- pushd
pushd .
pushd komutu, mevcut konumu kaydeder ve belirtilen dizine geçiş yapar. Eğer hiçbir dizin belirtmezseniz, mevcut dizini kaydeder.
- cd
cd \
cd komutu, "change directory" anlamına gelir ve belirttiğiniz dizine geçiş yapmanızı sağlar. Örneğin, cd \ komutu ile root dizine dönebilirsiniz.
- dir
dir
dir komutu, mevcut dizindeki dosya ve klasörleri listelemek için kullanılır. Bu komut, dosyaların isimlerini, boyutlarını ve son yazılma tarihlerini gösterir.
Resim :
- pwd
pwd
pwd (print working directory) komutu, mevcut çalışma dizininizin yolunu gösterir. Bu, hangi dizinde bulunduğunuzu kontrol etmek için faydalıdır.
Resim :
- popd
popd
popd komutu, daha önce kaydettiğiniz konuma geri dönmenizi sağlar. Bu, pushd ile kaydedilen konumu geri yükler.
Resim :
Bu örnekte, ilk olarak Prompt fonksiyonu ile istemin görünümünü özelleştiriyoruz. Ardından pushd . komutuyla mevcut konumu kaydediyoruz. cd \ ile kök dizine geçiyoruz ve dir komutunu kullanarak dizindeki öğeleri listeliyoruz. Son olarak, popd ile önceki konuma geri dönüyoruz ve pwd ile mevcut dizini kontrol ediyoruz.
Ek olarak ipconfig komutu.
ipconfig
ipconfig, ağ bağlantılarınızın IP adreslerini ve diğer yapılandırma bilgilerini görüntülemek için kullanılan bir komuttur. PowerShell'de bu komutu çalıştırdığınızda, mevcut ağ bağlantılarınız hakkında detaylı bilgiler alırsınız.
Örneğin:
PS > ipconfig
Ethernet adapter Ethernet:
Connection-specific DNS Suffix . :
Link-local IPv6 Address . . . . . : fe20::e4a2:9371:10ea:98da%4
IPv4 Address. . . . . . . . . . . : 192.168.1.20
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . :
Bu çıktıda, Ethernet adaptörünüzün DNS suffix'i, IP adresi, alt ağ maskesi ve varsayılan ağ geçidi gibi bilgiler yer almaktadır.
PowerShell, geleneksel Windows yürütülebilir dosyaların yanı sıra, cmdlet adı verilen güçlü bir komut türünü de destekler. Cmdlet'ler, "Verb-Noun" (Fiil-İsim) yapısında adlandırılır; örnek olarak Get-Process, Get-History ve Stop-Process verilebilir.
Aşağıdaki örnekte, belirli bir işlemi isimle almak için Get-Process cmdlet'ini kullanıyoruz:
Get-Process -Name opera
(opera sizde yoksa opera yerine başka bir isim yazın örneğin, audiodg vb.)
Bu komut, "opera" adlı işlemin bilgilerini getirir:
Handles NPM(K) PM(K) WS(K) CPU(s) Id SI ProcessName
------- ------ ----- ----- ------ -- -- -----------
2088 67 135800 316124 41,73 6756 1 opera
370 24 24404 106256 1,17 9260 1 opera
927 45 231364 188380 22,97 9324 1 opera
355 23 16504 42420 3,95 9340 1 opera
236 16 9728 21120 0,27 9444 1 opera
380 25 25768 99136 0,58 9624 1 opera
371 24 21092 96476 0,61 9692 1 opera
537 29 50608 139152 21,31 9724 1 opera
644 28 59336 152228 3,83 9816 1 opera
355 23 18208 90844 0,48 9984 1 opera
297 18 8012 21472 1,06 9992 1 opera
PowerShell'de yaygın olarak kullanılan fiillerin (verbs) listesini öğrendiğinizde, yeni isimlerle (nouns) çalışmak daha kolay hale gelir. Örneğin, bir nesne ile çalışırken Get, Set, Start ve Stop gibi standart eylemler her zaman geçerlidir.
PowerShell, cmdlet ve parametre adlarını otomatik tamamlama özelliği sunar.
Örneğin:
Get-Pr<TAB> -N<TAB> lsass
Hızlı etkileşimli kullanım için, bu kadar yazmak bile fazla olabilir. PowerShell, yaygın komutlar için takma adlar (alias) tanımlar ve kendi takma adlarınızı oluşturmanıza da izin verir. Ayrıca, PowerShell'de yalnızca parametre adını yeterince yazarak belirsizliği ortadan kaldırmanız yeterlidir. PowerShell büyük/küçük harf duyarsızdır.
Aşağıdaki örnekte, gps takma adını kullanarak ve parametre kısaltmasını uygulayarak daha az yazabilirsiniz:
gps -n opera
Resim :
PowerShell, cmdlet'lerde pozisyonel parametreleri destekler. Pozisyonel parametreler, parametre değerlerini komut satırında belirli bir konumda sağlayarak adla belirtme zorunluluğunu ortadan kaldırır. Örneğin, Get-Process cmdlet'i ilk pozisyonel parametre olarak bir işlem adı alır.
Bu parametre, joker karakterleri de destekler:
gps o*a
PowerShell, yapılandırılmış verileri ve zengin işlevsel nesneleri nasıl ele aldığıyla kendini göstermeye başlar. PowerShell'in nesne tabanlı yapısını keşfedeceğiz ve bunun nasıl etkili bir şekilde kullanılabileceğini öğreneceğiz.
PowerShell'de basit bir metin dizesi oluşturmak için aşağıdaki komutu kullanabilirsiniz:
"Merhaba!"
Resim :
Bu komut çalıştırıldığında, "Merhaba!" ifadesi ekrana yazdırılır.
Örneğin, bu nesnenin Length özelliğini kullanarak kaç karakter içerdiğini öğrenebilirsiniz:
"Merhaba!".Length
Resim :
Sonuç olarak, 8 karakter olduğunu göreceksiniz.
Tüm PowerShell komutları, çıktı olarak nesneler üretir. Örneğin, Get-Process cmdlet'i, bir System.Diagnostics.Process nesnesi oluşturur. Bu nesneyi bir değişkende saklayabilirsiniz. PowerShell'de değişken isimleri $ karakteri ile başlar. Eğer Notepad uygulamanız açıksa, aşağıdaki komut onu bir değişkende saklayacaktır:
$process = Get-Process notepad
Elde ettiğiniz Process nesnesi, .NET Framework'ten tam işlevsel bir nesnedir. Bu nesne üzerinde çeşitli işlemler gerçekleştirmek için yöntemleri çağırabilirsiniz. Örneğin, bir işlemi durdurmak için Kill() yöntemini kullanabilirsiniz:
$process.Kill()
Resim :
Bu örnek, Stop-Process cmdlet'inin sunduğu işlevselliği daha doğrudan gösterse de, zengin nesnelerle etkileşimde bulunma yeteneğinizi vurgular.
PowerShell, .NET Framework'ten nesne desteği ile kullanıcılarının işlerini hızlandırırken, aynı zamanda yönetimsel görevler üzerine de yoğunlaşmaya devam etmektedir. Bu yazıda, PowerShell'in yönetimsel yeteneklerini ve sunduğu kullanışlı işlevleri keşfedeceğiz.
PowerShell, megabayt (MB) ve gigabayt (GB) gibi standart yönetimsel sabitleri destekler. Örneğin, 100 GB'lık bir sabit diski CD-ROM'a yedeklemek için kaç disk gerektiğini hesaplayalım:
100GB / 650MB
Bu komutun sonucu yaklaşık olarak 157,53... disk gerektirdiğini gösterir.
.NET Framework, geliştiriciler için bir platform olmasının yanı sıra yöneticiler için de büyük bir işlevsellik sunar. Örneğin, 2024 yılı bir artık yıl mı? PowerShell bu sorunun cevabını kolayca verebilir:
[DateTime]::IsLeapYear(2024)
Sonuç olarak True (doğru) döner.
Zafer bayramı tarihi olan "08/30/25" tarihine kadar ne kadar zaman kaldığını belirlemek için aşağıdaki komutları kullanabilirsiniz. Bu komut, belirtilen tarihi bir tarih nesnesine dönüştürür ve mevcut tarihten çıkararak kalan süreyi hesaplar:
$result = [DateTime] "08/30/25" - [DateTime]::Now
$result.TotalDays
Bu işlem sonucunda, zafer bayramına kalan gün sayısını görebilirsiniz.
PowerShell'de, bir komut çıktısı ürettiğinde, bu çıktıyı doğrudan başka bir komuta girdi olarak iletmek için bir pipeline karakteri (|) kullanabilirsiniz. İkinci komut, ilk komut tarafından üretilen nesneleri anladığında, sonuçlar üzerinde işlem yapabilir. Bu şekilde birçok komutu zincirleyerek, birkaç basit işlemden güçlü bileşimler oluşturabilirsiniz.
Aşağıdaki komut, Path1 dizinindeki tüm öğeleri alır ve bunları Path2 dizinine taşır:
Get-Item Path1\* | Move-Item -Destination Path2
Daha karmaşık komutlar oluşturmak için pipeline'a ek cmdlet'ler ekleyebilirsiniz.
Aşağıdaki örnekte, ilk komut sistemde çalışan tüm süreçleri alır.
Bu süreçler, her bir gelen öğe üzerinde bir karşılaştırma yaparak Where-Object cmdlet'ine iletilir.
Burada karşılaştırma, $_.Handles -ge 500
ifadesidir; bu ifade, mevcut nesnenin ($_ değişkeniyle temsil edilen)
Handles özelliğinin 500 veya daha büyük olup olmadığını kontrol eder.
Bu karşılaştırmayı sağlayan her nesne, Handles özelliğine göre sıralama yapmak için Sort-Object cmdlet'ine iletilir.
Son olarak, nesneler Format-Table cmdlet'ine iletilerek, süreçlerin Handles, ID, Name ve Description bilgilerini içeren bir tablo oluşturulur.
Aşağıdaki PowerShell komutu, pipeline kullanarak çeşitli cmdlet'leri birleştirerek nasıl daha karmaşık işlemler yapılabileceğini göstermektedir:
Get-Process | Where-Object { $_.Handles -ge 500 } | Sort-Object Handles | Format-Table Handles, ID, Name, Description -AutoSize
Resim :
PowerShell, güçlü komutlar ve işlevsellik sunan bir shell ortamıdır. Ancak, sistem bilgilerini değiştiren komutların kullanımı bazen endişe verici olabilir. Özellikle, aşağıdaki gibi bir komutun ne yaptığını düşünmek önemlidir:
gps [b-t]*[c-r] | Stop-Process
Bu komut, b'den t'ye kadar olan harflerle başlayan ve c'den r'ye kadar olan harflerle biten tüm süreçleri durdurmayı amaçlar. Peki, bu komutun ne yapacağını nasıl bilebilirsiniz? PowerShell, veri değiştiren komutlar için -WhatIf ve -Confirm parametrelerini destekler. Bu parametreler, bir komutun ne yapacağını önceden görmenizi sağlar.
Aşağıdaki komutu kullanarak, Stop-Process komutunun hangi süreçleri durduracağını görebilirsiniz:
gps [b-t]*[c-r] | Stop-Process -WhatIf
Resim :
Bu örnekte, -WhatIf parametresini kullanarak, Stop-Process komutunu uygulamadan önce hangi süreçlerin durdurulacağını önceden görebilirsiniz.
Bu tür teknikleri kullanarak, kendinizi koruyabilir ve sisteminizin güvenliğini artırabilirsiniz. Unutmayın, bilgi güçtür; doğru bilgiyi kullanmak ise güvenliğin anahtarıdır.
PowerShell, sistem yönetimi ve otomasyonu için güçlü bir araçtır. Bu yazıda, PowerShell'de sıkça kullanılan keşif komutlarını inceleyeceğiz. Ad hoc öğrenmenin en etkili yöntemlerinden biri, belirli bir anahtar kelime ile ilişkili komutları bulmaktır.
Belirli bir wildcard ile eşleşen tüm komutları bulmak için Get-Command cmdlet'ini kullanabilirsiniz. Örneğin, "process" kelimesini içeren PowerShell komutlarını ve Windows uygulamalarını bulmak için aşağıdaki komutu kullanabilirsiniz:
Get-Command *process*
Resim :
Bir komutun ne yaptığını öğrenmek için Get-Help cmdlet'ini kullanabilirsiniz. Örneğin, Wait-Process komutunun detaylarını görmek için:
Get-Help Wait-Process
Resim :
Bu komut, Wait-Process hakkında bilgi sağlayacaktır.
PowerShell, .NET Framework ile etkileşimde bulunmanıza olanak tanır. Bir nesnenin (örneğin, bir .NET System.String) özelliklerini ve yöntemlerini görüntülemek için Get-Member cmdlet'ini kullanabilirsiniz. Aşağıdaki komut, bir string nesnesinin tür adını ve üyelerini gösterir:
"Merhaba!" | Get-Member
Çıktı şu şekilde olacaktır:
Resim :
PowerShell'de keşif yapmak, sistem yöneticileri ve geliştiriciler için kritik bir beceridir. Get-Command, Get-Help ve Get-Member gibi cmdlet'ler, komutları anlamanızı ve etkili bir şekilde kullanmanızı sağlar. Bu araçları kullanarak PowerShell becerilerinizi geliştirebilir ve sistem yönetimini daha verimli hale getirebilirsiniz.
PowerShell, komut satırında yazılan komutlar ile bir betikte (script) yer alan komutlar arasında hiçbir ayrım yapmaz. En sevdiğiniz cmdlet’ler scriptlerde çalışırken, en sevdiğiniz script teknikleri (örneğin, foreach ifadesi) doğrudan komut satırında da kullanılabilir. Aşağıdaki örnek, çalışan tüm süreçlerin (process) id sayısını toplamak için nasıl bir işlem yapabileceğinizi göstermektedir:
$idCount = 0
foreach($process in Get-Process) { $idCount += $process.ID }
$idCount
Resim :
PowerShell, koleksiyonlar hakkında istatistikler ölçmek için Measure-Object adlı bir komut sunmasına rağmen, bu kısa örnek, PowerShell’in genellikle ayrı bir script veya programlama diline ihtiyaç duyan teknikleri nasıl uygulamanıza izin verdiğini göstermektedir.
PowerShell, PowerShell scriptleme anahtar kelimelerinin yanı sıra, aşina olduğunuz, .NET Framework nesneleriyle de doğrudan oluşturup çalışmanıza olanak tanır. PowerShell, Visual Studio’daki C# anlık moduna oldukça benzer hale gelir. Aşağıdaki örnek, bir web sayfasını alıp içeriğini nasıl işleyebileceğinizi göstermektedir:
$webClient = New-Object System.Net.WebClient
$webContent = $webClient.DownloadString("http://testphp.vulnweb.com")
$webContent.Substring(0, 100)
Resim :
PowerShell, etkileşimli yönetim ile script yazma arasındaki sınırları bulanıklaştırarak, kullanıcıların hızlı bir şekilde ad hoc betikler geliştirmesine olanak tanır. PowerShell oturumlarınızın geçmişi, bu tür geliştirmeler için mükemmel bir temel oluşturur. Aşağıda, PowerShell oturumunuzdaki komut geçmişini nasıl kullanabileceğinizi gösteren bir örnek bulunmaktadır.
PowerShell'de Get-History cmdlet'ini kullanarak oturumunuzun geçmişini alabilir ve her bir komutun CommandLine özelliğini (yani yazdığınız komutu) yeni bir script dosyasına yazabilirsiniz. İşte bu süreci adım adım nasıl gerçekleştireceğiniz:
Aşağıdaki komutu kullanarak geçmişinizi alabilirsiniz:
Get-History | ForEach-Object { $_.CommandLine } > C:\Users\BerKolik\Desktop\Software\Betik\PowerShell\The-Powershell-1\Project\History\script.ps1
Resim :
Bu komut, oturum geçmişinizdeki her bir komutun satırını alır ve dosyaya yazar.
Oluşturduğunuz betik dosyasını Notepad gibi bir metin düzenleyici ile açabilirsiniz:
notepad script.ps1
Bu aşamada, dosyadaki içeriği gözden geçirebilir ve saklamak istediğiniz komutları düzenleyebilirsiniz.
PowerShell, .NET Framework'ü tam anlamıyla kullanmanıza olanak tanırken, desteklediği yaygın teknolojilerle de dikkat çekiyor. Aşağıda, PowerShell ile XML, WMI, CIM ve COM nesneleri gibi çeşitli teknolojilerle nasıl çalışabileceğinizi gösteren örnekler bulunmaktadır.
PowerShell, XML verileriyle etkileşim kurmanıza olanak tanır.
Aşağıdaki örnekte, XML içeriğini nasıl işleyebileceğinizi görebilirsiniz:
$xmlContent = [xml] $content
$xmlContent
$xmlContent.rss
$xmlContent.rss.channel.item | select Title
PowerShell, Windows Management Instrumentation (WMI) ve Common Information Model (CIM) ile çalışma yeteneğine sahiptir. Aşağıdaki örnek, BIOS bilgilerini almak için Get-CimInstance cmdlet'ini kullanmaktadır:
Get-CimInstance Win32_Bios
PowerShell, Active Directory Service Interfaces (ADSI) ile etkileşim kurmanıza da olanak tanır.
Aşağıdaki örnekte, yerel yöneticinin bilgilerini alabilirsiniz:
[ADSI] "WinNT://./Administrator" | Format-List *
▎COM Nesneleri ile Çalışma
PowerShell, geleneksel COM nesneleri ile de çalışmanıza olanak tanır. Aşağıdaki örnekte, Windows Güvenlik Duvarı ayarlarını almak için bir COM nesnesi oluşturulmuştur:
$firewall = New-Object -com HNetCfg.FwMgr
$firewall.LocalPolicy.CurrentProfile
Resim :
PowerShell, sistemle etkileşim kurmanın birçok yolunu sunar ve bunlardan biri de sağlayıcılardır. PowerShell sağlayıcıları, veri depolarında gezinmenizi ve yönetmenizi sağlar. Bu, dosya sistemi ile çalışırken kullandığınız tekniklerle aynı yöntemleri kullanarak yapılabilir. Aşağıda, bu sağlayıcılarla nasıl çalışabileceğinizi gösteren bazı örnekler bulunmaktadır.
PowerShell ile dosya sisteminde gezinmek oldukça basittir. Aşağıdaki örnek, C: sürücüsünde nasıl gezineceğinizi göstermektedir:
Set-Location C:\
Get-ChildItem
Bu komutları çalıştırdığınızda, belirtilen dizindeki dosya ve klasörlerin listesini alırsınız:
Resim :
PowerShell, Windows kayıt defteri üzerinde de gezinmenize olanak tanır. Aşağıdaki örnekte, Kayıt Defteri'nin "HKEY_CURRENT_USER\Software\Microsoft\Windows" yolunda nasıl gezineceğinizi görebilirsiniz:
Set-Location HKCU:\Software\Microsoft\Windows\
Get-ChildItem
Bu komutlar, belirtilen kayıt defteri anahtarındaki alt anahtarları ve değerleri listeleyecektir.
PowerShell, makinenizin sertifika deposu üzerinde de gezinmenize imkan tanır. Aşağıdaki örnek, "CurrentUser\Root" sertifika deposunda nasıl gezineceğinizi göstermektedir:
Set-Location cert:\CurrentUser\Root
Get-ChildItem
Bu komutlar çalıştırıldığında, sertifika deposundaki sertifikaların listesi görüntülenecektir.
PowerShell sağlayıcıları, sistem verilerine erişimi ve yönetimini son derece kolaylaştırır. Dosya sistemi, kayıt defteri ve sertifika deposu gibi farklı veri kaynaklarında gezinmek için aynı teknikleri kullanarak verimli bir şekilde çalışabilirsiniz.