Windows 7 da powershell nima. Windows PowerShell asoslari. PowerShell-dagi cmdletlar

Hammaga salom! Bugun mavzu bo'yicha qisqacha eslatma, Powershell-ni administrator sifatida qanday ochish kerak. Sizga eslatib o'tamanki, PowerShell - bu Microsoft-dan kuchli dasturlash va boshqaruv tili, har yili u o'sib boradi, hamma narsa katta miqdor cmdletlar va funksionallik. Aslida, bu Windows buyruq satrining o'rnini bosuvchi vositadir. Quyida biz uni ochish va sozlash imkonini beruvchi usullarni ko'rib chiqamiz.
.

PowerShell qo'shimchasini ochish usullari

Powershell juda yaxshi rivojlanmoqda va Windows 10-ning chiqarilishi bilan u allaqachon 5-versiyani oldi, ammo bizning mavzuimiz boshqacha. Xo'sh, powershellni qanday ochish mumkin? Agar Windows XP da hamma narsa oddiy, keyin hech narsa. U alohida yetkazib berilganligi sababli, keyingi barcha versiyalarda u o'rnatilgan komponent sifatida keladi. Ko'pchilik universal usul Powershell-ni oching, bu tugmani bosing

Win + R va powershell-ga kiring

Enter tugmasini bosish orqali PowerShell konsoli ishga tushadi, yagona muammo shundaki, u administrator sifatida ochilmaydi. Natijada, ko'plab buyruqlar bajarilmaydi, quyida biz buni administrator nomidan qanday qilishni ko'rib chiqamiz.

Windows 8.1 va Windows 7 da Windows Powershell-ni administrator sifatida qanday ishga tushirish kerak

Windows Powershell-ni Start orqali ochishingiz mumkin. Windows 8.1, Windows 2012 R2 da Tizim asboblari - Windows-ga o'ting va sichqonchaning o'ng tugmachasini bosing va Administrator sifatida ishga tushirish-ni tanlang.

Windows 7 va Windows 2008 R2 da bu Start > Aksessuarlar > Windows PowerShell-ga o'xshaydi

Bundan tashqari, vazifa elementida yorliq yaratishingiz va ustiga sichqonchaning o'ng tugmachasini bosib, tegishli elementni tanlashingiz mumkin

PowerShell har doim administrator sifatida ochilsa qulay bo'lardi, keling uni amalga oshiramiz. Bu Windowsning barcha versiyalarida xuddi shunday amalga oshiriladi. Boshqaruv panelini ochish

Unga sichqonchaning o'ng tugmachasini bosing va "Xususiyatlar" ni tanlang. Tizimda joylashgan faylga yo'lni darhol ko'rishingiz mumkin.

"Kengaytirilgan" tugmasini bosing. Siz qo'shimcha xususiyatlarni ko'rasiz. Bu erda siz "Administrator sifatida ishga tushirish" katagiga belgi qo'yishingiz kerak.

Hammasi juda oddiy. Ishonchim komilki, endi sizda Windows Powershell-ni qanday ochish haqida savolingiz bo'lmaydi. Yana bir foydali narsa - bu Powershell oynasida shriftni o'zgartirish.

Windows 10-da Boshlash tugmasi kontekst menyusidan PowerShell-ni qanday ochish mumkin

Microsoft tobora ko'proq e'tibor qaratmoqda buyruq qatori kuchli tiliga (PowerShell) qaraydi va bu mantiqiy, chunki uning operatsion tizimlarni boshqarish qobiliyati Windows oilasi, deyarli cheksizdir, agar ko'p bo'lmasa, grafik interfeysga qaraganda. bilan boshlanadi Windows versiyalari 10 1709, kontekst menyusida, PowerShell, hamma uchun odatiy cmd o'rnini egalladi. Windows 10 da ishga tushirish tugmachasini o'ng tugmasini bosing va kontekst menyusidan tegishli elementni tanlang:

  1. Windows PowerShell
  2. Windows PowerShell (administrator) aynan Windows 10 da maksimal huquqlarga ega rejimdir.

Windows 10 da Qidiruv yordamida Windows PowerShell-ni ishga tushiring

Windows 10 va undan oldingi versiyalarida PowerShell-dan foydalanib topishingiz mumkin muntazam qidiruv, buning uchun maxsus bo'lim mavjud. Boshlash tugmasi yonidagi kattalashtiruvchi oyna belgisini bosing. Ochilgan qidiruv shaklida PowerShell so'zini kiriting. Siz barcha variantlarni qidirasiz, ular orasida siz qobiqni topasiz. Agar siz sichqonchaning o'ng tugmachasini bossangiz, uni administrator sifatida ochishingiz mumkin.

Windows 10-da Boshlash menyusidan Windows PowerShell-ni ishga tushirish

PowerShell-ni Boshlash menyusidan ochish uchun uni oching va Windows PowerShell elementini toping, u papka shaklida bo'ladi, uni oching va tegishli versiyani ishga tushiring.

Agar siz sichqonchaning o'ng tugmachasini bossangiz, Vershel qobig'ini administrator huquqlariga ega administrator sifatida ishga tushirishingiz mumkin.

Qo'shimcha va umumiy qobiqni ishga tushirish usullari

Microsoft-dan kuchli til bilan qobiqni ochishning juda aniq usullari ham mavjud. Eng noaniq, uni topish oson bajariladigan fayl va uni to'g'ridan-to'g'ri tizimdagi joydan ishga tushiring. Keling, quyidagi yo'l bo'ylab Windows 10 ga boramiz:

C:\Users\username\AppData\Roaming\Microsoft\Windows\Ishga tushirish menyusi\Programs\Windows PowerShell

Natijada siz Boshlash menyusida mavjud yorliqlari bo'lgan papkani ko'rasiz, ularni ishga tushirishingiz mumkin.

Bundan tashqari, yo'lda joylashgan asl bajariladigan faylni ishga tushirishingiz mumkin:

C:\Windows\System32\WindowsPowerShell\v1.0

Va ustiga sichqonchaning o'ng tugmachasini bosish orqali siz uni administrator sifatida maksimal huquqlarga ega yuklab olishingiz mumkin.

Siz Windows PowerShell-ni buyruq qatori oynasidan ham ishga tushirishingiz mumkin; buning uchun unga sehrli so'zni kiriting va Enter tugmasini bosing.

Xo'sh, sizga "Vazifa menejeri" qo'shimchasidan yangi vazifani ishga tushirish usulini ham eslatib o'taman. "Vazifa menejeri" ni oching, "Fayl - Yangi vazifani ishga tushirish" menyusini tanlang.

Ko'rsatilgan oynada PowerShell-ni kiriting.

Menga ma'lum bo'lgan oxirgi usul bu PowerShell-ni ishga tushirishdir Windows Explorer 10, buning uchun Explorer-ni oching, menyu bandini tanlang "Fayl - Windows PowerShell-ni ishga tushiring", ikkala rejim ham bo'ladi.

PowerShell ISE nima

Siz PowerShell ISE yorlig'i hamma joyda ekanligini payqagandirsiz va uning nima ekanligini bilishni xohlaysiz. Xulosa qilib aytganda, bu maxsus qobiq bo'lib, unda siz PowerShell-da skriptlar va stsenariylarni yozishingiz mumkin, bunda Microsoft sizga taklif qiladigan barcha xilma-xil cmdletlar.

Powershell-da shriftni o'zgartirish juda oddiy, xususiyatlardagi Shrift yorlig'iga o'ting, u erda siz o'lchamni 5 dan 72 gacha o'rnatishingiz mumkin.

Bundan tashqari, yordamchi dastur oynasining o'zidan xususiyatlarni olishingiz mumkin, yuqori chap burchakdagi belgini bosing va xususiyatlarni tanlang

Bu erda shrift sozlamalari biroz farq qiladi va ular o'zgarishi bilan konsolning o'lchami ham o'zgaradi.

Ranglar yorlig'ida Powershell va oynaning o'zida shrift rangini o'rnatishingiz mumkin. Uni qora qilish orqali, masalan, buyruq qatori kabi.

Men shuningdek, agar siz faol konsol foydalanuvchisi bo'lsangiz, bufer hajmini 50 ta buyruq emas, balki kamida 100 ga o'rnatishingizni maslahat beraman.

E'tiboringiz uchun rahmat. Bular Windows-da Power Shell konsolini ochish usullari. Sayt materiallari

Ko'p foydalanuvchilar Buyruqning satri haqida bilishadi, lekin juda ozchilik Windows PowerShell haqida eshitgan. Qaysidir ma'noda PowerShell - bu buyruq qatorini almashtirish va Windows operatsion tizimini boshqarish uchun yanada kuchli imkoniyatlarni taqdim etishga qaratilgan vositadir. Ushbu maqolada biz ushbu vosita nima ekanligini, nima uchun u shunchalik kuchli ekanligini va uni kim tez-tez ishlatishini aniq tushuntirishga harakat qilamiz.

PowerShell nima?

Yaxshiroq tushunish uchun, avvalo, qobiq nima ekanligini tushunishimiz kerak. Informatika fanida qobiq - bu turli xizmatlarga kirishni ta'minlaydigan foydalanuvchi interfeysi. operatsion tizim. Qobiq buyruq qatoriga asoslangan bo'lishi mumkin yoki grafik foydalanuvchi interfeysini (GUI) o'z ichiga olishi mumkin.

Windows PowerShell - bu Microsoft tomonidan vazifalarni avtomatlashtirish va konfiguratsiyani boshqarish uchun ishlab chiqilgan qobiq. Ushbu kuchli qobiq .NET ramkasiga asoslangan va buyruq qatori qobig'i va skript tilini o'z ichiga oladi.

Standart buyruq satri qobig'ining tepasida Windows PowerShell ISE ham bo'lishi mumkin. ISE integratsiyalashgan skript muhiti vazifasini bajaradi - bu buyruq satridagi barcha buyruqlarni kiritmasdan turli skriptlarni yaratish imkonini beruvchi grafik foydalanuvchi interfeysi.

PowerShell ning birinchi versiyasi 2006 yil noyabr oyida Windows XP uchun chiqarilgan. Windows Server 2003 va Windows Vista. Eng soʻnggisi 2013-yil oktabr oyida chiqarilgan 4.0 versiyasidir. U sukut boʻyicha Windows 8.1 va Windows Server 2012 R2 bilan birga keladi.

PowerShell bilan nima qila olasiz?

Microsoft Windows PowerShell-ni avtomatlashtirish va ko'plab zerikarli ma'muriy vazifalarni tezda hal qilishga yordam beradigan vosita sifatida ishlab chiqdi. Masalan, tarmoqdagi bir yoki bir nechta kompyuterda o'rnatilgan barcha USB qurilmalarini ko'rish uchun PowerShell-dan foydalanishingiz mumkin yoki ishga tushirish uchun vaqt talab qiladigan vazifani sozlashingiz mumkin. fon boshqa ish bilan shug'ullanayotganda. Shuningdek, siz javob bermayotgan jarayonlarni aniqlashingiz va tugatishingiz yoki tarmog'ingizdagi kompyuterlar haqidagi ma'lum ma'lumotlarni filtrlab, HTML formatida eksport qilishingiz mumkin.

PowerShell imkoniyatlari sizga skriptlar yaratish va bir nechta buyruqlarni birlashtirish orqali ko'p vaqt talab qiluvchi va takrorlanuvchi vazifalarni soddalashtirish va avtomatlashtirish imkonini beradi.

Agar siz tarmoq ma'muri bo'lsangiz, u bilan ishlashda PowerShell juda foydali bo'ladi Active Directory. Asbobda cmdletlar deb nomlangan yuzlab sozlanishi mumkin bo'lgan buyruqlar mavjudligini hisobga olsak, PowerShell sizga yanada samaraliroq bo'lishingizga yordam berishi ehtimoli juda yuqori.

Windows 8.1 da PowerShell qanday ishga tushiriladi?

Agar sizda Bosh ekranda PowerShell plitasi yoki ish stolida yorliq bo'lmasa, uni qidiruv yordamida ochishingiz mumkin - bu eng ko'plaridan biri. oddiy usullar. +Q tugmasini bosing, "powershell" deb yozing va Enter tugmasini bosing.

PowerShell-ni Bosh ekraningizning Ilovalar bo'limidan ham ochishingiz mumkin: o'ting asosiy ekran va kursorni pastki chap burchakka, birinchi ustundagi oxirgi plitka ostidan olib boring. Pastga qaragan o'q bilan belgini bosing. Keyin "Utilitalar" bo'limidagi PowerShell belgisini bosing.

"Ishga tushirish" dialog oynasidan foydalanib PowerShell-ni ochish uchun +R tugmasini bosing, "powershell" ni kiriting va Enter tugmasini bosing.

Windows 7 da PowerShell ni qanday ishga tushirish kerak?

Windows 7 da, siz Start menyusida "powershell" ni qidirish orqali vositani topishingiz mumkin.

PowerShell-ni Aksessuarlar bo'limidagi Boshlash menyusi orqali ham ochishingiz mumkin.

Shubhasiz, Run oynasidagi yuqoridagi buyruq Windows 7 da ham ishlaydi.

Odatda PowerShell-dan kim foydalanadi?

Hech shubhasiz, PowerShell ko'plab IT ma'murlarining tanlovidir. Va yaxshi sabablarga ko'ra, vosita boshqaruv operatsiyalarini sezilarli darajada soddalashtiradi va katta hajmdagi ish hajmini kamaytiradi korporativ tarmoqlar.

Aytaylik, siz besh yuzdan ortiq serverni o'z ichiga olgan katta tarmoqni boshqarasiz va siz ushbu serverlarda ishlashi kerak bo'lgan ba'zi xizmatlarga bog'liq bo'lgan yangi xavfsizlik yechimini joriy qilishingiz kerak. Albatta, siz har bir serverga ulanishingiz va ularda kerakli xizmat o'rnatilganligini va ishlayotganligini ko'rishingiz mumkin. Biroq, bu holda, sizning boshqaruvingiz qoniqmaydi, chunki vazifani bajarish uchun sizga juda ko'p vaqt kerak bo'ladi.

BILAN PowerShell yordamida bu ishni bir necha daqiqa ichida bajarishingiz mumkin, chunki butun operatsiya belgilangan serverlarda ishlaydigan xizmatlar haqida ma'lumot to'playdigan va uni matnli fayl sifatida saqlaydigan bitta skript yordamida amalga oshirilishi mumkin, masalan.

PowerShell sizga bitta maqolada ko'rib chiqilishi mumkin bo'lganidan ko'ra ko'proq narsani qilish imkonini beradi, shuning uchun agar siz haqiqatan ham qiziqsangiz, ushbu vositaning kuchini qamrab oladigan ko'plab kitoblardan birini sotib olishingizni va o'qishingizni tavsiya qilamiz.

Kuningiz xayrli o'tsin!

Ushbu maqolada biz Microsoft-ning bunday texnologiyasini ko'rib chiqamiz Windows PowerShell, biz PowerShell nima, cmdletlar va quvur liniyasi nima, skriptlar va modullarni qanday yozish haqida gaplashamiz, shuningdek Windows PowerShell-ning boshqa bir xil darajada muhim va foydali xususiyatlariga to'xtalib o'tamiz.

PowerShell-dan oldin bor edi ( va bor) xizmatlarni avtomatlashtirish va boshqarish uchun quyidagi vositalar: Windows buyruq qatori va Windows skript xosti. Ammo bu texnologiyalarning kamchiliklari bor.

Jamoada Windows satrlari Shuningdek, ba'zi ma'muriy vazifalarni bajarish va harakatlar algoritmini yozish, uni skript (bat fayli) sifatida saqlash imkoniyati mavjud, shu bilan birga siz ba'zi dasturiy elementlardan foydalanishingiz mumkin, masalan, o'zgaruvchilar, shartli konstruktsiyalar va hatto. ilmoqlarga o'xshash narsa.

Ko'pgina dasturiy mahsulotlar konsol interfeysiga ega, ya'ni. biz dasturni buyruq qatori yordamida boshqarishimiz mumkin, shu bilan birga ish xarajatlarining etishmasligi tufayli resurslarni tejash GUI. Microsoft hatto Windows Server server operatsion tizimi uchun grafik interfeyssiz nashrlarni chiqaradi ( Server Core, Windows Server 2016 hatto Nano Serverga ega), ammo bularning barchasi etarli emas, chunki buyruq qatori imkoniyatlari cheklangan, ya'ni. Biz biror narsani avtomatlashtirish uchun qandaydir murakkab mantiqni yoza olmaymiz va imkonimiz bo'lsa ham, vaqt va bilim talab etiladi.

Bundan tashqari, buyruq satrining kamchiliklari shundaki, serverni to'liq boshqarish uchun biz dasturiy ta'minot mahsulotlarining turli xil konsol utilitalaridan foydalanamiz va shuning uchun boshqaruv uchun buyruq satridan foydalanish haqiqatan ham qiyin, chunki bu yordamchi dasturlarning barchasi turli xil xususiyatlarga ega. sintaksis, parametrlar, foydalanish usullari va tipik vazifalarni bajarish uchun, ya'ni. har kuni, bularning barchasini xotirada saqlashingiz kerak va atipik vazifalarni bajarish uchun avval yordam yoki hujjatlarni o'qib chiqishingiz kerak.

Windows Script Host texnologiyasi sizga buyruq qatori sifatida barcha ma'muriy vazifalarni bajarishga imkon beradi, shu jumladan WSH skriptlarini yozish orqali ularni avtomatlashtirish, ammo bu erda biz allaqachon to'liq dasturlash tillaridan foydalanishimiz mumkin ( VBScript va JScript), ya'ni. murakkab mantiq va algoritmlarni amalga oshirish mumkin. Bundan tashqari, WSH yordamida biz dasturiy mahsulotlarni ob'ekt interfeysi orqali boshqaramiz, boshqacha qilib aytganda, Windows skript xosti juda ko'p " sovutgich» buyruq qatoriga qaraganda. Lekin bu texnologiya shuningdek, ushbu boshqaruvni boshqarish va avtomatlashtirish uchun ideal vositaga aylanmadi tizim ma'murlari, chunki Windows Script Xost yuqoridagi dasturlash tillarini bilishni talab qiladi, bu tizim ma'murlari uchun aslida ortiqcha. Administratorlarga faqat ba'zi harakatlarni dasturlash imkoniyatiga ega bo'lgan oddiy boshqaruv vositasi kerak va ular VBScript va JScript dasturlash tillarida dasturiy mahsulotlarning ob'ekt modellarini o'rganishni xohlamaydilar.

Natijada, Microsoft tizim ma'murlari uchun tizim ma'murlarining barcha ehtiyojlarini ma'muriyat va avtomatlashtirish imkoniyatlari bo'yicha ham, qulaylik va foydalanish qulayligi nuqtai nazaridan 100 foiz qondiradigan boshqaruv vositasini ishlab chiqishi kerak edi, shuning uchun Windows PowerShell paydo bo'ldi.

Windows PowerShell nima?

Windows PowerShell Windows operatsion tizimlarini boshqarish va sozlash uchun mo'ljallangan Windows skript tili va buyruqlar qobig'i. PowerShell CRL ramkasi va .NET Framework ustiga qurilgan va matnni qabul qiluvchi va qaytaruvchi buyruq qatoridan farqli o'laroq, Windows PowerShell ob'ektlar bilan ishlaydi. PowerShell'dagi har bir ob'ekt ushbu ob'ektlarni boshqarish uchun foydalanishingiz mumkin bo'lgan xususiyatlar va usullarga ega.

Windowsda Microsoft PowerShell cmdletlar kontseptsiyasini ishlab chiqdi ( cmdletlar), bu buyruq nomlash tizimi " Fe'l-ism" Ushbu tizim tizim ma'murlariga PowerShell bilan ishlashni tezda o'zlashtirish va soddalashtirish imkonini beradi.

BILAN Windows yordamida PowerShell quyidagilarni amalga oshirishi mumkin:

  • Fayl tizimiga kirish;
  • Ro'yxatga olish kitobini boshqarish;
  • Xizmatlarni boshqarish;
  • Jarayonlarni boshqarish;
  • Operatsion tizimni sozlash;
  • Dasturiy ta'minotni o'rnatish;
  • Server rollari va komponentlarini o'rnatish;
  • Server rollari va komponentlarini boshqarish va sozlash;
  • Boshqaruv va boshqaruvni avtomatlashtirish uchun skriptlarni yozish va ulardan foydalanish;
  • Tizim administratorining boshqa vazifalarini bajaring.

Windows PowerShell-da ipconfig, ping va boshqalar kabi buyruqlar qatoridan ishga tushirishingiz mumkin bo'lgan ko'p ishlatiladigan yordamchi dasturlar va buyruqlar mavjud. Bu tizim ma'murlarining buyruq satridan PowerShell-ga o'tishini osonlashtirish uchun qilingan.

Bundan tashqari, qulaylik uchun PowerShell-da tez-tez ishlatiladigan buyruqlar va yordamchi dasturlarning sinonimlari mavjud ( Taxallus), masalan, cls Clear-Host cmdletining sinonimi, dir Get-ChildItem ( to'liq ro'yxat sinonimlarni Get-Alias ​​cmdletini ishga tushirish orqali ko'rish mumkin).

Kerakli buyruqni qidirishni soddalashtirish uchun PowerShell-da Get-Command maxsus cmdleti mavjud bo'lib, uning yordamida siz ham fe'l, ham ot bo'yicha qidirishingiz mumkin. Windows PowerShell-dagi barcha buyruqlar modullarga guruhlangan ( Masalan, Hyper-V, NetTCPIP), bu ham to'g'ri buyruqni topishni osonlashtiradi.

Kerakli buyruq topilgach, siz ushbu buyruq bilan ishlash bo'yicha ko'rsatmalarni ko'rishingiz mumkin, ya'ni. help, bu maqsadlar uchun maxsus Get-Help cmdlet mavjud, masalan, quyidagi buyruq Get-Command buyrug'i uchun yordamni ko'rsatadi:

Get-Yordam oling-Buyruq

Windows PowerShell-da yordam qisqa va batafsil bo'lishi mumkin ( parametr - Batafsil), to'liq ( parametr - To'liq) va siz faqat misollarni ko'rsatishingiz mumkin ( parametr - Misollar). Quyidagi buyruq faqat Get-Command cmdletidan foydalanish misollarini ko'rsatadi:

Get-Help Get-Command -Misollar

PowerShell yordami yangilanishi mumkin, ya'ni. uni Update-Help buyrug'i bilan yangilash mumkin.

Windows PowerShell versiyalari

PowerShell 1.0 ning birinchi versiyasi 2006 yil 14 noyabrda paydo bo'lgan va Windows operatsion tizimlarining quyidagi versiyalarida o'rnatilishi mumkin bo'lgan alohida tarqatish sifatida chiqarildi: Windows XP Service Pack 2, Windows Server 2003 Service Pack 1 va Windows Vista.

Windows Server 2008 da PowerShell 1.0 o'rnatilishi kerak bo'lgan komponent sifatida keldi.

Windows 7 va Windows Server 2008 R2 dan boshlab, PowerShell tizimning ajralmas komponenti sifatida keladi ( bular. oldindan o'rnatilgan, uni o'rnatish shart emas). Quyida PowerShell versiyasi va Windows operatsion tizimining versiyasi o'rtasidagi yozishmalar jadvali ( bular. PowerShell-ning qaysi versiyasi Windows-ning qaysi versiyasida sukut bo'yicha o'rnatilgan):

PowerShell versiyasi Windows versiyalari
PowerShell 2.0 Windows 7, Windows Server 2008 R2
PowerShell 3.0 Windows 8, Windows Server 2012
PowerShell 4.0 Windows 8.1, Windows Server 2012 R2
PowerShell 5.0 Windows 10, Windows Server 2016

Har biri bilan yangi versiya PowerShell borgan sari kuchli boshqaruv vositasiga aylanib bormoqda; Taqqoslash uchun, birinchi PowerShell-da taxminan 130 cmdlet bor edi, PowerShell 5.0 esa hozirda 600 dan ortiq!

Bilmoq joriy versiya PowerShell'da siz $PSVersionTable o'rnatilgan o'zgaruvchining PSVersion xususiyatidan foydalanishingiz mumkin, masalan, quyidagi buyruqni bajaring:

$PSVersionTable.PSVersion

Yoki cmdletni ishga tushiring

Get-Variable -Name PSVersionTable -ValueOnly

bu erda PSVersion qiymati PowerShell versiyasi bo'ladi.

PowerShell tili

PowerShell ob'ektga yo'naltirilgan skript dasturlash tilidir. U Windows PowerShell-da Windows operatsion tizimining barcha komponentlarini boshqarish buyruqlarini yozish, shuningdek, integratsiyalashgan muhitda ma'muriy vazifalarni avtomatlashtirish uchun skriptlarni yozish uchun ishlatiladi. Windows skriptlar PowerShell (ISE). PowerShell tili ma'muriy vazifalar uchun yaratilgan bo'lsa-da, u to'liq huquqli skript dasturlash tilidir, chunki u har bir dasturlash tilida mavjud bo'lgan dastur konstruktsiyalariga ega, masalan: shartlar, tsikllar, xatolarni qayta ishlash, o'zgaruvchilar, ob'ektlar va boshqalar bilan ishlash. massivlar.

PowerShell tili buyruqlarni yozish uchun yagona sintaksisga va bu buyruqlar uchun nomlash strukturasiga ega " Fe'l-ism", u nima qilyapti berilgan til dasturchilar va tizim ma'murlari uchun intuitiv.

Windows PowerShell

Windows PowerShell PowerShell-da buyruqlar va skriptlarni bajarish uchun muhitdir. Bu qobiq buyruq satri bilan bir xil imkoniyatlarga ega, masalan: buyruqni bajarish tarixini saqlash, sozlash ko'rinish qobiq, Ctrl+C tugmalar birikmasi bilan buyruqlarni bajarish, shuningdek, buyruq satri qobig'ida mavjud bo'lmagan boshqa ko'plab xususiyatlar, masalan, " kabi ajoyib xususiyat. sintaksisni ta'kidlash» ( PowerShell 5.0 da taqdim etilgan).

PowerShell-ni ishga tushirishning bir necha yo'li mavjud, masalan:

  • PowerShell ni kiritish orqali buyruq satridan;
  • Muloqot oynasi orqali " Bajarish» ( klaviatura yorlig'i Win + R), shuningdek, PowerShell-ni yozish;
  • Windows 7 da - Boshlash->Barcha dasturlar -> Aksessuarlar -> Windows PowerShell -> Windows PowerShell;
  • Windows 8.1 yoki Windows Server 2012 R2 da - Start->Barcha Programs -> System Tools -> Windows PowerShell;
  • Windows 10 yoki Windows Server 2016 da - Boshlash->Barcha dasturlar -> Windows PowerShell katalogi ( V guruhida) -> Windows PowerShell.

Windows Server 2016 da PowerShell-ni ishga tushirishga misol

Windows Server 2016 da PowerShell skrinshoti

PowerShell-dagi cmdletlar

Cmdlet (cmdlet) - Bu Windows jamoasi PowerShell, uning yordamida siz ularni boshqarish uchun operatsion tizim ob'ektlari bilan ishlashingiz mumkin. Bu buyruqlar PowerShell tilining bir qismidir. Cmdletlar " tamoyili bo'yicha qurilgan. Fe'l-ism", defis (-) bilan ajratilgan; boshqacha qilib aytganda, avval nima qilish kerakligini ko'rsatamiz va tire bilan nima qilish kerakligini ko'rsatamiz. Masalan, Get-Help cmdleti, bu erda Get - fe'l ma'nosi "" Oling", Yordam esa otdir" Yordam"PowerShell kontekstida" Ko'rsatish - Yordam" PowerShell cmdletlari natijalarni ob'ektlar sifatida qaytaradi, bu Windows buyruq satridan asosiy farqlardan biridir, bunda buyruqlar ekranga faqat matnni qaytaradi.

Ma'lumot olish uchun (Get) cmdletlardan tashqari, quyidagi turdagi cmdletlar ham mavjud:

  • Qo'shish - ma'lumotlarni qo'shish;
  • Aniq - aniq;
  • Yoqish - yoqish;
  • O'chirish - o'chirish;
  • Yangi - yaratish;
  • O'chirish - olib tashlash;
  • to'plam - o'rnatish;
  • Boshlash - boshlash;
  • To'xtatish - to'xtatish;
  • Eksport - eksport;
  • Import - import;
  • Va yana ko'p.

Windows PowerShell-dagi cmdletlarning to'liq ro'yxatini maxsus Get-Command cmdlet yordamida ko'rish mumkin. Misol uchun, uni -CommandType cmdlet parametri bilan ishga tushiring, natijada ekraningizda cmdletlar ro'yxati ko'rsatiladi.

Get-Command -CommandType cmdlet

Siz allaqachon tushunganingizdek, cmdletlarda biz cmdlet harakatlarini belgilashimiz mumkin bo'lgan parametrlar mavjud. Parametrlar talab qilinadigan yoki ixtiyoriy bo'lishi mumkin; masalan, Get-Command cmdletida talab qilinadigan parametrlar yo'q.

Quyidagi rasmda fe'l bo'yicha cmdletni qidirish usuli ko'rsatilgan ( Fe'l parametri). Bunday holda, biz biror narsani qayta ishga tushirishi mumkin bo'lgan cmdletlar ro'yxatini ko'rsatdik.

Jamoa

Get-Buyruq - Fe'lni qayta ishga tushirish

Komdletni ot bo'yicha qidirish uchun siz Noun parametridan foydalanishingiz kerak. Misol uchun, quyida xizmatlar bilan ishlaydigan cmdletlar ro'yxati mavjud.

Jamoa

Get-Buyruq - Ism xizmati

Agar sizga kerak bo'lgan cmdlet topilmasa to'liq ism Niqobni *Matn* formatida ishlatishingiz mumkin.

PowerShell-dagi quvur liniyasi

Asosiylaridan biri Windows xususiyatlari PowerShell buyruqlarni bajarishda quvur liniyasidan foydalanishi mumkin.

Konveyer- bu cmdlet natijasini vertikal chiziq (|) orqali boshqa cmdletga o'tkazish. Shu bilan birga, siz eslaganingizdek, PowerShell-da cmdletlar ob'ektlar bilan ishlaydi va ob'ektlarni qaytaradi; shunga mos ravishda ob'ektlar ham quvur liniyasi bo'ylab uzatiladi.

Quvur liniyasidan foydalanib, murakkab algoritmlar va skriptlarni yozishga hojat qoldirmasdan murakkab vazifalarni oddiy va qulay tarzda bajarishingiz mumkin.

Masalan, "C:\Windows\System32" katalogidagi eng katta fayl nomini bilib olaylik ( quvur liniyasining oddiy misoli).

Jamoa

Get-ChildItem -Path "C:\Windows\System32" -Fayl | Saralash-Ob'ekt uzunligi -Kamish bo'yicha | Tanlash-Ob'ekt -Birinchi 1

  • Get-ChildItem – belgilangan katalogdagi obyektlarni olish uchun cmdlet;
  • Sort-Object - bu ob'ektlarni saralash uchun cmdlet, bizning holatlarimizda biz fayl hajmi bo'yicha tartiblaymiz ( uzunlik - pasayish);
  • Select-Object - bu ob'ektning kerakli xususiyatlarini tanlash uchun cmdlet; bizning holatlarimizda biz standart maydonlarni va faqat birinchi ob'ektni, ya'ni. katta fayl (parametr - Birinchi 1).

Barcha cmdletlar bir-biridan vertikal chiziq bilan ajratilgan. Har bir cmdletning natijasi boshqa cmdletga kirish sifatida uzatiladi, ya'ni. avval belgilangan katalogdagi barcha ob'ektlarni olamiz, keyin natijani saralaymiz va nihoyat birinchi ob'ektni tanlaymiz.

Vazifalarning fonda bajarilishi

Windows PowerShell fonda ishlarni bajarish qobiliyatiga ega, bu siz buyruqni bajarishingiz mumkin bo'lgan mexanizmdir ( masalan, bajarish uchun uzoq vaqt ketadi) fonda, ya'ni. ishga tushirilgandan so'ng siz joriy seansga qaytasiz va buyruq tugashini kutmasdan ishlashni davom ettirishingiz mumkin. Bu imkoniyat Bajarish uchun juda uzoq vaqt talab qilinadigan buyruqni bajarish kerak bo'lganda sizga kerak bo'ladi va siz bilganingizdek, bu vaqt ichida PowerShell seansi buyruq tugaguncha bloklanadi va siz ishlashni davom ettirishingiz kerak.

Siz fonda ishlaydigan barcha vazifalarni boshqarishingiz mumkin, masalan, vazifalar ro'yxatini ko'rish, vazifani to'xtatish, vazifani o'chirish va, albatta, topshiriqning natijasini ko'rish.

Windows PowerShell-da fon ishlari bilan ishlash uchun quyidagi cmdletlar mavjud:

  • Ishni boshlash - fon vazifasini boshlash;
  • Stop-Job - fon vazifasini to'xtatish
  • Get-Job - fon vazifalari ro'yxatini ko'rish;
  • Receive-Job – fon vazifasining natijasini ko‘rish;
  • O'chirish-Ish - fon vazifasini olib tashlash;
  • Vazifani kutish - tugashini kutish uchun fon vazifasini oldingi planga o'tkazing.

Orqa fonda ishga tushirish uchun siz Start-Job buyrug'ini va jingalak qavslarga () fonda ishlashni xohlagan buyruq yoki buyruqlar to'plamini yozishingiz kerak.

Masalan, keling, qandaydir vazifani bajaramiz ( xizmatlar ro'yxatini ko'rsatish) fonda, keyin roʻyxatga qarang fondagi ishlar va vazifamiz natijasini ekranda ko'rsating ( bular. xizmatlar ro'yxati).

Vazifani fonda ishga tushiring

Ishni boshlash (Xizmat olish)

Biz fonda ishlaydigan vazifalar ro'yxatini ko'rib chiqamiz

Vazifa 1 natijasini ko'rsatish

Qabul qilish-Ish 1

Ko'rib turganingizdek, endi bizda maqomga ega vazifa bor " Bajarildi", ya'ni. u allaqachon tugallangan ( Get-Service shunchaki tez ishlaydi).

Fon vazifasining natijasini ko'rish uchun, ya'ni. Get-Service cmdletida biz Receive-Job buyrug'ini bajardik va unga ish nomini berdik ( identifikator qiymati ham mumkin). Natijada biz xizmatlar ro'yxatini ko'rsatdik.

PowerShell yordamida masofadan boshqarish

Windows PowerShell nafaqat mahalliy foydalanish uchun, balki masofaviy buyruqlarni bajarish uchun ham mo'ljallangan. Bu xususiyat sizning ish joyingizdan masofaviy kompyuterlarni boshqarishingiz uchun zarur, ya'ni. PowerShell buyruqlarini ishga tushiring.

Bir necha usullar mavjud masofaviy boshqarish:

  • Parametrdan foydalanish - Kompyuter nomi (ko'p jamoalarda bor). Boshqacha qilib aytganda, siz buyruqni bajarmoqchi bo'lgan kompyuter nomini parametr sifatida o'tkazasiz. Usulning kamchiliklari shundaki, u bitta buyruqni bajarish bilan cheklanadi;
  • Seanslardan foydalanish. Cmdlet Kirish-PSSession (interaktiv sessiya). Shunday qilib, siz masofaviy kompyuterga ulanasiz va PowerShell-ga kiritgan barcha buyruqlar bajariladi. masofaviy kompyuter xuddi masofaviy kompyuterda buyruqlarni yozayotgandek. Usulning kamchiliklari ham borki, sessiya bitta kompyuter bilan cheklangan;
  • Cmdlet yordamida Chaqiruv - Buyruq. Yordamida bu usul Siz bitta yoki bir nechta kompyuterda buyruqlar yoki skriptlarni ishga tushirishingiz mumkin.

Masalan, masofaviy kompyuterga ulanish uchun ( Quyidagi misolda ServerName) interaktiv seansda quyidagi buyruqni bajaring:

PSSession server nomini kiriting

Windows PowerShell-dagi skriptlar, funktsiyalar va modullar

Agar siz algoritm yozgan bo'lsangiz, kelajakda undan foydalanish uchun uni saqlashni xohlaysiz. Windows PowerShell-da bu maqsad uchun skript mexanizmi mavjud.

Ushbu mexanizmning mohiyati quyidagicha: siz kerakli buyruqlar to'plamini yozasiz va uni skript sifatida saqlaysiz - bu .PS1 kengaytmali oddiy matnli fayl.

Keyin, ushbu skriptni ishga tushirish uchun uni PowerShell-da ishga tushirasiz. Bunday holda, siz skript fayliga to'liq yo'lni ko'rsatishingiz yoki skript bilan katalogga o'tishingiz va uni nomi bilan chaqirishingiz kerak.

Muhim!

Odatiy bo'lib, Windows-da skriptlarni ishga tushirish taqiqlanadi! Skriptni bajarish siyosatini ko'rish uchun cmdletni ishga tushiring Get-ExecutionPolicy. Natijada, u joriy siyosatni qaytaradi, masalan:

  • Cheklangan - har qanday skriptning bajarilishi bloklangan ( standart qiymat);
  • AllSigned - raqamli imzoga ega bo'lgan skriptlarni bajarishga ruxsat beriladi;
  • RemoteSigned - mahalliy skriptlarni bajarishga ruxsat beriladi, barcha yuklab olingan skriptlar raqamli imzoga ega bo'lishi kerak;
  • Cheklanmagan - har qanday skriptni bajarishga ruxsat beriladi ( tavsiya etilmaydi, chunki bu xavfli!).

Skriptlarni ishga tushirish uchun siz cmdletdan foydalanishingiz kerak O'rnatish-Execution Policy yuqoridagi parametrlardan biri bilan.

Masalan, mahalliy skriptlarni ishga tushirishga ruxsat berish uchun quyidagi buyruqni bajaring va Y tugmasini bosib o'zgarishlarni qabul qiling.

Set-ExecutionPolicy RemoteSigned

Siz parametrlarni skriptga o'tkazishingiz, ularni majburiy qilishingiz yoki standart qiymatni o'rnatishingiz mumkin.

Windows PowerShell o'z funktsiyalaringizni yaratish mexanizmini taqdim etadi, ular o'rnatilgan cmdletlar kabi PowerShell qobig'ida ishlatilishi mumkin.

Buni amalga oshirish uchun siz belgilashingiz kerak kalit so'z Funktsiyani va keyin jingalak qavslarda () ushbu funktsiyaning algoritmini yozing, ya'ni. buyruqlar to'plami ( masalan, ba'zi tez-tez ishlatiladigan protsedura: muayyan huquqlarga ega foydalanuvchi yaratish, ma'lum kataloglarni tozalash va hokazo). Keyin bularning barchasini skriptga saqlashingiz kerak, lekin faqat .psm1 kengaytmasi bilan, chunki bu fayl allaqachon modul bo'ladi.

Bu hammasi emas, bu fayl PowerShell modullarni qidiradigan katalogga joylashtirilishi kerak. Bir nechta bunday kataloglar mavjud ( foydalanuvchi profilidagi maxsus katalog, PowerShell o'rnatilgan katalog), ularni PowerShell muhit o'zgaruvchilarida ko'rish mumkin. Buning uchun quyidagi buyruqni bajaring

Get-ChildItem Env:\PSModulePath | Format - Jadval - Avtomatik o'lcham

Siz yozgan modulni maxsus katalogga joylashtirganingizdan so'ng, siz o'z funktsiyalaringizga oddiy PowerShell buyruqlari sifatida kirishingiz mumkin.

Windows PowerShell integratsiyalashgan skript muhiti (ISE)

Skriptlarni, funktsiyalarni va shunga mos ravishda modullarni yozishni qulay qilish uchun Microsoft maxsus ishlab chiqdi grafik dastur Integratsiyalashgan skript yaratish muhiti(ISE) - Integratsiyalashgan skript yaratish muhiti. Ushbu dasturda ishlash juda qulay va u kuchli funksionallikka ham ega ( skriptlar, chiqish maydoni, o'rnatilgan tuzatuvchi va boshqalar bilan bir nechta yorliqlarni yaratish).

Siz uni shunday ishga tushirishingiz mumkin:

  • Windows 7 da - Boshlash -> Barcha dasturlar -> Aksessuarlar -> Windows PowerShell -> Windows PowerShell ISE;
  • Windows 10 yoki Windows Server 2016 da - Boshlash->Barcha dasturlar -> Windows PowerShell katalogi ( V guruhida) -> Windows PowerShell ISE.

Eslatma! ISE ishlamaydi Windows tizimi Server Server Core versiyasida o'rnatilgan.

Windows Server 2016 da PowerShell Integrated Scripting Environment (ISE) skrinshoti

Hammasi men uchun, umid qilamanki, material siz uchun foydali bo'ldi! Omad!

PowerShell'dan dasturni ishga tushirish

PowerShell-dan har qanday bajariladigan faylni (dastur yoki buyruq qatori yordam dasturi) ishga tushirish vazifasi juda tez-tez uchraydi. Buning uchun PowerShell bir nechta variantni taklif qiladi. turli yo'llar bilan, biz ushbu maqolada keyinroq ko'rib chiqamiz. Eng oddiyidan boshlaylik...

To'g'ridan-to'g'ri ishga tushirish

PowerShell-da bajariladigan faylni ishga tushirishning eng oson usuli bu fayl bilan katalogga o'tish va uni to'g'ridan-to'g'ri ishga tushirishdir. Masalan, salomlashishni ko'rsatadigan oddiy dasturni olaylik va uni buyruq bilan bajaramiz:

Joylashuvni oʻrnatish ″C:\Program Files″
.\Hello.exe

E'tibor bering, siz kerakli katalogda bo'lsangiz ham, bajariladigan faylga nisbatan nisbiy yo'lni ko'rsatishingiz kerak. Istisno - ro'yxatdagi kataloglardagi fayllar atrof-muhit o'zgaruvchisi(yo'l). Masalan, Windows\System32 katalogida joylashgan turli o'rnatilgan dasturlar va yordamchi dasturlar (notepad, calc, ping va boshqalar) yo'lni ko'rsatmasdan ishga tushirilishi mumkin.

Operator &

Agar siz bajariladigan faylga to'liq yo'lni ko'rsatishingiz kerak bo'lsa, operatordan foydalanishingiz mumkin & (qo'ng'iroq operatori). Bu kabi tirnoqlarda ko'rsatilgan matn qatorini bajarishga imkon beradi yagona jamoa. Masalan:

& "C:\Program Files\Hello.exe"

& operatori uzatilayotgan buyruqni tahlil qilmagani uchun uning parametrlarini izohlay olmaydi. Shuning uchun qo'shimcha parametrlar\argumentlar ham matn sifatida, tirnoq ichida uzatiladi. Misol tariqasida, oldingi dasturni olaylik va kerakli matnni argument sifatida qabul qilish uchun uni biroz o'zgartiramiz:

& 'C:\Program Files\Hello.exe' 'Salom, dunyo'

Agar xohlasangiz, vergul bilan ajratilgan bir nechta argumentlarni belgilashingiz mumkin:

& 'C:\Program Files\Hello.exe' 'Salom,', 'dunyo'

Qulaylik uchun buyruq va argumentlar o'zgaruvchilarga joylashtirilishi mumkin:

$exe = 'C:\Program Files\Hello.exe'
$arg1 = "Salom"
$arg2 = "dunyo"
& $exe $arg1 $arg2

Xo'sh, agar argumentlar ko'p bo'lsa, ularni quyidagi qurilish yordamida birlashtirish mumkin:

$exe = 'C:\Program Files\Hello.exe'
$allargs = @('Salom,','dunyo')
& $exe $allargs

Chaqiruv-ifoda

Invoke-Expression cmdlet & operatori bilan bir xil ishlaydi - u matn qatorini oladi va uni buyruq sifatida bajaradi. Masalan:

Invoke-Expression - "C:\Windows\Hello.exe" buyrug'i

Biroq, u bitta katta kamchilikka ega, ya'ni bo'shliqlar bilan ishlash mumkin emas. Masalan, quyidagi buyruq xatolikka olib keladi:

Invoke-Expression - "C:\Program Files\Hello.exe" buyrug'i

Bu xususiyat cmdletdan foydalanishni juda noqulay qiladi. Agar kerak bo'lsa, qo'shimcha tirnoq yordamida bunday xatolardan qochish mumkin, masalan:

Invoke-Expression - "C:\'Dastur fayllari"\Hello.exe" buyrug'i

Boshlash - Jarayon

Start-Process cmdleti ishga tushadi belgilangan fayl usuli yordamida jarayon sifatida Boshlash.NET sinfi Jarayon. Masalan:

Start-Process - FilePath 'C:\Program Files\Hello.exe'

Odatiy bo'lib, jarayon ishga tushadi alohida oyna, bu jarayon oxirida yopiladi. Ushbu harakatni parametrlar yordamida o'zgartirishingiz mumkin, shuning uchun joriy oynada quyidagi buyruq ishlaydi:

Start-Process -FilePath 'C:\Program Files\Hello.exe' -NoNewWindow -Kutish.

Start-Process shuningdek, jarayonga qo'shimcha argumentlarni o'tkazish imkonini beradi:

Start-Process -FilePath "C:\Program Files\Hello.exe" -ArgumentList "Salom, dunyo" -NoNewWindow -Kutish.

Odatiy bo'lib, cmdlet hech narsani qaytarmaydi, lekin uni jarayon ob'ektini qaytarishga majbur qilish uchun -PassThru parametridan foydalanishingiz mumkin. Ushbu ob'ektni o'zgaruvchiga joylashtirish juda qulay:

$process = Start-Process -FilePath ′C:\Program Files\Hello.exe′ -Kutib turing -PassThru

Undan siz ko'plab foydali narsalarni o'rganishingiz mumkin, masalan, status:

$process.HasExited

$process.ExitTime

yoki ijro kodi:

$process.ExitCode

.NET

Printsipial jihatdan .NET Process sinfidan Start-Process cmdletisiz bevosita foydalanish mumkin. Masalan, jarayonni buyruq bilan boshlashingiz mumkin:

::Start('C:\Program Files\Hello.exe')

Bu usul ancha noqulay va og'ir (mening fikrimcha), lekin foydalanishda biroz moslashuvchan. Masalan, joriy oynada dasturimizni ishga tushiramiz, unga argumentlar beramiz va bajarilish natijasini olamiz:

$process = New-Object -TypeName System.Diagnostics.Process
$process.StartInfo.FileName = ″C:\Program Files\Hello.exe″
$process.StartInfo.Arguments = ″Salom, dunyo″
$process.StartInfo.RedirectStandardOutput = $true
$process.StartInfo.UseShellExecute = $false
$process.Start()
$process.WaitForExit()

$process.StandatdOutput.ReadToEnd()

WMI

WMI bilan deyarli hamma narsani qilishingiz mumkin, shu jumladan dasturni ishga tushirish. Buning uchun usul juda mos keladi Yaratmoq WMI-sinfi Win32_Process. Ushbu usul RPC orqali mahalliy yoki masofaviy kompyuterda jarayonni boshlaydi. Masalan, dasturni ishga tushirish uchun mahalliy kompyuter siz ushbu buyruqdan foydalanishingiz mumkin:

()″Win32_Process″).Yaratish(′C:\Program Files\Hello.exe′)

Va masofaviy kompyuterda bajarish uchun buyruq quyidagicha ko'rinadi:

()″\\remotecomputer\root\cimv2:Win32_Process″).Yaratish(′C:\Program Files\Hello.exe′)

Shu bilan bir qatorda, Invoke-WmiMethod cmdletidan foydalanishingiz mumkin:

Invoke-WmiMethod -Class Win32_Process -Name Create -ArgumentList ″C:\Program Files\Hello.exe″

Yoki Invoke-CimMethod cmdletidan foydalanish:

Invoke-CimMethod -ClassName Win32_Process -MethodName Yaratish -Argumentlar @(CommandLine=″C:\Program Files\Hello.exe″)

WMI jarayonni alohida oynada ishga tushiradi va jarayon identifikatori (ProcessID) va bajarilish natijasi (ReturnValue) o'z ichiga olgan ob'ektni qaytaradi. ReturnValue quyidagi qiymatlarni qabul qilishi mumkin:

0 - Muvaffaqiyatli tugatish
2 -Ruxsat berilmadi
3 - Imtiyozlar etarli emas
8 - Noma'lum muvaffaqiyatsizlik
9 - Yo'l topilmadi
21 — Yaroqsiz parametr

Chaqiruv - Buyruq

Invoke-Command cmdleti WinRM yordamida mahalliy yoki masofaviy kompyuterda buyruqlarni bajarishi mumkin. Masalan, dasturimizni mahalliy kompyuterda ishga tushirish uchun biz quyidagi buyruqdan foydalanamiz:

Invoke-Command -ScriptBlock ("C:\'Dastur fayllari"\Hello.exe")

Agar kerak bo'lsa, dasturga argumentlarni yuborishingiz mumkin:

Invoke-Command -ScriptBlock (C:\'Dastur fayllari'\Hello.exe "Salom, dunyo")

E'tibor bering, Invoke-Command bo'shliqlar bilan unchalik yaxshi ishlamaydi, shuning uchun xatolarga yo'l qo'ymaslik uchun tirnoq bilan ijodiy bo'lishingiz kerak. Biroq, masalan, cmdletdan foydalanishni & operatori bilan birlashtirish orqali bunday muammolarni oldini olish mumkin:

Invoke-Command -ScriptBlock (&'C:\Program Files\Hello.exe')

Invoke-Command asosan masofadan boshqarish uchun ishlatiladi, uning asosiy afzalligi bir vaqtning o'zida bir nechta kompyuterlarda ishlash qobiliyatidir. Masalan:

Invoke-Command -ScriptBlock ("C:\'Dastur fayllari"\Hello.exe") -Kompyuter nomi SRV1, SRV2, SRV3

$scriptblock = ("C:\'Dastur fayllari"\Hello.exe")
$Kompyuterlar = @(′SRV1′,′SRV2′,′SRV3′)
Invoke-Command -ScriptBlock $scriptblock -ComputerName $Computers

Odatiy bo'lib, cmdlet dasturning bajarilishi natijasini qaytaradi va agar siz uni fonda ishga tushirsangiz (-AsJob parametri), u Job obyektini qaytaradi:

Invoke-Command -ScriptBlock (C:\'Program Files'\Hello.exe) -ComputerName localhost -AsJob -JobName Salom

Invoke-element

Invoke-Item cmdlet faylga standart amalni qo'llash uchun mo'ljallangan. Shunday qilib, bajariladigan faylni buyruq bilan ishga tushirishingiz mumkin:

Invoke-Item -Path ″C:\Program Files\Hello.exe″

Biroq, ma'lum bir turdagi faylni ochish uchun Invoke-Item-dan foydalanish eng qulaydir. Masalan, biz matn faylini shunday ochamiz:

Invoke-Item -Path ″C:\Files\test.txt″

Va bu hammasi matnli fayllar papkada:

Invoke-Item -Path ″C:\Files\*.txt″

CMD

Xulosa qilib aytganda, PowerShell-dan dasturni ishga tushirishning yana bir usuli cmd qobig'idan foydalanishdir. Usul juda "bilvosita", ammo shunga qaramay ishlaydi. Quyidagi buyruq cmd ning yangi nusxasini ishga tushiradi, unda bajariladi belgilangan dastur, cmd dan chiqadi va natijani qaytaradi:

cmd /c ″C:\Program Files\Hello.exe″

PoSh dasturni ishga tushirishning juda ko'p usullarini taqdim etadi. Va ularning har biri muayyan vaziyatlar uchun yaxshi.

Aytgancha, maqola PowerShell: Deep Dive va Best Practice asosida yozilgan. Men uni o'qishni tavsiya qilaman, u erda hali juda ko'p qiziqarli narsalar bor.

Skriptni ishga tushirishning bir necha xil usullari mavjud, ularning asosiylari quyida keltirilgan:

  1. PowerShell-ni ishga tushiring va undagi skriptni ishga tushiring (faylga yo'lni va fayl nomini kiriting, masalan: C:\Scripts\test.ps1 yoki cd C:\Scripts buyrug'i bilan skript papkasiga o'ting va uni ishga tushiring. buyrug'i bilan.\test.ps1) Qobiqni ko'p jihatdan topish va ishga tushirish mumkin. Buning bir usuli - Boshlash menyusi. Windows 7 uchun - "Barcha dasturlar" - "Aksessuarlar" - "Windows PowerShell" ga o'tishingiz va "Windows PowerShell" qobig'ini ishga tushirishingiz kerak. Windows 10 uchun - "W" harfi bilan guruhni topishingiz kerak va unda siz "Windows PowerShell" ni topasiz.
  2. "Windows PowerShell ISE" ni ishga tushiring dastur - PowerShell skriptlarini tahrirlash va disk raskadrovka qilish imkonini beruvchi ishlab chiqish muhiti, u PowerShell bilan birga sukut bo'yicha ham mavjud. Uni ishga tushirgandan so'ng, siz shunchaki "Ochish" tugmasini bosishingiz yoki Fayl menyusiga o'tishingiz kerak - Oching va tanlang zarur skript, keyin F5 yoki "Skriptni ishga tushirish" tugmasini bosing.Siz Windows PowerShell ISE-ni PowerShell bilan bir joyda - Boshlash menyusida topishingiz mumkin.
  3. Standart buyruq qatorini ishga tushiring va unga yozing:
    powershell fayli<имя_скрипта> (masalan: powershell - myscript.ps1 fayli)

Agar ilgari PowerShell skriptlarini ishga tushirmagan bo'lsangiz, ehtimol siz quyidagi xabarni olasiz: Faylni yuklab boʻlmadi<имя_скрипта>, chunki bu tizim uchun skriptni bajarish taqiqlangan. Qo'shimcha ma'lumot olish uchun "get-help about_signing" yozing. Buning sababi, xavfsizlik nuqtai nazaridan va zararli kodning tasodifiy bajarilishini oldini olish uchun barcha skriptlar raqamli imzolangan bo'lishi kerak.

Imzolanmagan PowerShell skriptining bajarilishiga qanday ruxsat berish mumkin?

1. PowerShell'da, skriptni ishga tushirishdan oldin joriy qobiq seansi uchun imzolanmagan skriptlarni bajarishga ruxsat berish uchun buyruqni bajaring:

Set-ExecutionPolicy RemoteSigned -Scope jarayoni

2. Ishga tushganda standart buyruq satridan-executionpolicy parametridan foydalaning, ya'ni. skriptni shunday ishga tushiring:

<имя_скрипта>

Ikkala usul ham siyosatni faqat joriy seans uchun o'rnatadi, ro'yxatga olish kitobida yozilgan PowerShell skriptlarini bajarish uchun xavfsizlik siyosati o'zgarmaydi va bir xil bo'lib qoladi. Agar siz skriptni bajarish xavfsizlik siyosatini "doimiy" ga o'zgartirmoqchi bo'lsangiz, quyidagi usuldan foydalaning:

3. Ishga tushirishga abadiy ruxsat bering: PowerShell-ni administrator sifatida ishga tushiring, so'ngra buyruqni bajaring:

Set-ExecutionPolicy RemoteSigned

Eslatma: Agar skript Internetdan yuklab olingan bo'lsa, ishga tushirishni tasdiqlash so'roviga yo'l qo'ymaslik uchun siz RemoteSigned o'rniga Bypass-dan foydalanishingiz kerak - har qanday so'rov va ogohlantirishlarni butunlay o'chirib qo'ying.

PowerShell skriptini fonda qanday ishga tushirish kerak?

Buning uchun faqat ishga tushirish parametridan foydalaning -WindowStyle, u quyidagi qiymatlarni qabul qilishi mumkin: Oddiy, Minimallashtirilgan, Kattalashtirilgan va Yashirin. Shunday qilib, fonda imzolanmagan skriptni ishga tushirish uchun siz quyidagi buyruqni bajarishingiz kerak:

powershell -executionpolicy RemoteSigned -WindowStyle Hidden -fayl<имя_скрипта>

Agar xohlasangiz, skript hech qanday savol bermasligi uchun -NonInteractive-ni ham qo'shishingiz mumkin. Shunday qilib, skript foydalanuvchi tomonidan sezilmasdan bajariladi. Ushbu usuldan foydalanganda ehtiyot bo'ling.

Parametrlar bilan PowerShell skriptini ishga tushirish

Haqiqiy ishga tushirish xuddi ishga tushirilgandek amalga oshirilishi kerak muntazam dastur yoki parametrlari bilan bat fayli. Masalan, buyruq satridan parametrlar bilan skriptni ishga tushirish uchun siz quyidagi buyruqni yozishingiz mumkin:

powershell -executionpolicy RemoteSigned -fayl<имя_скрипта>param1 param2 "boshqa matn parametri"

Skriptning o'zida siz quyidagi parametrlarni olishingiz mumkin:

Param ($var1, $var2, $var3) echo $var1, $var2, $var3

PowerShell ISE-da siz buyruqlar panelidan foydalanib, xuddi shu tarzda parametrlari bilan skriptni ishga tushirishingiz mumkin.

Yorliq yordamida PowerShell skriptini qanday ishga tushirish kerak?

Ushbu vazifani ikki yo'l bilan bajarish mumkin:

  1. Skriptni ishga tushirish buyrug'ini yozish uchun bat/cmd faylini yarating (yuqoridagi parametrlarni o'qib chiqdingiz)
  2. PowerShell-ga yorliq yarating, uni c:\Windows\System32\WindowsPowerShell\v jildidan topishingiz mumkin.<версия>\ va "Ob'ekt" maydonidagi yorliq xususiyatlariga kerakli parametrlarni qo'shing.

Shunday qilib, masalan, yugurish uchun powershell skripti Foydalanuvchi tizimga kirganda, siz shunchaki 2-bandda tavsiflanganidek yorliq yaratishingiz va uni ishga tushirishga joylashtirishingiz mumkin. Bundan tashqari, yuqoridagi usullardan biri yordamida yorliq yaratish sizga skriptni administrator yoki boshqa foydalanuvchi sifatida oddiy dastur sifatida osongina ishga tushirish imkonini beradi.

PowerShell skript tili turli muammolarni hal qilish uchun juda kuchli vositadir, lekin u nafaqat yaxshi narsalar uchun, balki yomon narsalar uchun ham ishlatilishi mumkin, shuning uchun undan oqilona foydalaning;)