Yeni Başlayanlar İçin Powershell Eğitimi: Powershell Komut Dosyasını Öğrenin

Powershell'i öğrenmeye başlayalım Lessons. İlk önce şunları öğreneceğiz:

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

PowerShell'i başlatın

) 2 Adım Güç Kabuğu Penceresi Açılır

PowerShell'i başlatın

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

Cmdlet ve Komut

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

Cmdlet ve Komut

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*"

Cmdlet ve Komut

Üye Ol: Bir nesneyle neler yapılabileceğini gösterin

Örnek: VM işlemlerinin üyelerini alın.

Get-Service "vm*" | Get-Member

Cmdlet ve Komut

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ı:

Cmdlet ve Komut

Powershell Veri türleri

Powershell Veri türleri
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.

PowerShell Komut Dosyaları

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”

PowerShell Komut Dosyaları

) 2 Adım Aşağıdaki komutları girin

  1. Get-ExecutionPolicy
  2. Set-executionpolicy sınırsız
  3. İsteme Y girin
  4. Get-ExecutionPolicy

PowerShell Komut Dosyaları

İ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

İlk PowerShell Komut Dosyası

Powershell'de komutu kullanarak betiği çağırın

& "X:\FirstScript.ps1"

İlk PowerShell Komut Dosyası

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.

PowerShell İMKB

PowerShell İMKB

Not defterinde oluşturduğumuz betiğin aynısını ISE'de de oluşturabilirsiniz

  1. Kodu düzenleyiciye yapıştırın
  2. Komut Dosyasını Kaydet
  3. Komut dosyasını çalıştırmak için F5'i kullanın
  4. Konsoldaki çıktıyı gözlemleyin

PowerShell İMKB

Ö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 İMKB

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