Yeni Başlayanlar İçin Powershell Eğitimi

⚡ Akıllı Özet

PowerShell Scripting, .NET çerçevesi üzerine kurulu nesne yönelimli bir otomasyon motorudur. BT yöneticilerinin otomasyon yapmasına yardımcı olmak için cmdlet'leri, komut dosyalarını ve bir komut dosyası dilini bir araya getirir. WindowsTek bir komut satırından hizmetleri yönetin ve uzak makineleri bağlayın.

  • ???? Doğru kabuğu başlatın: Başlangıç ​​menüsünden PowerShell veya PowerShell ISE'yi açın ve yükseltilmiş ayrıcalıklara ihtiyaç duyduğunuzda Yönetici olarak çalıştırın.
  • 🧩 Metin komutları yerine cmdlet'ler kullanın: Cmdlet'ler fiil-isim adlandırma modelini izler ve .NET nesneleri döndürür, bu nedenle çıktı bir işlem hattı aracılığıyla bir sonraki cmdlet'e akabilir.
  • 🔐 Yürütme politikasını dikkatlice belirleyin: .ps1 komut dosyalarını çalıştırırken güvenlik ve kolaylık arasında denge kurmak için RemoteSigned ile birlikte Set-ExecutionPolicy komutunu kullanın.
  • 📁 Yeniden kullanılabilir .ps1 komut dosyaları yazın: Tekrarlayan yönetim görevlerini otomatikleştirmek için cmdlet'leri, değişkenleri ve işlem hatlarını .ps1 uzantılı bir metin dosyasında birleştirin.
  • 🤖 PowerShell'i yapay zeka ile birleştirin: Yapay zekâ asistanları, sade İngilizce istekleri çalıştırılmaya hazır PowerShell komut dosyalarına dönüştürüyor ve bilinmeyen komutları satır satır açıklıyor.

Yeni Başlayanlar İçin Powershell Eğitimi

PowerShell nedir?

Windows PowerShell Nesne yönelimli bir otomasyon motoru ve betik dilidir. BT uzmanları ve sistem yöneticileri için tasarlanmıştır ve sistem yönetimini kontrol etme ve otomatikleştirme ihtiyacını karşılamak üzere geliştirilmiştir. Windows ve diğer uygulamalar. PowerShell, öğrenilen kavramları genişletir. Windows Komut İstemi ve Windows Yeni nesneler, cmdlet'ler ve güçlü bir işlem hattı içeren Script Host.

Betik yazmanın esnekliğini, komut satırının hızını ve grafiksel kullanıcı arayüzüne sahip yönetim araçlarının derinliğini bir araya getiriyor. Bu sayede yöneticiler sorunları verimli bir şekilde çözebilir ve saatlerce süren manuel çalışmayı ortadan kaldırabilirler. Bu eğitim, PowerShell'i sıfırdan öğrenmek için ihtiyacınız olan temel bilgileri adım adım açıklıyor.

PowerShell'i Neden Kullanmalıyız?

PowerShell kullanmanın en önemli nedenleri şunlardır:

  • İşletim sistemi için iyi entegre edilmiş bir komut satırı deneyimi sunar.
  • .NET framework'ündeki her türe tam erişim sağlar.
  • Kurumsal çapta sistem yöneticileri tarafından güvenilen bir marka.
  • Sunucu ve iş istasyonu bileşenlerini birkaç satır kodla yönetmenizi sağlar.
  • Sistem yöneticilerine yönelik, sade bir fiil-isim sözdizimine sahip.
  • Koşmaktan daha güvenli VBScript veya diğer eski betik dilleri.

PowerShell Geçmişi

PowerShell 1.0 ilk olarak 2006 yılında piyasaya sürüldü. PowerShell şu anda 7.2 ve üzeri sürümlerde. Yayınlanan sürümlerle birlikte yetenekleri ve barındırma ortamları önemli ölçüde gelişti.

PowerShell'in sürüm bazında geçmişi:

  • PowerShell 1.0 — yerel yönetimi destekledi Windows Sunucu 2003.
  • PowerShell 2.0 — entegre edilmiş Windows 7 ve Windows Server 2008 R2. Uzaktan erişim, işlemler, arka plan görevleri, olaylar ve hata ayıklama özellikleri eklendi.
  • PowerShell 3.0 — ile birlikte gönderildi Windows 8 ve Windows Server 2012, bunun bir parçası olarak Windows Yönetim Çerçevesi. Zamanlanmış görevler, oturum bağlantısı ve otomatik modül yükleme eklendi.
  • PowerShell 4.0 — ile birlikte gönderildi Windows 8.1 ve Windows Server 2012 R2. İstenen Durum Yapılandırması eklendi, hata ayıklama ve ağ tanılama özellikleri geliştirildi.
  • PowerShell 5.0 — bir parçası Windows Yönetim Çerçevesi 5. Uzaktan hata ayıklama, sınıf tanımları ve .NET numaralandırmaları eklendi.
  • PowerShell 7.2 — .NET 6.0 üzerine inşa edilmiştir. Yeni operatörler, dinamik hata görünümleri ve otomatik sürüm bildirimleri ekler.

PowerShell'in Özellikleri

  • PowerShell Uzaktan Erişim: Uzak bir makinede komut dosyalarını ve cmdlet'leri çalıştırın.
  • Arka Plan İşleri: Komut dosyalarını veya işlem hatlarını yerel makinede veya birçok uzak makinede eşzamansız olarak çalıştırın.
  • İşlemler: Cmdlet'lerin ve geliştiricilerin, birlikte onaylanabilen veya geri alınabilen gruplandırılmış işlemler gerçekleştirmesine olanak tanır.
  • Etkinlik: Yönetim ve sistem olaylarını dinleyin, iletin ve bunlara göre hareket edin.
  • Ağ Dosya Aktarımı: Arka Plan Akıllı Aktarım Hizmeti (BITS) aracılığıyla makineler arasında öncelikli, eşzamansız ve kısıtlanmış dosya aktarımına yönelik yerel destek.

PowerShell Nasıl Başlatılır?

PowerShell, en yeni sürümlerin her birinde önceden yüklenmiş olarak gelir. WindowsAşağıdaki şekilde başlatın.

) 1 Adım PowerShell'i arayın WindowsArdından seçin ve tıklayın.

PowerShell'i başlatın

) 2 Adım PowerShell penceresi açılır.

PowerShell penceresi

Cmdlet ve Komut

A cmdlet'i (okunuşu “komut-let”), PowerShell ortamında kullanılan hafif bir komuttur. PowerShell, komut isteminde cmdlet'leri çağırır ve PowerShell API'lerini kullanarak kendi cmdlet'lerinizi oluşturabilirsiniz. Cmdlet'ler, geleneksel kabuk komutlarından şu şekillerde farklıdır:

  • Cmdlet'ler şunlardır: . NET Framework Sınıf nesneleri; bağımsız yürütülebilir dosyalar olarak çalıştırılamazlar.
  • Cmdlet'ler yalnızca bir düzine satır kodla yazılabilir.
  • Ayrıştırma, çıktı biçimlendirme ve hata gösterimi, cmdlet'in kendisi tarafından değil, çalışma zamanı tarafından gerçekleştirilir.
  • Cmdlet'ler nesnelerle çalışır, bu nedenle hem metin akışları hem de nesneler işlem hatlarından geçebilir.
  • Cmdlet'ler kayıt tabanlıdır ve aynı anda tek bir nesneyi işler.

PowerShell işlevlerinin çoğu, her zaman fiil-isim adlandırma kalıbını (her zaman tekil) kullanan cmdlet'ler aracılığıyla sağlanır. Cmdlet'ler metin değil, nesne döndürür. senaryo — bir cmdlet'ten farklı olarak — bir metin dosyasında saklanan bir dizi komuttur. .ps1 eklenti.

PowerShell öğrenirken kullanacağınız yaygın fiiller şunlardır:

  • Ön Onay — bir şeyi geri getirmek.
  • Ana Sayfa — bir şey çalıştırmak.
  • Dışarı — bir çıktı üretin.
  • dur — çalışan bir şeyi durdurmak.
  • set — bir şeyi tanımlayın.
  • Yeni — bir şey yaratın.

Önemli PowerShell komutları

Yardım almak: PowerShell komutları ve konuları için yardım görüntüleyebilirsiniz.

Örnek: yardım görüntüleme Format-Table Komut.

Get-Help Format-Table

Get-Help cmdlet'i

Komut Al: Çağrılabilecek her şey hakkında bilgi edinin.

Örnek: Makinede yüklü olan cmdlet'lerin ve fonksiyonların bir listesini oluşturun.

Get-Command

Get-Command cmdlet

Hizmet Alma: Makinedeki tüm hizmetleri bulur.

Örnek: Adı "vm" ile başlayan tüm servisleri alın.

Get-Service "vm*"

Hizmet Al cmdlet'i

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

Örnek: Get-Service komutuyla döndürülen sanal makine servislerinin üyelerini listelemek.

Get-Service "vm*" | Get-Member

Üye Al cmdlet'i

Diğer faydalı cmdlet'ler:

  • Get-Module — Yüklü komut paketlerini göster.
  • Get-Content — Bir dosyayı okuyun ve içeriğini işleyin.
  • Get-* joker karakter — “Get-” ile başlayan tüm cmdlet'leri listeler.

Örnek: bir klasör oluşturun.

New-Item -Path 'X:\Guru99' -ItemType Directory

Çıktı:

Yeni Ürün çıktısı

PowerShell Veri Tipleri

PowerShell, standart .NET veri türlerini desteklediği için herhangi bir değeri bir değişkende sorunsuz bir şekilde saklayabilirsiniz.

PowerShell Veri Tipleri

Özel Değişkenler

PowerShell, bir dizi yerleşik özel değişken sunar. En kullanışlı olanları aşağıda listelenmiştir.

Özel Değişken Açıklama
$Hata En son oluşan hataları temsil eden hata nesnelerinden oluşan bir dizi.
$Ana Bilgisayar Mevcut barındırma uygulamasının adını görüntüler.
$Profil Varsayılan kabuk için kullanıcı profilinin tam 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 geçersiz değer içerir.
$Yanlış Mantıksal FALSE değerini içerir.
$Doğru TRUE mantıksal değerini içerir.

PowerShell Komut Dosyaları

PowerShell komut dosyaları şurada saklanır: .ps1 Dosyalar. Varsayılan olarak, bir komut dosyasını çift tıklayarak çalıştıramazsınız; bu güvenlik önlemi sistemi kazara zararlardan korur. Bir komut dosyasını çalıştırmak için, üzerine sağ tıklayın ve seçin. “PowerShell ile çalıştırın”.

PowerShell ile çalıştır

Yürütme politikası, hangi komut dosyalarının çalıştırılmasına izin verildiğini kontrol eder. Geçerli politikayı şu şekilde görüntüleyebilirsiniz: Get-ExecutionPolicyOlası değerler şunlardır:

  • Kısıtlı — Komut dosyalarına izin verilmiyor. Bu varsayılan ayardır.
  • Tüm İmzalar — Yalnızca güvenilir bir geliştirici tarafından imzalanmış komut dosyaları çalıştırılır ve her biri onay gerektirir.
  • Uzaktan İmzalı — Kendi yazdığınız komut dosyaları ve güvenilir kaynaklardan imzalı komut dosyaları çalıştırılır.
  • kısıtlanmamış — Herhangi bir komut dosyası çalıştırılabilir (dikkatli kullanın).

Yürütme politikasını değiştirme adımları:

) 1 Adım PowerShell'e sağ tıklayıp "Yükseltilmiş" seçeneğini belirleyerek PowerShell komut istemini açın. Yönetici olarak çalıştır.

PowerShell'i Yönetici olarak çalıştırın

) 2 Adım Aşağıdaki komutları çalıştırın.

  1. Get-ExecutionPolicy
  2. Set-ExecutionPolicy Unrestricted
  3. Keşfet Y Onay isteminde.
  4. Get-ExecutionPolicy

Yürütme politikasını değiştir

İlk PowerShell Komut Dosyası

Not Defteri'ni açın ve şunu yazın:

Write-Host "Hello, Guru99!"

Dosyayı bir ile kaydedin .ps1 uzantı — örneğin, FirstScript.ps1.

FirstScript.ps1 dosyasını kaydet

PowerShell'de betiği şu şekilde çalıştırın:

& "X:\FirstScript.ps1"

FirstScript.ps1 dosyasını çalıştırın.

PowerShell ISE nedir?

MKS Windows PowerShell Entegre Komut Dosyası Ortamı (ISE) ISE, PowerShell için varsayılan düzenleyicidir. ISE'de, grafiksel, pencere tabanlı bir ortamda komutları çalıştırabilir, testler yazabilir ve betiklerde hata ayıklayabilirsiniz. Çok satırlı düzenleme, sözdizimi renklendirme, sekme tamamlama, seçici yürütme ve daha fazlasını destekler.

PowerShell ISE ayrıca komutları doğrudan çalıştıran bir konsol bölmesi sunarken, yan bölmeler komut dosyalarınızın kaynağını ve ISE'ye bağlı tüm araçları görüntüler. Birden fazla komut dosyası penceresini aynı anda açabilirsiniz; bu, diğer komut dosyalarında veya modüllerde tanımlanan işlevlere bağlı komut dosyalarında hata ayıklama yaparken kullanışlıdır.

PowerShell İMKB

Önceki betiği ISE'de yeniden oluşturun:

  1. Kodu düzenleyiciye yapıştırın.
  2. Komut dosyasını kaydedin.
  3. Çalıştırmak için F5 tuşuna basın.
  4. Konsol bölmesindeki çıktıyı inceleyin.

Komut dosyasını ISE'de çalıştırın.

Örnek 2: Aşağıdaki komut dosyası ücretsiz olarak görüntülenir. sanal bellek makinede.

Get-WmiObject -Class Win32_OperatingSystem -ComputerName localhost |
Select-Object -Property CSName, FreeVirtualMemory

Ücretsiz sanal bellek komut dosyası

PowerShell Concepts

Aşağıdaki kavramlar, günlük PowerShell çalışmalarının temelini oluşturmaktadır.

Konsept Açıklama
cmdlet'ler .NET dillerinde (VB veya C# gibi) yazılmış yerleşik komutlar. Geliştiriciler, PowerShell eklentilerini yükleyerek veya yazarak bu kümesini genişletirler.
fonksiyonlar IDE gibi bir şeye ihtiyaç duymadan, doğrudan PowerShell dilinde yazılmış komutlar. Visual Studio.
Scripts Disk üzerindeki metin dosyaları .ps1 eklenti.
Başvurular Mevcut Windows Kabuktan çağrılan programlar.
Farzedelim Komuta komutuna çalıştırılmaması, ancak çalıştırılması durumunda ne olacağının açıklanması talimatını verir.
Onaylamak Komutu çalıştırmadan önce onay istemesini sağlar.
gereksiz sözlerle dolu Daha yüksek düzeyde operasyonel detay sağlar.
Debug Komuta, hata ayıklama bilgileri yaymasını emreder.
HataAksiyonu Hata durumunda cmdlet'in ne yapacağını tanımlar. İzin verilen değerler: continue, stop, silentlycontinue, inquire.
HataDeğişkeni Hata bilgilerini tutan değişkenin adını belirtir.
OutVariable Komuta komutuna çıktısını belirli bir değişkene kaydetmesini söyler.
DışarıBuffer İşlem hattına gönderilmeden önce belirli sayıda nesneyi tutar.

PowerShell Komut Dosyalarının Kullanımının Avantajları

  • PowerShell betikleri güçlü ve özlüdür; sadece birkaç satırda çok şey başarabilirsiniz.
  • Değişkenler şu şekilde tanımlanır: $<variable> sözdizimi.
  • Değişkenler komut çıktısını, nesneleri ve temel veri tiplerini tutabilir.
  • Değişken türünün açıkça belirtilmesine gerek yoktur.

PowerShell ve Komut İstemi Karşılaştırması

PowerShell komut İstemi
Derinden entegre WindowsEtkileşimli bir komut satırı ve tam teşekküllü bir betik dili sunar. Varsayılan komut satırı arayüzü tarafından sağlanmaktadır. MicrosoftDiğer Win32 nesneleriyle iletişim kuran basit bir Win32 uygulaması.
Etkileşimli olarak veya otomasyon komut dosyaları aracılığıyla çağrılabilecek cmdlet'ler kullanır. Hiçbir komut satırı aracı yok.
Çıktıyı nesne olarak ele alır, böylece işlem hattı aracılığıyla başka bir cmdlet'e aktarılabilir. Çıktı, nesneler değil, düz bir metin akışıdır.
Özellikler, yetenekler ve iç mimari açısından gelişmiş. Eski nesil toplu işlem görevleri için uygun, temel bir kabuk.

PowerShell Uygulamaları

PowerShell, büyük kurumsal ağlarda iş yükünü önemli ölçüde azalttığı için BT yöneticileri için standart bir tercih haline geldi. Dört yüzden fazla sunucuyu yönettiğinizi ve her sunucuda çalışan belirli bir hizmete bağlı yeni bir güvenlik çözümünü devreye aldığınızı düşünün.

Her sunucuya manuel olarak giriş yapmak yavaş ve hataya açık bir işlemdir. Tek bir PowerShell betiği, dakikalar içinde her sunucuyu tarayabilir, hangi sunucuların hizmeti zaten çalıştırdığını raporlayabilir ve hatta geri kalanında da etkinleştirebilir. Betik, amacı bir kez yakalar ve güvenilir bir şekilde tüm sisteme uygular.

SSS

PowerShell otomasyonu sağlar Windows Sistem yönetimi; .NET çerçevesi üzerine kurulu nesne yönelimli bir komut satırı ve betik dili aracılığıyla hizmetlerin, dosyaların, kullanıcıların ve sunucuların yönetimi.

Cmdlet, fiil-isim adını kullanan ve nesneler döndüren hafif bir .NET sınıf nesnesidir. Diğer kabuklardaki geleneksel bir komut ise düz metin çıktısı verir ve kendi ayrıştırma ve biçimlendirme işlemlerini kendisi yapar.

PowerShell nesnelerle çalışır ve cmdlet'leri, betiklemeyi ve derin .NET entegrasyonunu destekler. Komut İstemi, komutları nesneler yerine düz metin çıktısı veren temel bir metin tabanlı kabuktur.

.ps1 dosyası bir PowerShell betiğidir; bir veya daha fazla PowerShell komutu içeren bir metin dosyasıdır. Varsayılan olarak çift tıklayarak çalıştırılamaz; konsoldan veya "PowerShell ile Çalıştır" seçeneğiyle yürütülür.

PowerShell'i yönetici olarak açın ve Set-ExecutionPolicy komutunu RemoteSigned veya Unrestricted gibi bir değerle çalıştırın, ardından onaylayın. Geçerli ayarı kontrol etmek için Get-ExecutionPolicy komutunu kullanın.

Entegre Betik Ortamı (ISE), PowerShell'in sözdizimi renklendirmesi, sekme tamamlama ve çoklu betik sekmeleriyle betik yazma, çalıştırma, test etme ve hata ayıklama için yerleşik grafiksel kullanıcı arayüzü (GUI) düzenleyicisidir.

Yapay zekâ asistanları, siz yazarken cmdlet'ler önerir, komut dosyası davranışını açıklar ve hataları tespit eder. Yöneticilerin görevleri daha hızlı otomatikleştirmelerine ve sade İngilizce istekleri çalışan PowerShell komutlarına dönüştürmelerine yardımcı olurlar.

Evet. Yapay zeka kod yardımcıları, "durdurulmuş tüm hizmetleri listele ve yeniden başlat" gibi sade bir İngilizce açıklamadan yola çıkarak eksiksiz PowerShell komut dosyaları oluşturur ve çalıştırmadan önce inceleyebilmeniz için her bir cmdlet'i açıklar.

Bu yazıyı şu şekilde özetleyin: