Yeni Başlayanlar İçin Powershell Eğitimi: Powershell Komut Dosyasını Öğrenin
PowerShell nedir?
Windows PowerShell nesne yönelimli bir otomasyon motoru ve komut dosyası dilidir. Esas olarak BT profesyonelleri ve sistem yöneticilerinin yönetimini kontrol etmeleri ve otomatikleştirmeleri için tasarlanmıştır. Windows İşletim sistemi ve diğer uygulamalar. Edindiğiniz bilgiyi ve oluşturduğunuz senaryoları genişletmek için ilgi çekici yeni kavramlar sağlar. Windows Komut İstemi ve Windows Komut Dosyası Ana Bilgisayarı ortamları.
Komut dosyası oluşturma esnekliğini, komut satırı hızını ve GUI tabanlı yönetici aracının gücünü birleştirir. Sistem yöneticisinin gelecekteki manuel çalışma saatlerini ortadan kaldırmasına yardımcı olarak sorunları verimli bir şekilde çözmenize olanak tanır. PowerShell'i öğrenmek için bilmeniz gereken tüm önemli hususları inceleyeceğiz.
Bu, Powershell komut dosyası oluşturmanın temelleri için eksiksiz bir kılavuzdur… Haydi başlayalım!
Neden Powershell'i Kullanmalı?
Powershell'i kullanmanın bazı önemli nedenleri şunlardır:
- Powershell, işletim sistemi için iyi entegre edilmiş bir komut satırı deneyimi sunar
- PowerShell, .NET çerçevesindeki tüm türlere tam erişim sağlar
- Sistem yöneticileri tarafından güvenilir.
- PowerShell, sunucu ve iş istasyonu bileşenlerini yönetmenin basit bir yoludur
- Daha kolay bir sözdizimi oluşturarak sistem yöneticilerine yöneliktir
- PowerShell çalıştırmaktan daha güvenlidir VBScript veya diğer kodlama dilleri
PowerShell Geçmişi
PowerShell'in ilk sürümü 1.0 2006 yılında piyasaya sürüldü. Bugün PowerShell 7.2 sürümündedir. Yıl ve sürüm ilerledikçe PowerShell'in yetenekleri ve barındırma ortamları önemli ölçüde arttı.
Powershell'in Sürüm Bazında Geçmişine Bakalım:
- PowerShell sürüm 1, yerel yönetimi destekledi Windows sunucu 2003
- PowerShell 2.0 ile entegre edildi Windows 7 ve Windows Sunucu 2008 R2. Bu sürüm uzaktan iletişimi destekler ve PowerShell'in işlemler, arka plan işleri, olaylar, hata ayıklama vb. yeteneklerini geliştirir.
- PowerShell 3.0, dahili bir parçası olarak piyasaya sürüldü Windows yönetim çerçevesi. Şu tarihte kuruldu: Windows 8 ve Windows Server 2012. İşleri, oturum bağlantısını, otomatik modül yüklemeyi vb. ekleyebilir ve zamanlayabilirsiniz.
- PowerShell 4.0 ile birlikte gönderildi Windows 8.1 ve Windows Sunucu 2012 R2. Bu sürümde istenen durum yapılandırması, gelişmiş hata ayıklama ve ağ tanılaması için destek eklendi.
- PowerShell 5.0 dahili bir parçası olarak piyasaya sürüldü Windows yönetim çerçevesi 5. Bu sürümdeki özellik teklifleri uzaktan hata ayıklama, sınıf tanımları, .NET numaralandırmaları vb.'dir.
- PowerShell 7.2 yayınlandı. .NET 6.0 üzerine inşa edilmiştir. Bu sürüm yeni operatörler, basitleştirilmiş ve dinamik hata görünümü, otomatik yeni sürüm bildirimleri vb. sunar.
Bu Powershell komut dosyası oluşturma eğitiminde bir sonraki adımda Powershell'in özelliklerini öğreneceğiz.
Powershell'in Özellikleri
- PowerShell Uzaktan İletişim: PowerShell, komut dosyalarının ve cmdlet'lerin uzak bir makinede çağrılmasına olanak tanır.
- Arka Plan İşleri: Komut dosyasını veya boru hattını eş zamanlı olarak çağırmanıza yardımcı olur. İşlerinizi yerel makinede veya birden fazla uzaktan çalıştırılan makinede çalıştırabilirsiniz.
- işlemler: Cmdlet'i etkinleştirir ve geliştiricilerin gerçekleştirmesine olanak tanır
- Akşam: Bu komut, yönetim ve sistem olaylarını dinlemenize, iletmenize ve bunlar üzerinde işlem yapmanıza yardımcı olur.
- Ağ Dosya Aktarımı: Powershell, Arka Plan Akıllı Aktarım Hizmeti (BITS) teknolojisini kullanarak makineler arasında öncelikli, eşzamansız, kısıtlanmış dosya aktarımı için yerel destek sunar.
PowerShell nasıl başlatılır
Şimdi bu Powershell betiği eğitiminde Powershell'i nasıl başlatacağımızı öğreneceğiz. Windows İşletim.
PowerShell, en son sürümlerin tümünde önceden yüklenmiştir Windows. Verilen adımları izlememiz için PowerShell'i başlatmamız gerekiyor:
) 1 Adım PowerShell'i arayın Windows. Seç ve Tıkla
) 2 Adım Güç Kabuğu Penceresi Açılır
PowerShell Cmdlet'i
Command let olarak da adlandırılan cmdlet, Windows tabanlı PowerShell ortamında kullanılan hafif bir komuttur. PowerShell bu cmdlet'leri komut isteminde çağırır. PowerShell APIS'yi kullanarak cmdlet'ler komutunu oluşturabilir ve çağırabilirsiniz.
Cmdlet ve Komut
Cmdlet'ler diğer komut kabuğu ortamlarındaki komutlardan aşağıdaki açılardan farklıdır:
- Cmdlet'ler şunlardır: . NET Framework sınıf nesneleri Ayrı olarak çalıştırılamaz
- Cmdlet'ler bir düzine kadar az kod satırından oluşturulabilir
- Ayrıştırma, çıktı biçimlendirme ve hata sunumu cmdlet'ler tarafından işlenmez
- Cmdlet'ler işlemi nesneler üzerinde çalışır. Dolayısıyla metin akışı ve nesneler ardışık düzen için çıktı olarak aktarılamaz
- Cmdlet'ler kayıt tabanlı olduğundan aynı anda tek bir nesneyi işler
PowerShell işlevlerinin çoğu, her zaman fiil-isim biçiminde olan ve çoğul olmayan Cmdlet'lerden gelir. Üstelik Cmdlet'in döndürdüğü nesneler metin değil. Cmdlet, .ps1 uzantılı bir metin dosyasında saklanan, birden fazla satırdan oluşan bir komut dizisidir.
Bir cmdlet her zaman kısa çizgiyle ayrılmış bir fiil ve bir isimden oluşur. PowerShell'i öğrenmek için kullandığınız fiillerden bazıları şunlardır:
- Ön Onay - Bir şey almak için
- Başlama — Bir şeyi çalıştırmak için
- Dışarı — Bir şeyin çıktısını almak için
- dur — Çalışan bir şeyi durdurmak için
- set — Bir şeyi tanımlamak için
- yeni — Bir şey yaratmak
PowerShell komutları
Aşağıda önemli PowerShell Komutlarının bir listesi bulunmaktadır:
Yardım almak: PowerShell komutları ve konuları hakkında yardım
Örnek: Format-Tablo komutuyla ilgili yardım bilgilerini görüntüleyin
Get-Help Format-Table
Komut Al: Çağrılabilecek herhangi bir şey hakkında bilgi alın
Powershell Komut Dosyası Örneği: Makinenizde yüklü cmdlet'lerin ve işlevlerin bir listesini oluşturmak için
Get-Command
Hizmet Alma: İçinde 'hizmet' kelimesi geçen tüm cmdlet'leri bulur.
Örnek: "vm" ile başlayan tüm hizmetleri alın
Get-Service "vm*"
Üye Ol: Bir nesneyle neler yapılabileceğini gösterin
Örnek: VM işlemlerinin üyelerini alın.
Get-Service "vm*" | Get-Member
Diğer Komutlar:
- Modül Al Komut paketlerini gösterir
- İçeriği Al Bu cmdlet bir dosyayı alıp içeriğini işleyebilir ve onunla bir şeyler yapabilir
- Get-get 'get-' kelimesiyle başlayan tüm cmdlet'leri bulur
Örnek: Klasör Oluşturma
New-Item -Path 'X:\Guru99' -ItemType Directory
Çıktı:
Powershell Veri türleri

Özel Değişkenler
Özel Değişken | Tanım |
---|---|
$Hata | En son hataları görüntüleyen bir dizi hata nesnesi |
$Ana Bilgisayar | Geçerli barındırma uygulamasının adını görüntüle |
$Profil | Varsayılan kabuk için kullanıcı profilinin tüm yolunu saklar |
$PID | İşlem tanımlayıcısını saklar |
$PSUICulture | Mevcut kullanıcı arayüzü kültürünün adını taşır. |
$BOŞ | Boş veya NULL değer içerir. |
$Yanlış | YANLIŞ değer içeriyor |
$Doğru | DOĞRU değerini içerir |
PowerShell Komut Dosyaları
Powershell betikleri .ps1 dosyasında saklanır. Varsayılan olarak, bir betiği yalnızca bir dosyaya çift tıklayarak çalıştıramazsınız. Bu, sisteminizi kazara zarardan korur. Bir betiği çalıştırmak için:
Adım 1: Sağ tıklayın ve “PowerShell ile Çalıştır”a tıklayın.
Ayrıca, komut dosyasının yürütülmesini kısıtlayan bir politika vardır. Bu politikayı Get-ExecutionPolicy komutunu çalıştırarak görebilirsiniz.
Aşağıdaki çıktılardan birini alacaksınız:
- Kısıtlı— Hiçbir komut dosyasına izin verilmez. Bu varsayılan ayardır, dolayısıyla komutu ilk kez çalıştırdığınızda görüntülenecektir.
- Tüm İmzalar— Güvenilir bir geliştirici tarafından imzalanan komut dosyalarını çalıştırabilirsiniz. Bu ayarın yardımıyla bir komut dosyası, çalıştırmadan önce onu çalıştırmak istediğinize dair onay isteyecektir.
- Uzaktan İmzalı— Güvenilir bir geliştirici tarafından imzalanan komut dosyalarınızı veya komut dosyalarınızı çalıştırabilirsiniz.
- kısıtlanmamış— Çalıştırmak istediğiniz herhangi bir betiği çalıştırabilirsiniz
Yürütme Politikasını Değiştirme Adımları
) 1 Adım Yükseltilmiş bir PowerShell istemi açın. PowerShell'e sağ tıklayın ve “Yönetici Olarak Çalıştır”
) 2 Adım Aşağıdaki komutları girin
- Get-ExecutionPolicy
- Set-executionpolicy sınırsız
- İsteme Y girin
- Get-ExecutionPolicy
İlk PowerShell Komut Dosyası
Bir not defterine şu komutu yazın
Write-Host "Hello, Guru99!"
PowerShell Komut Dosyalarının ps1 uzantısı vardır. Dosyayı FirstScript.ps1 olarak kaydedin
Powershell'de komutu kullanarak betiği çağırın
& "X:\FirstScript.ps1"
PowerShell ISE nedir?
The Windows PowerShell Tümleşik Komut Dosyası Ortamı (ISE), aşağıdakiler için varsayılan düzenleyicidir: Windows Güç kalkanı. Bu ISE'de, pencere tabanlı bir GUI ortamında komutları, yazar testini ve hata ayıklama komut dosyalarını çalıştırabilirsiniz. Çok satırlı düzenleme, sözdizimi renklendirme, sekme tamamlama, seçici yürütme ve daha birçok şeyi yapabilirsiniz.
Windows PowerShell ISE ayrıca bir konsol bölmesinde komut çalıştırmanıza da olanak tanır. Ancak, aynı zamanda komut dosyanızın kaynak kodunu ve ISE'ye takabileceğiniz diğer araçları aynı anda görüntülemek için kullanabileceğiniz bölmeleri de destekler.
Aynı anda birden fazla betik penceresi bile açabilirsiniz. Bu, özellikle diğer betiklerde veya modüllerde tanımlanan işlevleri kullanan bir betiği hata ayıkladığınızda faydalıdır.

Not defterinde oluşturduğumuz betiğin aynısını ISE'de de oluşturabilirsiniz
- Kodu düzenleyiciye yapıştırın
- Komut Dosyasını Kaydet
- Komut dosyasını çalıştırmak için F5'i kullanın
- Konsoldaki çıktıyı gözlemleyin
Örnek 2:
Aşağıdaki kod Free'yi verecektir Sanal bellek makinenizde
Get-WmiObject -Class Win32_OperatingSystem –ComputerName localhost | Select-Object -Property CSName,FreeVirtualMemory
PowerShell Concepts
Şimdi yeni başlayanlara yönelik bu Powershell eğitiminde önemli Powershell kavramlarını öğreneceğiz:
cmdlet'ler | Cmdlet, VB veya C# gibi .net dillerinde yazılmış derleme komutlarıdır. Geliştiricilerin PowerShell ek bileşenlerini yükleyip yazarak cmdlet kümesini genişletmelerine olanak tanır. |
fonksiyonlar | Fonksiyonlar PowerShell dilinde yazılan komutlardır. Gibi diğer IDE'leri kullanmadan geliştirilebilir. Visual Studio ve geliştiriciler. |
Scripts | Komut dosyaları, diskteki .ps1 uzantılı metin dosyalarıdır |
Uygulamalar | Uygulamalar mevcut windows programlarıdır. |
Farzedelim | Cmdlet'in çalıştırılmamasını ancak cmdlet'in çalıştırılması durumunda ne olacağını size söylemesini söyler. |
Onaylamak | Komutu yürütmeden önce cmdlet'e sormasını söyleyin. |
gereksiz sözlerle dolu | Daha yüksek düzeyde ayrıntı verir. |
Debug | Cmdlet'e hata ayıklama bilgileri sağlaması talimatını verir. |
HataAksiyonu | Bir hata oluştuğunda cmdlet'e belirli bir eylemi gerçekleştirme talimatını verir. İzin verilen eylemler devam eder, durur, sessizce devam eder ve sorgular. |
HataDeğişkeni | Hata bilgisini tutan değişkeni belirtir. |
OutVariable | Cmdlet'e çıktı bilgilerini tutmak için belirli bir değişken kullanmasını söyler |
DışarıBuffer | Cmdlet'e, işlem hattındaki bir sonraki cmdlet'i çağırmadan önce belirli sayıda nesneyi tutması talimatını verir. |
PowerShell betiğini kullanmanın avantajları
- PowerShell betikleri gerçekten güçlüdür ve daha az satırda çok şey yapabilir.
- Değişkenler $ biçiminde bildirilir
- Değişkenler komutların, nesnelerin ve değerlerin çıktısını tutmak için kullanılabilir.
- Bir değişkenin “tipinin” belirtilmesine gerek yoktur.
PowerShell'e Karşı. Komut istemi
PowerShell | komut İstemi |
---|---|
PowerShell derinden entegre olur Windows İŞLETİM SİSTEMİ. Etkileşimli bir komut satırı arayüzü ve komut dosyası dili sunar. | Komut İstemi, tarafından sağlanan varsayılan bir komut satırı arayüzüdür. Microsoft. Herhangi bir win32 nesnesiyle etkileşim kurabilen ve konuşabilen basit bir win32 uygulamasıdır. Windows işletim sistemi. |
PowerShell cmdlet'ler olarak bilinenleri kullanır. Çalışma zamanı ortamında veya otomasyon komut dosyalarında çağrılabilir. | Komut isteminde böyle bir özellik sunulmuyor. |
PowerShell bunları nesneler olarak kabul eder. Böylece çıktı, boru hattı aracılığıyla diğer cmdlet'lere girdi olarak aktarılabilir. | Komut İstemi ve hatta *nix kabuğu, bir cmdlet'ten oluşturulan çıktı yalnızca bir metin akışı değil aynı zamanda bir nesne koleksiyonudur. |
PowerShell özellikler, yetenekler ve iç işleyiş açısından oldukça gelişmiştir. | Komut istemi çok basittir. |
Powershell Uygulamaları
Bugün PowerShell, büyük kurumsal ağlarda yönetim operasyonunu ve çabayı kolaylaştırdığı için BT yöneticileri için ideal bir seçim haline geldi. Örneğin dört yüzden fazla sunucunun bulunduğu geniş bir ağı yönettiğinizi varsayalım. Artık yeni bir güvenlik çözümü uygulamak istiyorsunuz. Bu güvenlik çözümü, bu sunucularda çalışması gereken belirli bir hizmete bağlıdır.
Kesinlikle her sunucuya giriş yapabilir ve bu hizmetin kurulup çalıştırılıp çalıştırılmadığını görebilirsiniz. Ancak personelinizin bu üretken olmayan süreçte çok fazla zaman harcaması gerektiğinden kesinlikle çok sayıda insan hatası gerektirir.
Ancak PowerShell kullanıyorsanız bu görevi yalnızca birkaç dakika içinde tamamlayabilirsiniz. Bunun nedeni, tüm işlemin, sunucularda çalışan hizmetler hakkında bilgi toplayan tek bir komut dosyasıyla yapılmasıdır.
ÖZET
- Windows PowerShell, nesne yönelimli otomasyon motoru ve komut dosyası dilidir
- Powershell, işletim sistemi için iyi entegre edilmiş bir komut satırı deneyimi sunar
- PowerShell'in ilk sürümü 1.0 2006'da piyasaya sürüldü
- PowerShell, komut dosyalarının ve cmdlet'lerin uzaktaki bir makinede çağrılmasına olanak tanır
- PowerShell, en son sürümlerin tümünde önceden yüklenmiştir Windows
- Cmdlet, Windows tabanlı PowerShell ortamında kullanılan hafif bir komuttur
- Al, Başlat, Çıkış, Durdur, Ayarla, Yeni önemli PowerShell komutlarıdır
- Boolean, Bayt, Sohbet, Ondalık, Ondalık, Uzun Önemlidir PowerShell Veri Türü
- $Hata. $Host, $Profile, $PID, $PSUICulture, $NULL PowerShell'de kullanılan bazı özel değişkenlerdir
- The Windows PowerShell Tümleşik Komut Dosyası Ortamı (ISE), PowerShell için varsayılan düzenleyicidir
- PowerShell derinden entegre olur Windows İşletim Sistemi ise Komut İstemi, tarafından sağlanan varsayılan bir komut satırı arayüzüdür. Microsoft
- PowerShell, büyük kurumsal ağlarda yönetim operasyonunu ve çabayı kolaylaştırdığı için BT yöneticileri için ideal bir seçim haline geldi