PowerShell cmdlets. Windows PowerShell nedir ve ne için gerekli olan nedir?

5 Kasım 2014, 20:07

PowerShell'de Atlama Başlat (Bölüm I)

  • Sistem Yönetimi ,
  • Güç kalkanı.
  • Öğretici

Sadece otomasyon. Sadece PowerShell.

Önsöz

Bir hobi olarak ve zamanın varlığında, öğrencilere UKIT'e öğretiyorum (eski Moskova Devlet Koleji) bilişim Teknolojileri). Üzerinde şu an Bir grup öğrenci vermek için çok az zamanım var, ancak burada Habré'de bir yazı hazırlamak yeterli.

BT kaynakları için büyük bir string ile değil, BT şirketinde bir sistem yöneticisi olarak çalışıyorum. Etkinliğin doğası gereği karar veriyor gibi görünüyor çok sayıda Kullanıcı servis görevleri.

PowerShell dili ile yaklaşık iki yıl önce tanıştım, ancak ilk başta ilk fırsatları gerçekleştirmemek için onu sadece bir yıl sonra yakından aldı. Makalede, her şeyden önce, PowerShell ile çalışmaya başlamak isteyenlere odaklanacağım, ancak ona güvenene kadar ya da bu mucizeye nasıl yaklaşacağını bilmiyor.

Dikkat: PowerShell bağımlılık yapar.

Giriş

Wikipedia bize şunları söyler:
Windows PowerShell - Uzatılabilir bir otomasyon aracı Microsoft.Komut satırı arayüzü ve ilgili komut dosyalarıyla bir kabuktan oluşur.

PowerShell bir komut satırına benziyor:


powerShell.exe.

Veya bir uygulama biçiminde:


powershell_ise.exe.

Powershell_ise.exe. Entegre bir senaryo ortamı denir - Windows PowerShell ISE. Uygun bir sözdizimi vurgulanan ortamda, komut yapıcısı, Sekmeye ve diğer takılara basarak otomatikleştir komutlarını bir dille çalışmanıza olanak sağlar. Komut dosyalarını oluşturmak ve test etmek için idealdir.

Çevreyi başlatmak için powerShell.exe. veya powershell_ise.exe. Satırda benzer bir isim aramak yeterlidir.

PowerShell Script dosyasının bir uzantısı var .ps1.

Komut dosyası çift LKM çalıştıramayacak. Bu, özellikle sisteme rastgele çalışan komut dosyasına zarar vermemek için özel olarak yapılır.

Başlamak için, PCM'yi tıklatarak, "PowerShell'i kullanarak çalıştır" seçeneğini seçin:

LKM'nin komut dosyası yapılması üzerine bir sınır olduğu gerçeğine ek olarak, varsayılan olarak, sistemdeki senaryoların yürütülmesi yasaktır, yukarıda açıklanan nedene göre - sisteme zarar vermeyin. Mevcut yürütme politikasını doğrulamak için, komutu yürüteceğiz:

GET-PERCUTITYPOLICY

Aşağıdaki değerlerden birini alıyoruz. Büyük olasılıkla ilk lansman olsaydı, Kısıtlı.

  • Kısıtlı - Komut dosyaları başlatılamaz;
  • Allnifed. - Sadece güvenilir yayıncı tarafından imzalanan senaryolar başlatılabilir. Güvenilir yayıncının senaryosunu yapmadan önce onay istenecektir;
  • Uzaktan kumandalı. - Güvenilir yayıncı tarafından imzalanan komut dosyalarını ve indirilen senaryoları gerçekleştirmesine izin verildi;
  • Sınırsız - Kısıtlamalar yok, tüm komut dosyaları başlatılabilir.

Politikaları yerine getirmek ve test etmek Uzaktan kumandalı. Komuta ile:

SET-EXECUTITYPOLICY REMOTESIGNED

Işe başlamak

Cmll
  • Komutların, çeşitli işlevselliğin yerleştirildiği PowerShell komutları denir;
  • Bardaklar hem sistem hem de herkes tarafından yaratılmış olabilir;
  • Tıkaçalar, ezberlemelerini basitleştiren Glagol-İsra kuralına yönlendirilir;
  • Coldles çıkışı, nesneler veya koleksiyonları şeklinde sonuçlanır;
  • CMDlets, her ikisi de boru hattındaki verileri işlemek ve iletmek için veri alırlar (daha sonra konveyörler hakkında);
  • Kupalar kayıtlara duyarlı değildir (yazabilir ve bunları girebilir ve bu işlem ve GET-PROSESS ve GET-PROSES);
  • Cmdlets'ten sonra, koymak gerekli değildir " ; ", bir satırda birkaç cmdlet (GET-işlem; GET-Services) birkaç cmdlet yaptığımız haricinde.

Örneğin, geçerli işlemleri elde etmek için komutu yürüteceğiz:

Ve sonucu alıyoruz:

Kendini yapmaya çalışın:

Bilgisayarlarda çalışan hizmetlerin durumunu almak için GET-servis #

Get-Content C: \\ Windows \\ System32 \\ Drivers \\ vb. Dosyanın içeriğini almak için #. İÇİNDE bu durum, Hosts dosyası

Tüm cmdlet'leri bilmek gerekli değildir. Yardım almak. Durumu kurtar.
Mevcut tüm cmdles hakkında bilgi, aşağıdaki komuta girerek elde edilebilir:

Get-Yardım -Kategori Cmdlet

PowerShell ISE'yi kullanırsak, geliştirme sürecini kolaylaştırıyoruz.
Sadece bir çizgi işareti girin " - "Clarket tanıtıldıktan sonra ve her şeyi alacağız muhtemel Seçenekler Parametreler ve türleri:

Yürütmeyi deneyin:

Get-Service -Name P *

Yine de, bir veya başka bir CMDLE'den hangi özelliklerin olduğunu unuturuzsa, GET üye.:

GET-PROSES | Get üye # işareti "|" Konveyör denir. Onun hakkında aşağıda.

Yeterli bilgi yok? Parametre ile yardıma dönüş -Examples.:

Get-Help Get-Process-Mexamples

Bir açıklama alıyoruz GET-PROSES.Evet ve kullanım örnekleri ile:

  • Tırtıllar kısaltılmış isimler olabilir - takma adlar. Örneğin, yerine Yardım almak. Basit kullanabilirsiniz Yardım.. Tüm indirimler için gerçekleştirin Get-Alias..

Yürütmeyi deneyin:

Başlangıç \u200b\u200bİşlemi Not Defteri

Kayıt için benzer olanlar:

Not Defteri'ni başlatın.

Ve şimdi işlemi durdurun:

Stop-Proses -Name Notepad

SPPS -NAME Not Defteri.

Biraz daha erken, kınların Glagol-isim kuralı olarak adlandırıldığını söyledik. Fiil'in olması gerekmediğini netleştirin Almak.. Ne alabileceğimizin yanı sıra, sorabiliriz AYARLAMAK. (UNUTMAYIN, SET-EXECTITYPOLICY), lansman Başlat.Durduruluyor Dur., çıktı Dışarı.Oluşturmak Yeni Ve bircok digerleri. CMDlet'in adı hiçbir şeyle sınırlı değildir ve sizin için kendi kendimizi yaratacağımız zaman, onu kalbiniz olarak arayabiliriz.

Dosyayı yürütmeyi deneyelim:

"Merhaba, Hub!" | DOSYA C: \\ TESTXT.TXT & C: \\ TEST.TXT

Bu arada, aynı şekilde yazılabilir:

"Merhaba, Hub!" \u003e C: \\ test.txt & c: \\ test.txt

Gizemli harflerle ve ısrarla yanıp sönen imleç? Bu bir komut satırı. Yardımcı programın hepsinde mevcut windows sürümleri. Bununla, sistemi yönetmek, programları aramak, dosyaları bulmak uygundur. Ancak profesyonel çalışma için CMD yeterince işlevsel değildir. Bu nedenle, Microsoft tüm konsol eksilerini düzeltmeye karar verdi ve ürünü altına bıraktı. windows adına göre Güç kalkanı. Bu nedir ve nasıl geliştirileceğini, okumayı okuyun.

Windows'tan PowerShell nedir

PowerShell, komut dosyası dil işlevlerine sahip etkileşimli bir nesneye yönelik komut ortamıdır. PowerShell 1.0'ın Microsoft'tan resmi olarak serbest bırakılması, 14 Kasım 2006'da gerçekleşti. Geliştiriciler, normal CLI komut satırının arayüzünü, yerel ve uzak ağlar .NET Framework'ü yönetmek için bir platformla birleştirdi.

Windows PowerShell'in basit bir işletim kabuğu olmadığını unutmayın. Microsoft, güçlü, genişletilebilir ve aynı anda, seçilen bir senaryo dili olarak işlev görebilen esnek bir kontrol aracı oluşturmayı başardı.

18 Ağustos 2016'da, Microsoft, Windows PowerShell'in şu anda her geliştirici için açık bir kaynak ürün olduğunu açıkladı. Ayrıca, şirket, Linux ve OS X dağılımları dahil olmak üzere UNIX odaklı işletim sistemlerine destek ekledi.

PowerShell nasıl yönetilir

CMDlets görevleri veya cmdlet'leri çalıştırmak için kullanılır. Bunlar, yürütülebilir dosyalar şeklinde kaydedilen küçük komutlardır. Windows XP ve Server 2008 R2 için 2.0 PowerShell'de, yaratıcıların yönetmenizi sağlayan modüller eklediler. büyük miktar Active Directory ve Exchange Server dahil olmak üzere kaynaklar.

Şimdi PowerShell Automation aracında, 130'un üzerinde modül ve komut gömülüdür. Dosyalara, ağlara, kayıt defteri, yönetim ve diğer sistem özelliklerine erişim sağlarlar:

  • ayar zaman ve tarihler;
  • klasörler ve ayrı dosyalarla çalışın;
  • yardım ve ek bilgi edinmek;
  • İthalat ve veri depolama;
  • komut dosyaları oluşturma yöntemleri;
  • bireysel komut dosyaları ve uygulamaları;
  • güvenlik sistemini kontrol edin ve tanımlayıcılarla çalışın;
  • sistem Yönetimi;
  • disk alanını kontrol edin.

Windows PowerShell'in genişletilebilir bir ortam olduğunu göz önünde bulundurarak, kullanıcılar kendi ekiplerini oluşturabilir, "Yazar" modüllerini bir dil. NET kullanarak yazabilirler.

PowerShell ile Başlarken

2016 yılında, son beta sürüm 6.0 PowerShell piyasaya sürüldü. Windows 7, 8 ve 10'da, yardımcı program yerleşiktir. Başka bir işletim sistemi kullanıyorsanız, uygulama indirmek zorunda kalacaktır. Bunu yapmak için, Microfoft.com'un resmi sitesine gidin ve Arama penceresinde, Windows PowerShell'i yükleme girin. Sistem otomatik olarak en son ürün sürümleriyle sayfaya çevirir. Listeden işletim sisteminizi seçin ve İndir'i tıklayın.

Dosya tamamen yüklendiğinde, çift fare tıklamasıyla açın. Varsayılan olarak, ortam program dosyaları \\ PowerShell \\ 'da kurulur ve Başlat menüsünde bir kısayol oluşturulacaktır. Mutlu bir Windows kullanıcısıysanız, sol alt köşedeki sistem simgesine tıklayın ve "Programları ve Dosyaları Bulun" için PowerShell'e girin. Uygulamayı çalıştırın, ilk cmdlet'inizi girin ve çalışmaya başlayın.

PowerShell için gerekli komutların ve talimatların listesi

Her cmdlet'in adı "fiil-isim" veya "eylem nesnesi" formunda temsil edilir. Windows 10 için en önemli CMDlets PowerShell'in bir listesini sunuyoruz ve Önceki sürümlerXP ile başlayarak. Metin belgelerinin nasıl saklanacağını az önce öğrenen acemi kullanıcılara bile yararlı olacaklar.

  1. Yardım almak. Çekirdek kafes çellcinde yerleşiktir. Sertifika çağırmak için tasarlanmıştır ve sağlar kullanışlı bilgi Sözdizimi, programlar, randevular, diğer Keltler. Her zamanki komuta tercümanında iPconfig /?, Ardından PowerShell'de yazdıysanız, GET-HELL GET-COSSING'ı aramanız gerekir.
  2. İçeriğe eriş. Yeni başlayanlar ve sistem yöneticileri için dosyaları okuma prosedürünü kolaylaştırır. Daha önce tutamağı açmak ve belgenin tüm satırlarını okumak için gerekli olsaydı, şimdi sadece cmdlet dosyasını verin. Bunu yapmak için C: \\\u003e Get-Content C: \\ ... \\ "dosya adını" konsolda yazın. "Uzantı".
  3. GET-HİZMET. Bilgisayarda yüklü hizmetler hakkındaki bilgilere erişim.
  4. GET üye. İade edilen CMDlet nesnesi hakkında bilgi verir, özelliklerini ve yöntemlerini görmenizi sağlar.
  5. Get-komut. CMDLET'leri arar, işlevler, komut dosyaları, uygulamalar ve diğer öğelerle ilgili veriler dahil, bunlarla ilgili tüm bilgileri döndürür. GET-COMMAND için Windows 10 için 5.0 PowerShell'de, sürüm sütunu eklendi ve şimdi komutanlar aynı modülün birkaç sürümünü bir kerede görüntüler.
  6. Stop- \\ Start-Service. Yöneticiler için vazgeçilmez bir asistan. CMDlet, silinmiş ve yerel bilgisayarlardaki hizmetleri başlatır ve durdurur.

Scriptler için özel semboller

CMDlets'e ek olarak, Windows 7'deki PowerShell yardımcı programı, $ _ veya () gibi özel karakterler içerir. Simgelerin en büyük şaşkınlığı, Linux benzeri sistemler veya programlama ile duruma sahip olmayan yeni gelenlere neden olur.

  1. Dikey özellik "|". Bu sembol, konveyör veri aktarımlı programlar için kullanılır. Konsolla çalışırken, çıkışı sol komutdan kabul etmek için dikey özelliğin sağındaki komutu belirlemek istediğinde içerir. PowerShell'de, dikey özellik, birkaç takımı aynı anda birleştirerek neredeyse aynı amaçla kullanılır. Örneğin, yeni bir kullanıcı adı oluşturun, bir gruba ekleyin ve varsayılan şifreyi sıfırlayın.
  2. İşlev işareti "()". Senaryoların yürütülmesi sürecini etkili bir şekilde izlemenizi sağlar. C benzeri programlama dillerinde olduğu gibi, PowerShell işlevi, kıvırcık ayraçlarda birkaç cmdlet'e girerek oluşturulur ve gerekli sayıda zamana başlamaya hazırdır.
  3. Özel sembol $ _. Komut dosyası bloklarını, filtreleri ve prosedür ifadelerini yazmak için kullanılır. $ _ Geçerli nesnenin değerini alır ve aşağıdakilere iletir. Dolar işaretini kullanarak, alt çizgiler olmadan, bir değişken ($ var \u003d "Merhaba" olarak adlandırabilir veya yazabilirsiniz.

PowerShell ISE nedir

PowerShell yardımcı programına dahil bir grafiktir windows uygulaması PowerShell ISE. Bu bir kabuk veya komut dosyaları yazmak için entegre bir ortamdır. İMKB, geliştiricilere çok çeşitli olasılıklar sunmaktadır. Bununla birlikte, komut dosyalarını oluşturabilir, hata ayıklayabilir ve düzenleyebilirsiniz, metin ve XML dosyalarını açın. Sözdizimin renk vurgulanması, test edilmesini kolaylaştırır ve koddaki hataları arayın.

İMKB, PowerShell konsolundan çok daha uygundur ve tamamen değiştirebilir. Çevreyi kullanarak, büyük kod parçalarını kopyalayabilir ve ekleyebilirsiniz, tüm komut dosyasını değil, ayrı parçalarını başlatabilirsiniz. PowerShell'in aksine, ISE'deki pencere boyutu, her zamanki programla çalışırken, fare işaretçisini kolayca değiştirir.

ISE ortamını denemek için, Başlat menüsünde PowerShell ISE'e girin. Windows kullanmıyorsanız, başka bir işletim sistemi, resmi siteden bir dağıtım indirin ve yükleyin. Uygulamaya başladıktan sonra, üç parçanın bir penceresi açılacaktır. En iyi komut dosyaları alttan PowerShell ekiplerinde yazılır ve ortada bir sonuç vardır.

İMKB ile ve alt pencerede tanıdık başlayın, GET-PROSEST girin. Birkaç kez sekmeye basın. CMDlet'in yanında, her tuş vuruşundan sonra değişecek parametreleri görünecektir. Bu, Microsoft'tan bir komut dosyası ortamı ile ilk oturumunuz olacaktır.

Bununla birlikte, eşit olarak, yöneticilerin yerel ve uzak sistemlerde çeşitli görevleri gerçekleştirebileceği tek bir ortam oluşturmak için normal komut satırı komutlarını gerçekleştirmenize olanak tanır.

Bu idari görevler genellikle cmdlets kullanılarak gerçekleştirilir (orijinalde) cmdlets.), uzmanlaşmış .NET sınıfları. Kullanıcı, çeşitli tasarımlar, komut satırı yardımcı programlarını kullanarak bunları komut dosyalarına (senaryolarda) birleştirebilir ve Normal Sınıflar. NET, WMI veya COM nesnelerine bakabilir. Ek olarak, tedarikçiler aracılığıyla PowerShell tarafından sağlanan Windows Dosya Sistemi veya Kayıt Defteri gibi çeşitli veri depolarını kullanabilirsiniz. sağlayanlar).

Windows PowerShell ayrıca, PowerShell'in yürütülebilir bileşenlerinin diğer uygulamalara dahil edilebileceği sayesinde bir gömme mekanizması sağlar. Bu uygulamalar, sağlanan dahil olmak üzere çeşitli işlemleri uygulamak için PowerShell işlevselliğini kullanabilir. grafik arayüzü. Bu yaklaşım, gerekli cmdletlere neden olan PowerShell kabukları formundaki Kontrol işlevselliğini PowerShell Cmdles ve Grafik Kumarları formundaki kontrol işlevselliğini uygulamak için Microsoft Exchange Server 2007'ye uygulanır. Böylece, grafik kontrol arayüzü orta katmanın üzerindedir - PowerShell. Diğerleri microsoft uygulamalarıMicrosoft SQL Server 2008, System Center Operations Manager ve System Center Veri Koruma Müdürü de dahil olmak üzere, PowerShell CMDlets aracılığıyla yönetim arayüzlerine erişim sağlar. Gelecekte, tüm Microsoft Server uygulamaları windows platformu PowerShell'i bir şekilde veya başka bir şekilde kullanacak.

Windows PowerShell, GET-HELM CMDLLLET ile kullanılabilir (komut satırından dahil) kendi genişletilebilir yardımını içerir.

Tarih öncesi

Cleldt

Senaryolar

PowerShell, CMDLET'leri kullanarak karmaşık işlemleri uygulayabileceğiniz dinamik tiplere sahip bir senaryo dili içerir. Komut Dosyası Dili değişkenleri, işlevleri, şube tasarımlarını (eğer-diğer) döngüleri (iken, yaparken, ve foreach), yapılandırılmış hata işlemeyi ve C.NET'in entegrasyonu dahil diğer birçok özelliği destekler. PowerShell'deki değişkenler isimden önce $ önekle gösterilir; CMDlets'in çekilmesi de dahil olmak üzere herhangi bir anlam atanabilirler. Dilin kendisi kesinlikle yazılmasına rağmen, değişkenlerin içinde, temel türleri olabilecek türleri ile kaydedilir (ENG. İlkel tipler.) veya nesneler. Satırlar tek tırnak veya çift tırnak içine alınabilir: Çift tırnak kullanırken, dizgede bulunan değişkenler değerleriyle değiştirilir. Değişkenlerin sözdizimine uygun olarak, dosyanın yolu önceki bir dolar işareti olan kıvırcık parantez içine yerleştirilirse (yani, $ (c: \\ foo.txt)), o zaman bu, içeriğine bir bağlantı olacaktır. dosya. Böyle bir değişkeye atanacak olan tek şey dosyaya kaydedilecek ve aksine, içeriğine erişirken dosyanın içeriği verilecektir.

Nesnenin özelliklerini ve yöntemlerini, sözdiziminde olduğu gibi (.) kullanarak (.) PowerShell, konveyördeki ve diğer yapılardaki mevcut nesneye atıfta bulunan tüm isimsiz komut satırı argümanları, bulaşan fonksiyonlar veya $ _ içeren $ args gibi özel değişkenler sunar. PowerShell ayrıca diziler ve ilişkisel diziler içerir. Ek olarak, PowerShell, komut satırına girilen aritmetik ifadeleri otomatik olarak hesaplar ve GB (GB), MB (MB) ve KB (CB) gibi popüler abrigament'i anlar.

PowerShell'de, işlevin işlevini kullanarak parametreleri kabul eden kendi işlevlerinizi oluşturabilirsiniz. Birçok yeni başlayanlar için popüler problem, fonksiyonların virgülle olmayan argümanları kabul etmeleridir, ancak boşluklar (komut satırı yardımcı programları veya cmdlets gibi):

  1. : İki argümanla bir fonksiyona neden olur.

Bu argümanlar, fonksiyonun bildiriminde belirtilen parametrelere bağlanabilir. Ayrıca, bir dizi $ args aracılığıyla onlar da iletişim kurabilirler.

  1. (, ): İki unsur dizisi olan bir argümanla bir fonksiyona neden olur.

PowerShell, yer adlarını kare parantez içine () bitirerek ve daha sonra statik yöntemi belirtmek için birkaç renk kullanarak (:)) herhangi bir .NET yöntemini aramanızı sağlar. Örneğin :: writeline ("PowerShell"). Nesneler, yeni nesne cmdlet kullanılarak oluşturulur, Ekle Member Cmdlet'i kullanarak kendilerine yeni özellikler ekleyin.

PowerShell için hata işleme, çevrimiçi olarak bir mekanizma sağlar. Hata durumunda, nesneler ele geçirilen hata bilgilerini (istisna nesnesi) içeren şekilde verilir. anahtar kelime Tuzak. Ancak, hataların yapılandırıldığında davranış. Bu nedenle, PowerShell'i yapılandırabilirsiniz, böylece bir hata durumunda, hatayı yakalamadan sessizce çalışmaya devam etti. PowerShell'in ikinci versiyonu da TRY Catch nihayet tasarımını ekledi.

PowerShell'de yazılı senaryolar, dosyalardaki oturumlar arasında kaydedilebilir. Ardından, tüm komut dosyasını veya bireysel işlevleri ondan kullanabilirsiniz. Komut dosyaları ve işlevleri CMDTAM gibi kullanılır, yani konveyörde komutlar olabilirler, parametreleri iletebilirler. Nesneler, konveyördeki senaryolar, fonksiyonlar ve cmdletler arasında iletilebilir. Bununla birlikte, PowerShell komut dosyalarının yürütülmesi varsayılan olarak yasaktır ve SET-ExecutionPolicy CMDlet kullanılarak etkinleştirilmelidir. PowerShell komut dosyaları, bütünlüğünü doğrulamak için bir dijital imza tarafından imzalanabilir.

PowerShell 2.0

Microsoft, PowerShell 2.0'ı Windows 7 ve Windows Server 2008 R2'nin bir parçası olarak yayınladı. Windows PowerShell 2.0 bu sistemlerde önceden ayarlanmıştır. İstisna modu windows yüklemeleri Server 2008 R2 Çekirdek modunda, Powershell 2.0'ın manuel olarak yapılandırılabileceği yerlerde. Eski platformlar için, Windows Yönetim Çerçevesinin bir parçası olarak mevcuttur. PowerShell 2.0, yeni 240 cmdth'ye ek olarak, komut dosyası dilinde ve API'sinde bazı değişiklikler yapar.

PowerShell 2.0'da yer alan yeni özelliklerin tamamlanmamış listesi:

  • PowerShell Remoting. WS-Management kullanarak, PowerShell 2.0, uzak makinelerde (aynı anda birkaç da dahil olmak üzere) komut dosyalarını ve cmdlet'leri aramanıza, yürütmelerinin durumunu izlemenize ve nesneler biçimine ilişkin sonuçları izlemenize olanak sağlar (seri hale getirme - deteralizasyon yoluyla). Ayrıca sınırlı işlevselliğe sahip etkileşimli oturumlar ve oturumlar oluşturmak da mümkündür.
  • Arka plan işi. Eşzamansız komut sırasını arayabilme. İşler yerel bir makinede veya birkaç uzaktan makineye çalışabilir. İşler etkileşimli cmdlets kullanamaz.
  • İşlemler. CMDlets ve Tedarikçilerin geliştiricilerinin işlemel işlemleri yapmasına izin verin. PowerShell 2.0, işlemlerin başlatma, onayı ve geri alma işlemlerinin başlatma, onayı ve geri alma ve işlemleri yönetme ve bunları CMDT ve Tedarikçilerde kullanma becerisi için CMDLET'leri içerir.
  • Gelişmiş işlevler. Sadece PowerShell'in kendisini kullanarak tam teşekküllü cmdlet'leri geliştirme yeteneği.
  • Steppablepipeleri. Kullanıcının bir cmdlet'i ararken BACROCESSING (), İşlem Kaydı () ve End İşlemini () işlevlerini izlemesini sağlar.
  • Modüller. Senaryoların ve yöneticilerin yazarlarının PowerShell komut dosyalarını düzenlemesine ve kendi kendine yeterli modüllere yerleştirmesine izin verin. Modülün kodu kendi, bağımsız bağlamında gerçekleştirilir ve modülün dışındaki ortamı etkilemez. Komut dosyasını kullanarak modüller sınırlı bir ortam ilan edebilir. Modüller kamu ve özel işlevler ve değişkenler içerebilir.
  • Veri dili. Veri tanımlarını yürütülebilir senaryo kodlarından ayırmanıza olanak tanıyan ve yürütme sırasında lokalize dizeleri almanızı sağlayan PowerShell dilinin bir alt kümesi.
  • Hata ayıklama komut dosyaları. Kesme noktaları kurabilme (eng. kesme noktaları.) PowerShell komut dosyaları veya fonksiyonlarında. Kesme noktaları, dizeleri, sütunlara, komutlara veya okuma işlemlerine ve / veya kayıt değişkenlerine yerleştirilebilir. Senaryolarda kesinti noktalarının kurulumu ve kontrolü için CMDlets vardır.
  • Olay. Bu özellik, yönetim veya sistem olayları meydana geldiğinde eylemleri dinlemenizi, yönlendirmenize ve gerçekleştirmenize olanak sağlar. Etkinlik sayesinde PowerShell Host, yönetilen nesnelerin durumundaki değişikliklerden haberdar edilebilir. Ayrıca senaryoların nesnelerden, pseventlere ve whievents'a abone olmalarını ve bunları eşzamanlı olarak ve eşzamansız olarak işleyebilmesini sağlar.
  • Windows PowerShell entegre komut dosyası ortamı (İMKB). PowerShell 2.0, yerleşik hata ayıklayıcının dahil edildiği bir dil için grafiksel bir kabuk içerir, sözdizimi arka ışığı, komutların otomatikleştirilmesi. Kabuk, yer imleri olan arayüzde Unicode'ün tam desteğiyle birkaç bağımsız PowerShell konsolu çalıştırmanızı sağlar. Uzaktan yürütme desteği sayesinde, diğer bilgisayarlarda bazı konsollar yapılabilir. Ek olarak, ISE, senaryoların ayrılan bir kısmını gerçekleştirmenize izin verir, yerleşik bir editör içerir ve PowerShell kullanarak arayüzünüzü genişletmenizi ve tamamlamanızı sağlar.
  • BITS Transfer - Dahili bir ağ üzerinden aktarılması için Dahili Destek, Arka Plan Akıllı Transfer Servisi teknolojisine göre önceliklendirme, çoklu işleme, sıfırlama ve eşzamansız çalışma ile.
  • Örneğin, GRIDView, örneğin, konveyörün sonuçlarını (WPF'ye göre), sıralama ve anında arama yetenekleriyle birlikte grafik bir tabloda (WPF'ye göre) görüntülemeyi mümkün kılan birçok yeni CMDlet.
  • Yeni operatörler -Split, -join ve ikame operatörü (@).
  • TRY-Catch-Catch ile işleme hataları. Diğer .NET dillerinin aksine, PowerShell'de bir yakalama bloğu için birkaç istisna türü belirleyebilirsiniz.
  • Yorumları engelle. PowerShell 2.0, Kullanarak Blok Yorumlarını (Artı Mevcut Hatta) Destekler<# и #> sınırlayıcı olarak.
  • Yeni API'ler, daha fazla kontrolden PowerShell ayrıştırıcısı üzerinden, sınırlı oturumlar oluşturma yeteneğine kadar farklı yetenekler ekledi (İngilizce. sınırlı çalışma alanı.) İçinde sadece sınırlı bir talimat seti ve PowerShell komutları yapabilirsiniz.

Cmdlet'lerin benzer takımlarla karşılaştırılması

Aşağıdaki tabloda, PowerShell ile birlikte verilen bir CMDlets örneğini içerir ve diğer yaygın olarak bilinen diğer diğer komut satırı kabuklarından benzer komutlar.

Bu tablonun yüzeysel tanıtım için verildiği belirtilmelidir, temsil edilen kabukların tüm özelliklerini kapsamıyor.

Windows PowerShell
(Cmdlet)
Windows PowerShell
(Takma ad)
cmd.exe / command.com.
(MS-DOS, Windows, OS / 2, vb.)
Baskın
(Unix, BSD, Linux, Mac OS X, vb.)
Açıklama
GET-LOOn gL, PWD. pwd. Mevcut çalışma dizinini görüntüler
Set yeri sl, cd, chdir , Chdir Geçerli kataloğu değiştirir
Açık ev sahibi. cls, temizle cLS. açık Ekranı temizler
Kopya maddesi. cPI, Kopyala, CP kopyala. Bir veya daha fazla dosya veya dizin kopyalar (PowerShell'de diğer veri sağlayıcıların nesnelerini de kopyalayabilirsiniz)
Yardım almak. yardım dostum. yardım. adam. Takımlara yardım et
Öğeyi kaldırmak. ri, del, silme, rmdir, rd, rm del, silme, rmdir, , rmdir Dosyayı / dizini siler (veya PowerShell veri sağlayıcılarındaki diğer öğeler).
Yeniden adlandırma-madde. rni, Ren. renname. Dosya / dizini yeniden adlandır
Taşıma öğesi. mi, hamle, mv hareket. Dosyayı / dizini yeni bir yere taşır
Childem. gci, dir, ls dir. Geçerli dizindeki tüm dosyaları / dizinleri görüntüler.
Yazma çıkışı echo, yaz. eko. eko. Dizeleri, standart çıktı için değişkenleri görüntüler
Pop-lok pOPD. pOPD. pOPD. Geçerli dizini en son yığın üzerine yerleştirilen kişiye değiştirir.
Basma yeri pushd. pushd. pushd. Geçerli dizini yığına yerleştirir
Ayar değişeni. sV, ayarlayın. aYARLAMAK. aYARLAMAK. Değişkenin / değişkenin oluşturulmasının değerini ayarlama
İçeriğe eriş gc, tip, kedi tip kedi. Dosyanın içeriğini alır
Seçme ipi bul, findstr. gREP. Durumun altında uygun dizeleri görüntüler
GET-PROSES. gps, ps tLLL, görev listesi. Tüm çalışan işlemleri görüntüler
Durdurma işlemi. spps, öldür Öldürmek, Taskkill öldürmek Koşu sürecini durdurur
Tee nesnesi. tee. n / A tee. Giriş verilerini bir dosyaya veya değişkene gönderir, ardından bunları konveyörle daha da iletir.

Ayrıca bakınız

  • PowerShell ISE.

Notlar

Edebiyat

  • Popov A.V. Windows PowerShell'e giriş. - St. Petersburg. : BHV-Petersburg, 2009. - P. 464. - ISBN 978-5-9775-0283-2

Linkler

  • Windows PowerShell 1.0 Kurulum Paketi Windows Vista için İndirme Merkezi
  • PowerShell fırsatları ve komut dosyası yazma temelleri hakkında rapor
  • Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008 için Windows Management Framework (Powershell 2.0, WinRM 2.0 ve Bit 4.0 dahil)
  • Blog "PowerShell ve diğer komut dosyaları" (rus.)
  • (rus.)
  • "PowerShell Blog ve sadece" (rus.)
  • Ücretsiz Rus kitabı o PowerShell (Rus.)
  • PowerShell (İngilizce) Hakkında İkinci Bedava İngilizce Kitap
  • Windows PowerShell Web Düğümü (İngilizce)
  • PowerShell Kaptan ve Geleceğin İdaresi (RUS.)

Windows PowerShell, sistem sistemindeki önemli araçlardan biridir. windows yöneticisi. PowerShell, ihmal edilmemesi gereken güçlü bir araçtır. Bu makale, Windows PowerShell ile temel iş becerilerini sağlamayı amaçlamaktadır.

PowerShell, sadece bir komut satırı kabuğundan daha fazlasıdır. PowerShell'in ilk versiyonu 2006 yılında ortaya çıktı, gelişmesinin nedeni klasik ekibin ilkelliğiydi. pencere dizelerikarmaşık algoritmalar yapmasına izin verilmez.

Windows PowerShell, Windows 7, 8, 8.1 ve Windows Server 2008 R2, 2012 R2 sistemlerinde önceden ayarlanmıştır ve ayrıca Windows XP SP3, Vista ve Windows Server 2003 SP2'ye eklenebilir. PowerShell arayüzü, iyi bilinen bir komut satırı arayüzüne benziyor.


Windows arayüzü Güç kalkanı

Yukarıda belirtildiği gibi, komut satırı arayüzü sınırlı değildir. PowerShell, sistem yöneticisinin kendi senaryo dilini, bu da karmaşık eylemleri otomatikleştirmenize olanak sağlar.

PowerShell'de çalışan komutlar CMDlets, işlevleri, komut dosyaları ve harici çalıştırılabilir dosyalar şeklinde olabilir.

Cleldt - Bu, PowerShell'e yerleşik yeni bir komut türüdür. Bu tür komutları DLL kütüphanelerinde derlenir ve lansmanı sırasında PowerShell işlemine yüklenir. Uygulamalar başlamadığı için CMDlet'ler için CMDlets.

Cmdlets adları şablonla eşleşiyor "Fiil isim". Fiil, yapmak istediğimiz eylemi ve isim - eylemin gerçekleştirileceği nesneyi açıklar. Örneğin, konsol ekranını silmek için Clear-Host komutunu girmelisiniz. GET-komut konsolunu girerek mevcut komutları görüntüleyebilirsiniz.

Bardak parametreleri olabilir. Genel olarak, şöyle görünür:

comandline Adı -Parameter1 -Parameter2 Argument1 Argümanı2

Argümanlar isim parametreleri değildir.

Nasıl çalışır? Örneğin, dizinin içeriğini gösteren bir DIR komutumuz var.

DIR Takımı Çalışması Örneği

Belirli bir dosyayı kaybettiğimi varsayalım. Photoshop tarafından bir sertifika dosyası olsun. Tam olarak dosya adının "Photoshop" içerdiğini ve bunun bir PDF dosyası olduğunu hatırlıyorum. Hatırladığım gibi, dosya bu dizinde yatıyor. Tüm dizin dosyalarının bir listesini yukarıdaki örnekteki gibi görüntüleyebilir ve dosyayı manuel olarak arayabilirim. Ve yalnızca belirli bir argümanla eşleşen dosyaları görüntüleyecek olan filter parametresini uygulayabilirim. Argüman olarak * Photoshop * .pdf olacak. "Photoshop" kelimesinin etrafındaki yıldız işaretleri, çünkü "Photoshop" ın "Photoshop" ın daha önce ve sonra herhangi bir karaktere dayanabileceği gerçeğine tam dosya adını ve PowerShell'i işaret etmem. Ayrıca PDF dosyasını aramayı gösteriyorum.

Böylece, arama dosyası bulundu. Genel cmdlet biçiminde, bir cmdlet'in birkaç parametreye sahip olabileceği belirtildi. Buna karşılık, parametrelerin her zaman argümanları olmaz.

Biraz örneğimizi zorlaştırıyor. Şimdi söyleyelim ki Christopher Dugurtesty'nin kitabını bulmalıyım. Takım dir -filter * Dougherty * .pdf Bir şey yapmadım. Bu katalogda hiçbir kitap olmadığı anlamına gelir, ancak tam olarak burada, açıkça, alt dizinlerde bir yerde olduğunu hatırlıyorum. Aramak ve alt dizinlerde, -Recurse parametresini ekleyin.

Arama biraz daha uzun sürecek, ancak istenen kitap bulunacak.

Gördüğünüz gibi, -Recurse parametresi bir argüman içermez. Kendi başına, parametreler herhangi bir sırayla dayanabilir, asıl şey, gerekli argümanın amaçlandığı parametreyi takip ettiğinde, mantığı tamamen gözlemlemektir. Yani takım dir -filter * Dougherty * .pdf -Recurse aynı şekilde çalışacak dir -Recurse -filter * Dougherty * .pdf.

Parametrelerin isimleri, komut satırı ile günlük çalışma için oldukça uygun olan kısaltılmış formda yazılabilir. Azaltma, iware için net olmalıdır. İki katlı yorumlara izin vermeyin. Örneğin, -Recurse parametresi basit -R'ye düşürülebilir ve azaltma -Filter to -f'e bir hataya neden olur, çünkü Hala -force parametresi var. Bu durumda, -Filter'a -FI'ye kesebilirsiniz.

Öyleyse, Keltler fikrimiz var. Sonraki .

Windows işletim sistemine 10'a geçtikten sonra, birçok kullanıcı iletkeni arayüzünde "PowerShell" düğmesini fark etti. Bu bağlamda, ağda birçok soru ortaya çıktı, Windows PowerShell programı ile ilgilenen kullanıcılar ve ne gerekiyorsa. Bu soruyla da ilgileniyorsanız, bu malzeme size yardımcı olmalıdır.

Windows PowerShell, bu komut dosyalarını gerçekleştirmek için bir komut dosyası dili ve bir komut satırı arayüzüne sahip bir programdır. Bu dil, 2006 yılında Windows XP için ikinci servis paketinin bir parçası olarak piyasaya sürüldü ve o zamandan beri Powershell, tüm Microsoft işletim sistemlerinin bir parçasıdır. 2008 yılında ikinci sürüm ortaya çıktı bu dilinVe Windows 7'den başlayarak budur. Windows PowerShell komut dosyaları PS1 uzantısına sahiptir ve BAT ve CMD dosyaları tanıdık olarak başlatılabilir.

Windows PowerShell, öncelikle, sunucu yönetimi görevlerini ve bilgisayarları otomatikleştirmek için güçlü araçlara ihtiyaç duyan Microsoft Ticaret Müşterileri için geliştirilen bir betik dilidir. windows veritabanı. Bu dilin temeli, 2002'den beri Microsoft tarafından geliştirilen platform.net tarafından kullanıldı.

Windows PowerShell, çok sayıda görevi otomatikleştirmenizi sağlar. Bununla birlikte, dosyaları, hizmetleri, işlemleri, hesapları ve ayarları yönetebilirsiniz. PowerShell dili, sıradanlardan birçok takım anlıyor Komut satırı Pencereler (cmd), ancak aynı zamanda kendi komutlarından oluşan kendi diline sahiptir.

Kupalar (İngilizce CMDlets'te), örneğin, GLAGOL-NOUN kuralı tarafından oluşturulur. Yardımı kullanarak Windows PowerShell'in temelleri ile tanışabilirsiniz (GET-HELP CMDLET). Genel bilgileri edinmek için, belirli bir CMDlet'i almak için "GET-HELM-HELM-ADI-CMDLET" komutunu girin. Örneğin, "Get-Help Get-Proses" komutunu girerseniz, bir Get-Proses CMot Yardımı alacağız.

Windows PowerShell Programı Nasıl Çalışır?

Windows PowerShell programı başlatılabilir farklı yollar. En kolay seçenek, Aramayı Başlat menüsünde kullanmaktır. Bunu yapmak için, Başlat menüsünü açın, girin arama sorgusu "Windows PowerShell", sonra programı açtıktan sonra.

Bir kombinasyonu da kullanabilirsiniz windows-R tuşları Ve "PowerShell" komutunu girin.

Windows 10'da, PowerShell programı herhangi bir klasörden çalıştırılabilir. Bunu yapmak için, iletkenin sol üst köşesindeki "Dosya" düğmesine tıklayın ve "Windows PowerShell'i çalıştırın" seçeneğini seçin.

Windows PowerShell Nasıl Kullanılır

Dediğim gibi, PowerShell programının yardımıyla, birçok rutin görev otomatikleştirebilir işletim sistemi Pencereler. Örneğin, bu aracın, nasıl kullanılacağını netleştirmek için sahip olduğu özelliklerin bir kısmını göstereceğiz.

Temizlik sepeti. "Clear-recyclebin" olarak adlandırılan sepeti temizlemek için özel bir cmdlet var. Bu cmdlet, bilgisayarları korumak için komut dosyaları yazarken kullanışlıdır. Bir cmdlet yürütürken, sepeti temizlemek istediğiniz diski belirtmeniz gerekir. Misal:

Clear-recyclebin c:

Aşağıdaki ekran görüntüsünde, bu cmdlet'in nasıl yapıldığı görülebilir. "Clear-recyclebin C:" komutunu girdikten sonra, bir onay isteği belirir. CMDlet'in yürütülmesini sürdürmek için "Y" harfini girmeniz gerekir ve ENTER tuşuna basın.

CMDlet'e "-force" eklerseniz "Clear-recycleBin C:", ardından sepeti temizlemek bir onay isteği olmadan gerçekleştirilir. Altındaki ekran görüntüsü.

Dosya Arşivleme. Dosyaların arşivlenmesi ve açmak için, kompres-arşiv ve genişletme-arşiv cmdlets sağlanır. Örneğin, "C: \\ Test \\" klasörünü arşivlemek için "C: \\ Archive \\ Test2.zip" arşivine, aşağıdaki cmdlet'i çalıştırmanız gerekir:

Compress-Arşivi -LiteralPathath C: \\ Test \\ -DestinationPath C: \\ Archive \\ Test2.Zip

Yukarıda gösterilen komutun yürütülmesinin bir sonucu olarak, C: \\ Test \\ klasörünün içeriğinin görüneceği "C: \\ Archive \\" klasöründe "Test2.ZIP" dosyasında görünür.

Windows PowerShell için CMDlets Listesi

Windows PowerShell için, çok sayıda farklı cmdlet var ve hepsini tek bir makalede çalışmayacak. Bu nedenle, kendinizi en çok aranantan sonra tanıdıklarız:

  • Alınan Yardım - Referanslar Alma;
  • Güncelleme yardımı - referansı yenileme;
  • Get-Command - cmdlet'leri ara;
  • Get-Alias \u200b\u200b- CMDlets için takma adımı arayın;
  • GET-PSDRIVE - Bağlı diskleri görüntüleyin;
  • GET-MACK - Nesneye sahip özellikleri ve yöntemleri görüntüleme;
  • Get-WindowsFeature - hakkında bilgi edinin mevcut roller ve sunucu bileşenleri;
  • Kurulum-WindowsFeature (Analog EklentilerFeature) - Rolleri veya bileşenleri istenen sunucuya ayarlar;
  • Kaldırma-WindowsFeature (Kaldır-WindowsFeature Analogu) - Rol veya Sunucu bileşenini kaldırır;
  • GET-TARİHİ - Bu oturumda tanıtılan takımların tarihini görüntüleyin;
  • Get-değişken - Değişkenler listesini ve değerlerini görüntüleyin;
  • Yeni değişken - yeni bir değişken oluşturma;
  • SET değişken - değişkenin değerini ayarlama;
  • Temiz değişken - değişken değerin kaldırılması;
  • Kaldırıcı değişken - değişkeni ve değerlerini gidermek;
  • Biçim listesi - Komutun sonucunu bir özellik listesi olarak görüntüleyin, her satırda ayrı bir özellik;
  • Biçim tablosu - Tablo formatındaki komutun sonucunu görüntüleyin;
  • Biçim-Geniş - Komutun sonucunu, her nesne için yalnızca bir özelliğin gösterildiği geniş bir tablo biçiminde görüntüleyin;
  • Biçimlendirici - Kullanıcı görünümünü kullanarak komutun sonucunu görüntüleyin;
  • Export-CSV - CSV formatına veri aktarımı;
  • İçe Aktar-CSV - CSV dosyasından veri içe aktarın;
  • İhracat-Clixml - Verileri XML formatına verin;

GET-COMMENT -COMMANDTYPE CMDLLLET CMDLET'i çalıştırarak, Windows PowerShell için CMDLET'lerin tam bir listesini alabilirsiniz.