Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
PowerShell bir komut satırı kabuğu ve bir komut dosyası dilidir. PowerShell, yönetim görevlerini otomatikleştirmeye yardımcı olmak için Windows'ta başlatıldı. Artık platformlar arası çalışır ve çeşitli görevler için kullanılabilir.
PowerShell'i benzersiz yapan şey, metin yerine .NET nesnelerini kabul edip döndürmesidir. Bu özellik, bir işlem hattında farklı komutların bağlanmasını kolaylaştırır.
PowerShell ne için kullanılabilir?
Başlangıçta PowerShell yalnızca Windows'du. Artık platformlar arasıdır ve aşağıdakiler gibi çeşitli görevler için kullanılabilir:
- Bulut yönetimi. PowerShell, bulut kaynaklarını yönetmek için kullanılabilir. Örneğin, bilgileri alabilir, güncelleştirebilir veya yeni kaynakları dağıtabilirsiniz.
- CI/CD. Sürekli Tümleştirme/Sürekli Dağıtım işlem hattının parçası olarak da kullanılabilir.
- Active Directory ve Exchange görevlerini otomatikleştirme. Active Directory'de kullanıcı oluşturma ve Exchange'de posta kutuları gibi Windows'ta neredeyse tüm görevleri otomatikleştirmek için bunu kullanabilirsiniz.
PowerShell'i kimler kullanır?
PowerShell, çok sayıda rolde çalışan kişilere yardımcı olabilecek güçlü bir araçtır. PowerShell geleneksel olarak Sistem Yöneticileri tarafından kullanılırdı. Artık kendilerine DevOps, Cloud Ops ve hatta Geliştiriciler diyen kişiler tarafından kullanılıyor.
PowerShell cmdlet'leri
PowerShell önceden yüklenmiş yüzlerce komutla birlikte gelir. PowerShell komutları cmdlet'ler olarak adlandırılır ( command-lets olarak okunur).
Her cmdlet'in adı bir Fiil-İsim çifti içerir. Örneğin, Get-Process. Bu adlandırma kuralı, cmdlet'in ne yaptığının anlaşılmasını kolaylaştırır. Ayrıca aradığınız komutu bulmayı kolaylaştırır. Kullanılacak cmdlet'i ararken fiil veya isim üzerinde filtreleyebilirsiniz.
PowerShell'i keşfetmek için cmdlet'leri kullanma
PowerShell'i ilk aldığınızda, öğrenmeniz gereken çok şey olduğu için korkutucu olabilir. PowerShell, ihtiyaç duyduğunuzda bir kerede biraz öğrenmenize yardımcı olmak için tasarlanmıştır.
PowerShell, PowerShell'i keşfetmenize yardımcı olan cmdlet'ler içerir. Bu üç cmdlet'i kullanarak hangi komutların kullanılabilir olduğunu, ne yaptıklarını ve hangi türlerde çalıştıklarını keşfedebilirsiniz.
-
Get-Verb. Bu komutu çalıştırmak, çoğu komutun bağlı olduğu fiillerin listesini döndürür. Yanıt, bu fiillerin ne yaptığının açıklamasını içerir. Komutların çoğu bu adlandırma kuralını izlediğinden, bir komutun ne yaptığına ilişkin beklentileri belirler. Bu komut, kendi komutlarınızı oluştururken uygun fiili ve bir komutun ne olarak adlandıracağını seçmenize yardımcı olur. -
Get-Command. Bu komut makinenizde yüklü olan tüm komutların listesini alır. -
Get-Member. Nesne tabanlı çıkış üzerinde çalışır ve bir komut için hangi nesne, özellik ve yöntemlerin kullanılabilir olduğunu bulabilir. -
Get-Help. Bu komutu bir komutun adıyla bağımsız değişken olarak çağırmak, komutun çeşitli bölümlerini açıklayan bir yardım sayfası görüntüler.
Bu komutları kullanarak PowerShell hakkında bilmeniz gereken neredeyse her şeyi keşfedebilirsiniz.
Fiil
Fiil , PowerShell'de önemli bir kavramdır. Çoğu cmdlet'in izlediği bir adlandırma standardıdır. Ayrıca kendi komutlarınızı yazarken izlemeniz beklenen bir adlandırma standardıdır. Fiil, verileri okumak veya değiştirmek gibi ne yapmaya çalıştığınızı söyler. PowerShell'in standartlaştırılmış bir fiil listesi vardır. Tüm olası fiillerin tam listesini almak için cmdlet'ini Get-Verb kullanın:
Get-Verb
Cmdlet uzun bir fiil listesi döndürür. Açıklama, fiilin ne yapması gerektiğiyle ilgili bağlam sağlar. Çıktının ilk birkaç satırı aşağıdadır:
Verb AliasPrefix Group Description
---- ----------- ----- -----------
Add a Common Adds a resource to a container, or attaches an item to another item
Clear cl Common Removes all the resources from a container but does not delete the container
Close cs Common Changes the state of a resource to make it inaccessible, unavailable, or unusab…
Copy cp Common Copies a resource to another name or to another container
Enter et Common Specifies an action that allows the user to move into a resource
Exit ex Common Sets the current environment or context to the most recently used context
...
Get-Command ile komutları bulma
Get-Command Cmdlet, sisteminizde yüklü olan tüm kullanılabilir komutların listesini döndürür. Liste büyük olabilir. Parametreleri veya yardımcı cmdlet'leri kullanarak yanıtı filtreleyerek geri gelen bilgi miktarını sınırlayabilirsiniz.
Ada göre filtrele
Çıkışını Get-Command farklı parametreler kullanarak filtreleyebilirsiniz. Filtreleme, belirli özelliklere sahip komutları bulmanıza olanak tanır.
Name parametresi, belirli bir komutu ada göre bulmanızı sağlar.
Get-Command -Name Get-Process
CommandType Name Version Source
----------- ---- ------- ------
Cmdlet Get-Process 7.0.0.0 Microsoft.PowerShell.Management
İşlemlerle çalışan tüm komutları bulmak istiyorsanız ne yapmanız gerekir? Dizenin diğer formlarını eşleştirmek için joker karakter * kullanabilirsiniz. Örneğin:
Get-Command -Name *-Process
CommandType Name Version Source
----------- ---- ------- ------
Cmdlet Debug-Process 7.0.0.0 Microsoft.PowerShell.Management
Cmdlet Get-Process 7.0.0.0 Microsoft.PowerShell.Management
Cmdlet Start-Process 7.0.0.0 Microsoft.PowerShell.Management
Cmdlet Stop-Process 7.0.0.0 Microsoft.PowerShell.Management
Cmdlet Wait-Process 7.0.0.0 Microsoft.PowerShell.Management
İsim ve Fiil üzerinde filtreleme
Fiil ve isim değerlerini filtreleyen başka parametreler de vardır. Komutun adının fiil bölümü en soldaki bölümdür. Fiil, cmdlet tarafından Get-Verb döndürülen değerlerden biri olmalıdır. Komutun en sağdaki bölümü isim bölümüdür. İsim her şey olabilir.
Fiili filtreleyin. komutunda
Get-Processfiil bölümü şeklindedirGet. Fiil bölümünü filtrelemek için Fiil parametresini kullanın.Get-Command -Verb 'Get'Bu örnekte, fiilini
Getkullanan tüm komutlar listelenir.İsimlere göre filtreleyin. komutunda
Get-Process, isim bölümü şeklindedirProcess. ada göre filtrelemek için İsim parametresini kullanın. Aşağıdaki örnek, harfiyleUbaşlayan adları olan tüm cmdlet'leri döndürür.Get-Command -Noun U*
Ayrıca, aramanızı daraltmak için parametreleri birleştirebilirsiniz, örneğin:
Get-Command -Verb Get -Noun U*
CommandType Name Version Source
----------- ---- ------- ------
Cmdlet Get-UICulture 7.0.0.0 Microsoft.PowerShell.Utility
Cmdlet Get-Unique 7.0.0.0 Microsoft.PowerShell.Utility
Cmdlet Get-Uptime 7.0.0.0 Microsoft.PowerShell.Utility
Sonuçları filtrelemek için yardımcı cmdlet'leri kullanma
Sonuçları filtrelemek için diğer cmdlet'leri de kullanabilirsiniz.
Select-Object. Bu çok yönlü komut, bir veya daha fazla nesneden belirli özellikleri seçmenize yardımcı olur. Geri alabileceğiniz öğe sayısını da sınırlayabilirsiniz. Aşağıdaki örnek, geçerli oturumda kullanılabilen ilk 5 komut için Ad ve Kaynak özellik değerlerini döndürür.Get-Command | Select-Object -First 5 -Property Name, SourceName Source ---- ------ Add-AppPackage Appx Add-AppPackageVolume Appx Add-AppProvisionedPackage Dism Add-AssertionOperator Pester Add-ProvisionedAppPackage DismDaha fazla bilgi için bkz. Select-Object.
Where-Object. Bu cmdlet, döndürülen nesneleri özelliklerin değerlerine göre filtrelemenizi sağlar. komutu, bir özelliğin değerini test eden bir ifade alır. Aşağıdaki örnek ilepbaşlayan tüm işlemleriProcessNamedöndürür.Get-Process | Where-Object {$_.ProcessName -like "p*"}cmdlet'i
Get-Processbir işlem nesneleri koleksiyonu döndürür. Yanıtı filtrelemek için çıktıyı öğesine yöneltinWhere-Object. Piping, iki veya daha fazla komutun bir kanal|karakteri aracılığıyla bağlandığı anlamına gelir. Bir komutun çıktısı, sonraki komutun girişi olarak gönderilir. içinWhere-Objectfiltre ifadesi, harfiylepbaşlayan işlemleri eşleştirmek için işlecini kullanır-like.
Get-Member ile nesneleri keşfetme
İstediğiniz cmdlet'i buldukta, hangi çıkışı ürettiği hakkında daha fazla bilgi edinmek istersiniz. cmdlet'i Get-Member bir nesnenin türünü, özelliklerini ve yöntemlerini görüntüler. İncelemek istediğiniz çıkışı öğesine yöneltin Get-Member.
Get-Process | Get-Member
Sonuç, döndürülen türü ve TypeName nesnenin tüm özelliklerini ve yöntemlerini görüntüler. İşte böyle bir sonucun alıntısı:
TypeName: System.Diagnostics.Process
Name MemberType Definition
---- ---------- ----------
Handles AliasProperty Handles = Handlecount
Name AliasProperty Name = ProcessName
...
MemberType parametresini kullanarak döndürülen bilgileri sınırlayabilirsiniz.
Get-Process | Get-Member -MemberType Method
Varsayılan olarak PowerShell yalnızca birkaç özellik görüntüler. Önceki örnekte , MemberTypeve Definition üyeleri görüntülenmiştirName. Görmek istediğiniz özellikleri belirtmek için kullanabilirsiniz Select-Object . Örneğin, yalnızca Name ve Definition özelliklerini görüntülemek istiyorsunuz:
Get-Process | Get-Member | Select-Object Name, Definition
Parametre türüne göre arama
Get-Memberbize İşlem türü nesnelerini döndürdüğünü Get-Process gösterdi.
parametresiGet-Command, İşlem nesnelerini giriş olarak alan diğer komutları bulmak için kullanılabilir.
Get-Command -ParameterType Process
CommandType Name Version Source
----------- ---- ------- ------
Cmdlet Debug-Process 7.0.0.0 Microsoft.PowerShell.Managem…
Cmdlet Enter-PSHostProcess 7.1.0.0 Microsoft.PowerShell.Core
Cmdlet Get-Process 7.0.0.0 Microsoft.PowerShell.Managem…
Cmdlet Get-PSHostProcessInfo 7.1.0.0 Microsoft.PowerShell.Core
Cmdlet Stop-Process 7.0.0.0 Microsoft.PowerShell.Managem…
Cmdlet Wait-Process 7.0.0.0 Microsoft.PowerShell.Managem…
Bir komutun çıkış türünü bilmek, aramanızı ilgili komutlar için daraltmanıza yardımcı olabilir.
Ek kaynaklar
PowerShell