En Yararlı Powershell Komutları: Örneklerle Hile Sayfası
Yayınlanan: 2023-07-23- PowerShell'e Başlarken
- PowerShell Komut Yapılarına Derinlemesine Dalış
- Dosya ve Klasörleri Yönetme
- Sistem Süreçlerini Yönetme
- Ağ yönetimi
- Aktif Dizin Yönetimi
- Olay Günlüğü Yönetimi
- Performans İzleme ve Analiz
- Uzaktan Uzaklaştırma ve PowerShell Oturumları
- Güvenlik ve Yürütme Politikaları
- Gelişmiş PowerShell Teknikleri
- Aşağıda 30 Ek PowerShell Komutu
- Çözüm
- SSS
- Windows PowerShell Komutlarını Nasıl Kullanırım?
- Windows 7'de PowerShell Komut Listesini Nasıl Alabilirim?
- PowerShell'i Windows Dışı Sistemlerde Kullanabilir miyim?
- PowerShell'de Komut Dosyaları Yazabilir miyim?
- Bulut Tabanlı Ortamları Yönetmek için PowerShell Kullanabilir miyim?
Sistem yönetimi dünyasına dalma zevkini tattıysanız, muhtemelen Windows PowerShell ve PowerShell komutlarıyla karşılaşmışsınızdır. Kullanışlı bir araçtır, işletim sisteminizin iç işleyişine erişmenizi sağlayan bir kabuk betik dilidir.
Daha fazla güç, esneklik ve kontrol sunarak geleneksel Komut İstemi'ni (CMD) gölgede bırakır.
Basit komut satırı yönergeleri kullanan CMD'den farklı olarak Windows PowerShell , karmaşık sistem görevleri için bir PowerShell komutları listesi veya cmdlet'ler kullanarak daha kapsamlı bir dil kullanır .
Bir sistem yöneticisi olarak, işiniz cephaneliğinizdeki bu araçla önemli gelişmeler görebilir. Bu sadece işleri kolaylaştırmakla ilgili değil; verimlilik, hassasiyet ve tekrar eden görevleri otomatikleştirme yeteneği ile ilgilidir.
PowerShell'e Başlarken
Artık PowerShell'in ne olduğuna aşina olduğunuza göre, dalışa geçme zamanı. Başlamak oldukça basit. İki ana rotanız var:
- PowerShell konsolu
- Entegre Komut Dosyası Ortamı (ISE).
Konsol, komut satırı arayüzünüzdür. Komutlarınızın sisteme ulaşması ve onu manipüle etmesi için doğrudan bir yoldur. Öte yandan ISE, komut dosyası yazmak için oyun alanınızdır. Burası, PowerShell betiklerinizi kullanıcı dostu, kullanıcı merkezli bir ortamda yazabileceğiniz, test edebileceğiniz ve hata ayıklayabileceğiniz yerdir.
Topu yuvarlamanıza yardımcı olmak için, birkaç temel PowerShell komutunu ele alalım .
Açıklama : Windows PowerShell komutları ve konuları hakkında yardım bilgilerini görüntüler .
Örnek : Get-Help Get-Process yazmak, Get-Process komutu için yardımı gösterecektir.
Adından da anlaşılacağı gibi Get-Help, PowerShell evreni boyunca rehberinizdir . Diğer komutların işlevlerini keşfetmenizi sağlayan yerleşik bir kılavuzdur.
Açıklama : PowerShell'de bulunan tüm komutların bir listesini alır.
Örnek : Get-Command -Module ActiveDirectory girilmesi, ActiveDirectory modülünde bulunan tüm komutları listeleyecektir.
Get-Command, PowerShell komutları kopya kağıdınızdaki diğer bir değerli araçtır . Bununla, PowerShell'in sunduğu her komutu görüntüleyebilirsiniz.
PowerShell Komut Yapılarına Derinlemesine Dalış
PowerShell komutları üç ana yapı etrafında oluşturulmuştur: cmdlet'ler, takma adlar ve betikler.
Cmdlet'ler (Command-let'ler), PowerShell'in kalbidir. Belirli işlevleri yerine getiren hafif komutlardır. Geleneksel yürütülebilir programlardan farklı olarak, cmdlet'ler .NET Framework sınıfı nesnelerdir - bir ağız dolusu, değil mi? Basitçe söylemek gerekirse, veri getirme, sistem ayarlarını değiştirme veya işlemleri çalıştırma gibi şeyler yapan kod parçalarıdır.
Açıklama : Çalışan tüm işlemlerin bir listesini alır
Örnek : Get-Process'e girmek, sisteminizde o anda çalışan tüm işlemleri size gösterecektir.
Takma adlar yalnızca cmdlet'ler için kısayollardır. Örneğin,Get-ChildItemyazmak yerine, daha hızlı ve hatırlaması daha kolay olandiryazabilirsiniz .
Son olarak komut dosyaları, sırayla çalıştırılacak bir dizi cmdlet içeren metin dosyalarıdır. Otomasyonun belkemiğidirler ve karmaşık görevleri manuel girdi olmadan çalıştırmanıza olanak tanırlar. Bu bilgi ve büyüyen PowerShell komutları listenizle , bir PowerShell uzmanı olma yolunda ilerliyorsunuz.
Dosya ve Klasörleri Yönetme
Bir dosya sisteminin yönetiminde olmak göz korkutucu bir görev olabilir. Şans eseri, PowerShell yardım ediyor. Cmdlet cephaneliğiyle dosya ve klasörleri sorunsuz bir şekilde yönetebilirsiniz.
Açıklama : Belirtilen konumlardaki öğeleri ve alt öğeleri görüntüler.
Örnek : Get-ChildItem C:\Documents girin ve Belgeler dizini içindeki tüm öğeleri göreceksiniz.
Bu cmdlet, dosya yönetimi için PowerShell komutları listenizin önemli bir üyesidir . Yalnızca dosya ve klasörleri listelemekle kalmaz, aynı zamanda içindeki gizli hazineleri ortaya çıkaran dizinlerin derinliklerine inebilir.
Açıklama : Dosya veya klasör gibi yeni bir öğe oluşturur.
Örnek : New-Item -Path yazın.-Adı "file.txt" -ItemType "dosya" -Değer "powershell yeni öğe demo dosyası geçerli dizin."
ve Belgeler klasörünüzde yeni bir dosyanın, file.txt'nin ortaya çıkışını izleyin.
Sistem Süreçlerini Yönetme
Şimdi biraz vites değiştirelim ve sistem süreçlerinden bahsedelim. Onları, gösterinin aksamadan devam etmesini sağlamak için perde arkasında özenle çalışan bir tiyatro prodüksiyonunun sahne arkası ekibi olarak düşünün. PowerShell, bu isimsiz kahramanları izlemek, manipüle etmek ve yönetmek için komutlar sunar.
Açıklama: Belirtilen işlemler listesinin durumunu alır.
Örnek: Get-Process'e girilmesi, makinenizde o anda çalışmakta olan tüm işlemleri görüntüler.
Yukarıdaki, sistem işlemlerini yönetmek için Windows 10'da en sık kullanılan PowerShell komutlarından biridir. Ekranınızın arkasında neler olup bittiğinin bir anlık görüntüsünü sağlar.
Hizmetlerle Çalışmak
Tıpkı sistem süreçleri gibi, hizmetler de sistemlerimizin sorunsuz çalışmasını sağlayan çarktaki kritik dişlilerdir . Arka planda çalışan programlar vardır ve PowerShell ile bunları yakından takip edebilirsiniz.
Açıklama : Yerel veya uzak bir bilgisayardaki hizmetlerin durumunu alır.
Örnek : Get-Service'i çalıştırdığınızda, bilgisayarınızdaki tüm servislerde bir durum güncellemesi alırsınız.
Açıklama : Çalışan bir veya daha fazla hizmeti durdurur.
Örnek : Stop-Service -Name “hizmetAdı” belirtilen hizmeti durduracaktır.
Bu PowerShell komut örnekleri, PowerShell ile yapabileceklerinizin yalnızca yüzeyini çizer. PowerShell'in gerçek güzelliği, esnekliğinde ve özel ihtiyaçlarınızı karşılayacak şekilde özelleştirilebilmesinde yatmaktadır.
Ağ yönetimi
Bir ağı yönetmek, sonsuz parçalı bir yapbozu çözmeye çalışmak gibi gelebilir. Şans eseri, PowerShell ile bu işi kolaylaştıracak araçlardan yoksun değilsiniz. İşte size yardımcı olacak birkaç en iyi PowerShell komutu.
Açıklama : Bir bağlantı için teşhis bilgilerini görüntüler.
Örnek : Makinenizin ağ bağlantısını test etmek için Test-NetConnection yazın.
Açıklama : IP adresi yapılandırmasını görüntüler.
Örnek : Get-NetIPAddress'i çalıştırmak, makinenizin IP adresi ayrıntılarını gösterir.
Bu cmdlet'ler, sorunları teşhis etmeye ve temel ağ yapılandırma ayrıntılarını ortaya çıkarmaya yardımcı olabilir.
Aktif Dizin Yönetimi
Ağ yönetimi dünyasında, Active Directory (AD) ofisin yöneticisidir ve her ağ kaynağını takip eder. PowerShell, AD yönetimini çocuk oyuncağı haline getirmek için kullanışlı komutlarla birlikte gelir.
Açıklama : Bir kullanıcı nesnesini alır veya birden çok kullanıcı nesnesini almak için bir arama gerçekleştirir.
Örnek : Get-ADUser -Filter *, AD'nizdeki tüm kullanıcıların bir listesini getirecektir.
Açıklama : Yeni bir AD kullanıcısı oluşturur.
Örnek : New-ADUser -Name “JohnDoe” gibi bir komut ile JohnDoe adında yeni bir kullanıcı oluşturabilirsiniz.
Olay Günlüğü Yönetimi
Olay günlükleri, düşüncelerinizi ve eylemlerinizi kaydeden, sisteminizin günlüğü gibidir. Sorun giderme için paha biçilmez bir araçtır. Olay günlüklerinizle etkileşime giren PowerShell komutlarını Windows 10'da nasıl çalıştıracağınız aşağıda açıklanmıştır.
Açıklama : Bir olay günlüğündeki veya olay günlüklerinin bir listesindeki olayları alır.
Örnek : Get-EventLog -LogName System, sistem olay günlüklerini görüntüler.
Açıklama : Belirtilen olay günlüklerindeki tüm girişleri temizler.
Örnek : Clear-EventLog -LogName "Application", Uygulama olay günlüğünüz için listeyi temizleyecektir.
Bunlar en yaygın PowerShell komutlarından bazıları olsa da keşfedilecek daha sayısız şey olduğunu unutmamak önemlidir . PowerShell'in uyarlanabilirliği ve sağlam işlevselliği, onu herhangi bir sistem yöneticisi için vazgeçilmez bir araç haline getirir.
Performans İzleme ve Analiz
İyi ayarlanmış bir orkestra gibi, sisteminizin de en iyi performansı göstermesi için düzenli olarak ince ayara ihtiyacı vardır. Performans izleme, sistem kaynaklarınızın verimli bir şekilde kullanılmasını sağlar. Aşağıda, arka plana bakmanıza izin veren bazı Windows PowerShell komutları verilmiştir.
Açıklama : Belirtilen işlemler listesinin durumunu alır.
Örnek : Çalıştırma Get-Process, makinenizde o anda çalışmakta olan tüm işlemleri gösterir.
Açıklama : Betik bloklarını çalıştırmak için geçen süreyi ölçer.
Örnek : Measure-Command {Get-Process}, Get-Process komutunu yürütmek için geçen süreyi ortaya çıkaracaktır.
Açıklama : Yerel ve uzak bilgisayarlardan performans sayacı verilerini alır.
Örnek : Get-Counter -Counter “\Processor(_Total)\% Processor Time” size CPU kullanım istatistiklerini verecektir.
Ayrıca okuyun: Windows'ta Bir Sabit Disk Performansını Nasıl Hızlandırırsınız?
Uzaktan Uzaklaştırma ve PowerShell Oturumları
PowerShell'in temel gücü, uzak bilgisayarları yönetme becerisinde yatmaktadır. Uzak makinelerle oturumlar veya kalıcı bağlantılar kurabilirsiniz. Bu cmdlet'ler olmadan PowerShell komutlarınız kısa bilgi sayfası tamamlanmış sayılmaz.
Açıklama : Uzak bir bilgisayarla etkileşimli bir oturum başlatır.
Örnek : Enter-PSSession -BilgisayarAdı Sunucu01, doğrudan Sunucu01 ile etkileşime girmenizi sağlar.
Açıklama : Yeni bir PowerShell oturumu oluşturur.
Örnek : New-PSSession -ComputerName Server02, Server02 ile yeni bir oturum oluşturur.
Açıklama : Bir veya daha fazla PowerShell oturumunu kapatır.
Örnek : Remove-PSSession -Session $s, $s değişkeninde saklanan bir oturumu kapatır.
PowerShell Profilleriyle Çalışma
Kişisel profiliniz gibi, PowerShell profili de Powershell başladığında çalışan bir betiktir ve ortamınızı tanımlar. Burada, profillerinizi yönetmek için bazı cmdlet PowerShell komutları verilmiştir.
Açıklama : Yolun tüm öğelerinin var olup olmadığını belirler.
Örnek : Test-Path $profile, bir profilin var olup olmadığını doğrular.
Açıklama : Dosya veya klasör gibi yeni bir öğe oluşturur.
Örnek : Test-Path $profile False döndürürse, New-Item -Type file -Path $profile -Force yeni bir profil oluşturacaktır.
Açıklama : Dosyaları Not Defteri'nde açar.
Örnek : Notepad $profile, profilinizi Not Defteri'nde açarak düzenlemenize olanak tanır.
Bu komutları anlayarak ve kullanarak, PowerShell ortamınızı tercihlerinize ve çalışma tarzınıza uyacak şekilde özelleştirebilirsiniz.
Güvenlik ve Yürütme Politikaları
PowerShell alanında güvenlik , betiklerin ve komutların güvenli bir şekilde yürütülmesini sağlayan kararlı bir bekçi gibidir. Yürütme ilkelerinizi tanımlamanıza ve anlamanıza yardımcı olacak bazı temel PowerShell komutlarını burada bulabilirsiniz .
Açıklama : Geçerli oturum için yürütme ilkelerini alır.
Örnek : Get-ExecutionPolicy, mevcut yürütme politikanızı görüntüler.
Açıklama : PowerShell oturumu için yürütme ilkesini ayarlar.
Örnek : Set-ExecutionPolicy RemoteSigned, politikayı yalnızca güvenilir bir yayıncı tarafından imzalanmış komut dosyalarını çalıştıracak şekilde ayarlar.
Açıklama : Bir betiğin veya dosyanın dijital imzasını alır.
Örnek : Get-AuthenticodeSignature C:\Scripts\Test.ps1, Test.ps1 komut dosyasının dijital imzasını gösterir.
Gelişmiş PowerShell Teknikleri
PowerShell okyanusunun derinliklerine indikçe, temel cmdlet'lerden çok daha fazlasıyla dolu olduğunu keşfedeceksiniz. Gelişmiş işlevler daha fazla esneklik ve işlevsellik sunarak daha çok değil, daha akıllıca çalışmanıza olanak tanır. Olasılıkları aydınlatmak için bazı PowerShell komut örnekleri aşağıdadır .
Açıklama : Komutları yerel ve uzak bilgisayarlarda çalıştırır.
Örnek : Invoke-Command -ComputerName Server01 -ScriptBlock {Get-Process}, Server01'de Get-Process komutunu çalıştırır.
Açıklama : .NET nesnelerini CSV dizelerine dönüştürür ve sonuçları bir CSV dosyasında saklar.
Örnek : Get-Process |Export-Csv -Path .\ProcessList.csv, işlem listenizi bir CSV dosyasına kaydeder.
Açıklama : Bir nesneyi JSON temsiline dönüştürür.
Örnek : Get-Process |ConvertTo-Json, işlem listenizi JSON formatına dönüştürür.
Açıklama : Bir nesnenin veya nesne kümesinin belirtilen özelliklerini seçer.Ayrıca bir diziden benzersiz nesneleri de seçebilir.
Örnek : Get-Process |Select-Object -Property Name,ID, işlemlerinizin yalnızca Adını ve kimliğini gösterir.
Açıklama : Ardışık düzenden gelen girdileri filtreler ve komut dizisi boyunca hangi nesnelerin geçirileceği üzerinde denetim sağlar.
Örnek : Get-Process |Where-Object {$_.CPU -gt 10}, 10'dan fazla CPU birimi kullanan işlemleri görüntüler.
Açıklama : Bir dizi giriş nesnesinin her birine karşı bir işlem gerçekleştirir.
Örnek : Get-Process |ForEach-Object { $_.Name + ” ” + $_.Id }, kimlikleriyle birlikte işlem adlarının bir listesini görüntüler.
Bu kullanışlı PowerShell komutları, Powershell'in gücünden daha fazla yararlanmak için kullanabileceğiniz gelişmiş teknikleri gösterir. Uzak bilgisayarlarda komutları çağırmaktan çıktıyı filtrelemeye ve biçimlendirmeye kadar, olasılıklar çok fazladır.
PowerShell komutlarını nasıl çalıştıracağınızdan emin değilseniz, Get-Help cmdlet'inin arkadaşınız olduğunu unutmayın . Get-Help yazıp ardından yardıma ihtiyacınız olan cmdlet'i yazmanız yeterlidir. Bu en iyi PowerShell komutları listesi yalnızca başlangıçtır; PowerShell'in potansiyeli yalnızca sizin hayal gücünüzle sınırlıdır.
Aşağıda 30 Ek PowerShell Komutu
Emretmek | Tanım |
Dosya Dışı | Çıktıyı bir dosyaya gönderir. |
Sıralama Nesnesi | Nesneleri özellik değerlerine göre sıralar. |
Set Değişkeni | Bir değişkenin değerini ayarlar. |
Okuma Sunucusu | Konsoldan bir girdi satırı okur. |
Yazma Sunucusu | Özelleştirilmiş çıktıyı bir ana bilgisayara yazar. |
İçerik Ekle | Bir dosyaya satır eklemek gibi, belirtilen öğelere içerik ekler. |
Öğeyi Kopyala | Bir öğeyi bir konumdan diğerine kopyalar. |
Test Yolu | Bir yolun varlığını test eder ve yol varsa True, aksi takdirde False döndürür. |
Get-Tarih | Geçerli tarih ve saati alır. |
Clear-Host | Ana programdaki ekranı temizler. |
Karşılaştır-Nesne | İki nesne grubunu karşılaştırır. |
Html'ye Dönüştür | .NET nesnelerini bir Web tarayıcısında görüntülenebilen HTML'ye dönüştürür. |
Kimlik Bilgisi Alın | Bir kullanıcı adı ve parolaya dayalı olarak bir kimlik bilgisi nesnesi alır. |
Rastgele Al | Rastgele bir sayı alır veya nesneleri bir koleksiyondan rastgele seçer. |
Yeni Nesne | Bir .NET Framework veya COM nesnesinin örneğini oluşturur. |
Öğeyi Yeniden Adlandır | Windows PowerShell sağlayıcı ad alanındaki bir öğeyi yeniden adlandırır. |
Uykuya Başlama | Belirtilen süre boyunca bir komut dosyasındaki etkinliği askıya alır. |
Yazma Çıkışı | Belirtilen nesneleri işlem hattındaki bir sonraki komuta gönderir. |
Bölünmüş Yol | Bir yolun belirtilen bölümünü döndürür. |
Birleştirme Yolu | Bir yolu ve alt yolu tek bir yolda birleştirir. |
ForEach-Nesne | Giriş nesneleri koleksiyonundaki her öğeye karşı bir işlem gerçekleştirir. |
Nerede-Nesne | Özellik değerlerine göre bir koleksiyondaki nesneleri seçer. |
Başlangıç Süreci | Yerel bilgisayarda bir veya daha fazla işlem başlatır. |
Biçim Listesi | Çıktıyı, her özelliğin ayrı bir satırda görüntülendiği bir özellikler listesi olarak biçimlendirir. |
Format Tablosu | Çıktıyı tablo olarak biçimlendirir. |
İhracat-Clixml | Bir nesnenin veya nesnelerin XML tabanlı bir temsilini oluşturur ve bunu bir dosyada saklar. |
Import-Clixml | Bir CliXML dosyasını içe aktarır ve kaydedilen nesneleri yeniden oluşturur. |
ConvertFrom-Csv | CSV dizelerindeki nesne özelliklerini orijinal nesnelerin CSV sürümlerine dönüştürür. |
Csv'ye Dönüştür | .NET nesnelerini bir dizi CSV dizisine dönüştürür. |
Select-String | Dizelerde ve dosyalarda metin bulur. |
Çözüm
Şimdiye kadar, kapsamlı bir PowerShell komutları listesine ve potansiyelleri hakkında net bir fikre sahip olmalısınız . İster görevleri otomatikleştirin , ister ağ kaynaklarını yönetin veya sorunları giderin, PowerShell her Windows kullanıcısı veya yöneticisi için vazgeçilmez bir araçtır.
Bu PowerShell cmdlet'leri, mümkün olanın yalnızca yüzeyini çizer. Konsolda daha rahat büyüdükçe, kendinizi ihtiyaçlarınızı mükemmel bir şekilde karşılayan yeni komutlar keşfederken ve komut dosyaları hazırlarken bulacaksınız.
Unutmayın, Get-Help cmdlet'i , belirli bir cmdlet hakkında daha fazla bilgiye ihtiyacınız olduğunda PowerShell komutları yardımı sağlamak için her zaman oradadır . Get-Help yazıp ardından yardıma ihtiyacınız olan cmdlet'i yazmanız yeterlidir.
SSS
Windows PowerShell Komutlarını Nasıl Kullanırım?
Windows PowerShell komutlarını kullanmak basittir. Komutu PowerShell konsoluna yazıp Enter tuşuna basarsınız. Belirli bir komutla ilgili yardıma ihtiyacınız varsa, Get-Help yazıp ardından daha iyi anlamak istediğiniz komutu yazmanız yeterlidir.
Windows 7'de PowerShell Komut Listesini Nasıl Alabilirim?
Konsola Get-Command yazıp Enter tuşuna basarak Windows 7'de PowerShell'de komutların bir listesini alabilirsiniz. Bu, kullanabileceğiniz tüm kullanılabilir cmdlet'leri ve işlevleri görüntüler.
Windows PowerShell'im neden herhangi bir komutu anlayamıyor?
PowerShell komutlarınızı anlamıyorsa bunun nedeni sözdizimi hataları olabilir. Komutunuzu yazım hataları veya yanlış parametreler için kontrol edin. Ayrıca, yürütmeye çalıştığınız komut için doğru PowerShell sürümünü kullandığınızdan emin olun.
PowerShell'i Windows Dışı Sistemlerde Kullanabilir miyim?
Evet yapabilirsin. PowerShell Core'un gelişiyle, Microsoft'un PowerShell'i artık Windows ile sınırlı değil. MacOS ve Linux'ta da kullanabilirsiniz.
PowerShell'de Komut Dosyaları Yazabilir miyim?
Kesinlikle! PowerShell yalnızca bir komut satırı arabirimi değil, aynı zamanda bir betik dilidir. Yinelenen görevleri otomatikleştirmek için komut dosyaları oluşturabilirsiniz, bu da size çok fazla zaman ve emek kazandırabilir.
Bulut Tabanlı Ortamları Yönetmek İçin PowerShell Kullanabilir miyim?
Evet, PowerShell, bulut tabanlı ortamları yönetmek için güçlü bir araçtır. Microsoft Azure ve Amazon AWS dahil olmak üzere birçok bulut sağlayıcı, hizmetleriyle etkileşime geçmek için PowerShell modülleri sağlar.