Powershell misollar. Windows uchun PowerShell skriptlari misollari. Windows Powershell yordamida papkani ulash uchun ruxsat

Ma'lumotlarni chiqarish uchun PowerShell kompakt-disklari

Odatda, ba'zi bir chiqimlar PowerShell paytida ishlab chiqariladi. Ushbu ma'lumotni chiqarish uchun maxsus Out-cmdlets (nomini Out- bilan boshlagan cmdlets) mavjud. ijro PowerShell buyruq ma'lumotlarni qaytadi, ular qayta ishlanib va ​​(ekran, bir fayl, printer, va boshqalar), bir chiqish qurilmasiga yuboradi Out-Cmdlet kiritish uchun quvur etiladi.

Birinchi misol, tirnoq belgilari ichiga olingan satrdagi belgilarga ega bo'lgan mag'lubiyatga ob'ektni belgilaydi. Ko'plik o'zgaruvchining nomini ishlatsangiz, qobiq umuman qiziqtirmaydi. Qobiq uchun ham xuddi shunday. Biroq, agar biror o'zgaruvchi bir necha qiymatlarni o'z ichiga olsa, faqat bitta qiymatdan foydalanish uchun maxsus sintaksidadan foydalanishingiz mumkin.

Eng yaxshi usul sifatida, agar siz boshqacha qilib aytadigan bo'lsak, ma'lum bir sababga ega bo'lmasangiz, o'zgaruvchini cheklash uchun tirnoq belgilari foydalaning. Ikkita tirnoqlardan foydalanishni istagan uchta maxsus misol bor. Birinchidan, o'zgaruvchining tarkibini mag'lubiyatga kiritish kerak bo'lganda.

Ushbu cmdletlarni ko'rish uchun quyidagi buyruqni bajaring:

Get-Buyruq -Verb Out

Out-Host

Out-Host cmdletasi ma'lumotlar ekranda ko'rsatiladi. Masalan:

Get-Process powershell | Out-Host

Biroq, buyruq tugaguniga qadar Out-Hostni qo'shish kerak emas. Quvurning oxirida, odatiy bo'lmagan, odatiy bo'lmagan buyruq, bu har bir narsani Out-Host-ga yo'naltiradi. Ya'ni. oldingi buyruq buyrug'i bilan mos keladi:

Kompyuterni PowerShell bilan sinab ko'rish

Bu ularni birlashtirishga hojat qoldirmasdan satrlarni birlashtirish uchun ajoyib ishora. Nihoyat, satrda bitta tirnoq bo'lishi kerak bo'lsa, ikkilik tirnoqlardan foydalaning. Ikkita tirnoq barcha kontentni o'z ichiga oladi. Eslatib o'tamiz, aslida faqat tashqi savdo kotirovkasi muhim ahamiyatga ega. Bitta tirnoq harflari harflar bilan ifodalanadi. "Nom" kabi oddiy simlar ham "Tizim" turiga kiradi. O'zgaruvchining nomidan keyingi davrni qobiqni tushuntirish uchun foydalaning: bu o'zgaruvchining ichidagi barcha obyektga kirishni xohlamayman.

Get-Process powershell | Out-Default

bu o'z navbatida buyruqqa tengdir:

Qabul qilish jarayonini kuchaytirish

Darhaqiqat, chiqish mexanizmi ham shubhali. Esingizda bo'lsa, PowerShell natijasi ob'ektlar. cmdlet Out-har qanday ob'ekt bilan ishlash uchun, lekin faqat ob'ektlarni formatlash, shuning uchun bir ob'ekt sabab formatlash cmdlet'ler (Format- *) bir olsa, maxsus turi bilan emas. Format-cmdlet cmdlet qurilish chiqish ma'lumotlarining tartibini bayon Out-formatlash ob'ektlarni beradi, va Out-cmdlet kerakli qurilma ularni yuboradi. Ya'ni. buyruqni bajarishda:

Davrdan keyin nom yoki usulni tanlang. Usullarning nomlari doimo bir qator parentezlar bilan birga keladi. Ba'zi usullar kiritish argumentlarini qabul qiladi va ular vergul bilan ajratilgan ro'yxatda parantez ichida joylashgan. Boshqa usullar argumentlarni talab qilmaydi va keyin parantezlar bo'sh, ammo braxeni unutmang.

5-satrda qavslar tomonidan ta'qib qilingan vaqtdan so'ng uning nomini ko'rsatib, qanday usulda foydalanish mumkinligini ko'rsatib beradi. Vaqt, odatda, o'zgaruvchining nomidagi bekor belgidir, chunki bu muddat biz mulkka yoki usulga kirishni xohlayotganimizni bildiradi. Bu quyidagi misolda ikkinchi satr kutilganidek ishlamaydi degan ma'noni anglatadi.

Qabul qilish jarayonini kuchaytirish

aslida, jamoa ishlaydi:

Get-Process powershell | Format-jadval | Out-Host


Buyruqning oxirigacha Out-Xost qo'shilsa-da, ixtiyoriy, lekin ba'zi hollarda qulay. Misol uchun, uning kalitiga ega Paging, u bilan siz diskretli chiqishni tashkil qilishingiz mumkin:

Foydali Windows PowerShell cmdlets

Boshqacha qilib aytadigan bo'lsak, Qavslar qobiqni "birinchi ishga tushirish" uchun aytadi. Qavslar ichidagi butun iborani ushbu ifodadan hosil qilingan barcha iboralar o'zgartiradi. Mana, ba'zi bir misollar. Ushbu maqolani o'qish biroz kuch talab qiladi. Qavslar ichida ifoda bilan boshlang. Birinchi qator elementga kirish birinchi xizmatdir. Bir davrni kuzatib borganimizdan keyin biz butun xizmatning ob'ektiga emas, balki xususiyatlar yoki xizmatlarga murojaat qilmoqdamiz.

Nihoyat, biz faqat xizmat nomini olishimiz mumkin. Ikkinchi satrda, Qavslar ichidagi iboralar tarkibni o'qiydi matnli fayl. Dastur doirasi - konteynerizatsiya tizimi vazifasini bajaradigan dasturiy tushunchasi. Qobiq joylarning ierarxiyasini qo'llab-quvvatlaydi va domenlarning o'zaro axborot almashinuvi va o'zaro axborot almashinuvini belgilovchi qoidalarga ega.

Get-Process | Out-Host -Paging


Out-File cmdletasi chiqishni belgilangan faylga yo'naltiradi, masalan:

Get-Process powershell | Proc.txt faylidan tashqarida

Odatiy bo'lib, fayldagi ma'lumotlar o'chiriladi. Mavjud faylni kalitni ko'rsatish orqali yozishni taqiqlashingiz mumkin NoClobber, va siz mavjud faylga ma'lumotlarni kiritishingiz kerak bo'lsa, siz kalitdan foydalanishingiz mumkin Qo'shish, faylning oxiriga ma'lumotlarni qo'shib beradi:

Kabukning o'zi butun mintaqa deb ataladigan yagona mintaqadir. Buyruq faylini ishga tushirganingizda, u yangi hajm hosil qiladi va uning ichida skript ishlaydi. Yangi o'zgaruvchi kabi skript tomonidan yaratilgan har qanday matn skriptning bir qismi sifatida saqlanadi. Yuqori darajali qobiqdan o'tish mumkin emas.

Buyruqlar ijro etilgandan so'ng, uning ko'lami bekor qilinadi va bu doirada hech narsa yaratilmaydi. Masalan, quyidagilarni o'z ichiga olgan skript yarating va konsol oynasida ushbu buyruqni ishga tushiring. Skript tugagandan so'ng, yaratilgan hamma narsadan voz kechildi. O'rnatilgan funktsiyalar bilan barcha qobiqda emas. Modul kabi elementlar butun dunyo bo'ylab qayta ishlanadi. Buyruq fayli modulni yuklay oladi va skript tamomlanganida modul o'rnatilgan bo'ladi.

Get-Process powershell | Proc.txt faylidan tashqari fayl


Faylga chiqish uchun qisqartirilgan sintaksisini ishlatishingiz mumkin. Masalan:

Get-Process powershell\u003e proc.txt dasturidan foydalaning

yoki fayl oxiriga qo'shiladi:

Get-Process powershell \u003e\u003e proc.txt

Out-GridView

Out-GridView cmdletasi ma'lumotlarni grafik jadvalda ko'rsatib, unda kerakli xarakterga ko'ra filtrlash va tartiblash mumkin. Aniqlik uchun kalitni tanlashingiz mumkin Sarlavha, bu sarlavha ostida ko'rsatiladi:

Aynan shu sababli, Deere skriptga kirganingizda taxallus bilan ishladi. Biroq, maydon yuqori darajadagi hududga ega bo'lgan element bilan bir xil nomdagi elementni yaratishi mumkin. Bu ikkinchi marta bajarilgan ish. Vazifalar parametrlarga kelganda, bu juda chalkash bo'lishi mumkin. Odatda, ma'lum bir dastur hech qachon o'zgaruvchilardan tortib, doiradan tashqaridagi elementlarga murojaat etmasligi kerak.

Siz o'zingizning asosiy skriptlaringizni ko'rib chiqamiz, ammo har doim bu mavzuda qo'shimcha yordamni olishingiz mumkin. Uning to'liq shaklida, xuddi shunday. Ifoda noto'g'ri bo'lsa, buyruqlar bajarilmaydi. Agar siz barpo qilsangiz, albatta, bu sizga kerak. Ular qurilish uchun xuddi shunday ishlaydi.

Get-Process | Out-GridView -Title jarayonlari


PowerShell Out-GridView ning uchinchi versiyasini ishga tushirish uchun kalitni qo'llab-quvvatlaydi PassThru, qabul qilingan ma'lumotni konveyerga uzatish imkonini beradi. Misol uchun, siz to'xtating-jarayoniga, tanlangan jarayonini to'xtatadi qaysi kerakli tanlang va Cmdlet ularni o'tkazish uchun snap grafika jarayonlarni ro'yxatini ko'rishingiz mumkin:

Qavslar ichida ifodalarini ifodalaydi. Birinchi haqiqiy ifoda bilan bog'liq blok faqat bajariladi. Bundan tashqari, ushbu tuzilmalar qanday shakllantirilganligiga e'tibor bering. Siz formatlashni ko'rishingiz mumkin, ba'zi bolalar kabi. Kalitlarni qaerga qo'yganingizdan qat'iy nazar. Biroq, sizning buyurtmangizni skriptlarni o'qishni osonlashtiradigan joyga rozi bo'lishingiz muhim. Bundan tashqari, bir xil darajaga, kalitlar ichidagi har bir satrga qadam qo'yish muhimdir.

Sizning kodingizni kiritishingiz tavsiya etilgan asosiy amaliyotdir. Aks holda, murakkab skriptlarda kalitlarni ochish va yopish orqali to'g'ri vaqtni topish qiyin bo'ladi. Bu yomon formatlangan skriptni ko'rib chiqaylik. O'qish, disk raskadrovka, muammolarni bartaraf etish va qo'llab-quvvatlash juda qiyin. Qavslar yopilgandan keyin bo'sh joy ixtiyoriy bo'lsa-da, bu skriptni o'qishni osonlashtiradi. Teskari kod talab qilinmaydi, lekin quyidagi stsenariyni soddalashtiradi.

Get-Process | Out-GridView -PassThru | Stop-Process


Chiqarishni xohlamasangiz, Out-Null cmdlet'ini ishlating. Olingan ma'lumotlarni NULL qurilmasiga yuboradi, ya'ni. ularni yo'q qiladi. Masalan, quyidagi buyruqni bajaring:

$ Process = Get-WmiObject win32_process -Filter "Name = 'Notepad.exe'"
$ Process.Terminate ()

Qopqoqning bir qatorga joylashtirilishi qobiq uchun zarur emas, ammo inson ko'zlari tomonidan qadrlanadi. Tashkil etilgan format bo'lib, skriptlaringiz bilan kamroq muammolarga duch kelasiz. Agar biron-bir shart haqiqat bo'lsa, yoki shart to'g'ri bo'lgunga qadar ko'rsatmalar blokini takrorlash uchun mo'ljallangan. Qurilishning ushbu versiyasida jingalak qavsdagi buyruqlar har doim kamida bir marta bajariladi. Vaziyat birinchi ishlamaguncha baholanmagan. Vaqt o'tishi bilan harakat qilishingiz mumkin, bu holda buyruqlar faqatgina talablar to'g'ri bo'lsa amalga oshiriladi.

Asosiy amaliyotga qo'shimcha ravishda (jarayonni to'xtatish) ko'pgina keraksiz ma'lumotlarni aks ettiradi. Buni bartaraf qilish uchun chiqishni Out-Nullga yuboring, masalan:

$ Process.Terminate () | Out-Null

$ Process.Terminate ()\u003e $ null


Out-String komandasi kirish ma'lumotlarini bir qator qatorlarga o'zgartiradi. Aslida, Out-String PowerShell moslamalarni tekis matn (format, qidirish, va hokazo) sifatida ko'rib chiqilishi mumkin bo'lgan satrlarga o'zgartiradi.

Bu faqat sintaksikdan farq qiladi. Yangi boshlanuvchilar uchun ushbu dizaynni qadrlash oson. Argumentlar nomi bizda bir yoki undan ortiq xizmat mavjudligini eslatish uchun ishlatiladi. Buning sababi shundaki, bu ko'plik bu qobiqning o'ziga xos tarzda harakat qilishiga olib kelmaydi. Har safar bir ob'ektni ikkinchi o'zgaruvchidan oladi va uni birinchi o'zgaruvchiga qo'yadi. Ushbu konstruktorning ichida bitta ob'ekt bilan ishlash uchun birinchi o'zgaruvchini ishlating. Uchinchi satrda "Men butun ob'ekt bilan, uning a'zolaridan bittasi bilan - Stop uslubi bilan ishlashni istamayman" degan davrni bildiradi.

Masalan, jarayonni $ a o'zgaruvchiga saqlaymiz va ma'lumot turini ko'rib chiqamiz:

$ a = Get-Process powershell
  $ a.GetType ()

Keyin biz Out-String tarkibini beramiz va chiqdi $ b o'zgaruvchiga saqlaymiz:

$ b = $ a | Out-String
  $ b.Get-Type ()

Masalan, Out-String usulida, Jarayonning ma'lumotlar turi va String chiqqandan ko'rishingiz mumkin.


Bu vazifani bajarishning yagona usuli ekanligiga ishonch hosil qiling. Ushbu usulni ko'plab ob'ektlarga qarshi ishlatish kerak bo'lganida va mos keladigan ishni bajaradigan bir cmdlet mavjud. Ko'p narsalarga ega bo'lganingizda va ularning har biriga nisbatan bir nechta ketma-ket harakatlar qilishingiz kerak. Bir vaqtning o'zida ob'ektga nisbatan amalga oshiriladigan ishingiz bo'lsa, lekin skript bir yoki bir nechta ob'ekt bilan ishlashi mumkin va siz oldindan bilishingiz mumkin. Ba'zan bu erda tasvirlangan tuzilmalardan boshqa dizaynlarni almashtirish uchun foydalanishingiz mumkin.

Out-String boshqalardan asosan farq qiladi. Odatdagidek tashqarida ishlaydigan komandalar oldingi buyruqlar natijalari bilan ishlayotganligi sababli ular o'zlari ishlab chiqaradigan mahsulotni ishlab chiqarmaydi. Shuning uchun buyruq komandasi odatda buyruq satrining oxirgi qismidir, chunki u keyinchalik boshqa komitetlar bilan ishlashi mumkin bo'lgan quvurda hech narsa qolmaydi.

Misol uchun, aylanish jarayoni o'n marta amalga oshiriladi. Bu ishni bajarish uchun eng yaxshi dizayni tanlash siz uchun. Internetni skriptlar uchun ko'rib chiqayotgan bo'lsangiz, har qanday o'zgarishlarni boshlash uchun tayyor bo'ling. Funktsiya noyob va muayyan vazifani bajaradigan tegishli buyruqlar guruhini o'z ichiga oladigan maxsus qurilish turi hisoblanadi.

Parametrlarni skriptga qo'shish

Biroq, keyingi satr sakkizinchi qatorda bo'ladi va bu xatoga olib keladi. Buyruq fayli ikki funktsiyani o'z ichiga olmaydi. Natijada, bu funktsiya doirasida mavjud. Funksiyaning ichida faqatgina boshqa funktsiyalar, siz ikkitasini ko'rasiz. Har qanday joydan ikkita qo'ng'iroq qilishga urinib ko'ring xatolarga olib keladi. Har safar boshlaganida xuddi shu narsani bajarish uchun yaratilgan skript yaratish juda kam. Ko'pincha siz o'zgarmaydigan ma'lumotlar yoki o'zgaruvchilarning xatti-harakatlarini o'z ichiga olgan skriptlarga ega bo'lasiz.

Out-String ob'ektlardan farqli o'laroq, ob'ektlarni qabul qiladi, ularni qator qatorlarga aylantiradi va ularni quvur bo'ylab uzatadi. Odatiy bo'lib, ma'lumotlar bir qatorda yig'iladi va qaytariladi, lekin kalit bilan Oqim   har bir ob'ekt uchun alohida satrda chiqishni belgilashingiz mumkin.

Masalan, tizim xizmatlarini barcha xususiyatlar bilan ro'yxatlashtiramiz va uni jadval shaklida formatlashamiz:

PowerShell va batga qarshi

Mana, qanday ishlashini batafsil tahlil qilish. Agar parametr nomlarini ishlatmasangiz, moslashuvchan bo'lishi qiyinroq. Bundan tashqari, boshqa birov uchun, tushungan narsangizni tushunish qiyin, bu esa har qanday muammolarni hal qilishni qiyinlashtiradi. Eng yaxshi misol beshinchi yo'nalishdir. Ularning tartibini eslashning hojati yo'q.

  • 4-satr ehtiyot bo'lmasangiz, nima sodir bo'lishini ko'rsatadi.
  • Ehtimol, yo'q.
Bu sizga kerak bo'lganda parametrni e'lon qilish, quvur liniyasi haqidagi yozuvni kiritish va hokazolarni beradi. u oldin izoh berishga haqli, lekin bundan keyin.

Get-xizmat | Format-jadval -Property * -AutoSize

Konsolning kengligi 80 belgigacha cheklanganligi sababli, ko'pgina ma'lumotlar qirqib olinadi, bu juda yaxshi emas.


Chiqib ketmaslik uchun, uni Out-Stringga yo'naltiramiz va kenglikni oshiramiz:

Get-xizmat | Format-jadval -Property * -AutoSize | Out-String - 1024 kengligi

Oxirgi parametrda maxsus ko'rsatmalar mavjud emasligiga e'tibor bering va barcha uch parametr ro'yxatda ko'rsatiladi, u vergul bilan ajralib turadi. Yordam bo'limida tanishishingiz mumkin bo'lgan parametrni belgilashingiz mumkin bo'lgan ko'plab ko'rsatmalar mavjud.

Umid qilamanki siz yangi narsalarni o'rganasiz. Odatda fe'l bo'lgan birinchi atama bizga qaysi turdagi operatsiyani amalga oshirishni bildiradi. Keyingi a'zodan nima bo'lishidan qat'iy nazar javobgar bo'ladi. Ikkala elementning to'g'ri hizalanması vaziyat uchun mos bo'lgan buyruqlar osongina va sezgir tarzda sozlash imkonini beradi. Biroq, uning avvalgi bilan solishtirganda, u biroz boshqacha ishlaydi. Buning natijasida biz erishgan natijalar oddiy matn emas. So'rovning natijasi, hatto matn shaklida bo'lsa ham, aslida o'z xususiyatlariga va usullariga ega bo'lgan ob'ektdir.

Endi barcha ma'lumotlar ekranga yetib keldi, lekin u hali juda yaxshi ko'rinmaydi.


Out-String chiqimini Out-File cmdlet-ga o'tkazish orqali vaziyatni to'g'rilash:

Get-xizmat | Format-jadval -Property * -AutoSize | Out-String - Qoidalar 1024 | Out-File service.txt

Chiqarishda faylni kerakli kenglikdagi jadvalga ega qilamiz va ko'rish uchun scrollbar mavjud. Shu tarzda, deyarli har qanday kenglikdagi jadvallarni yaratishingiz va ko'rib chiqishingiz mumkin.

Ushbu yondashuv tufayli matnni to'liq tahlil qilish zarurati yo'qligi bilan atributlar qiymatini olishimiz mumkin, chunki aslida qoniqarli natijalar bermaydi. Ushbu echim quvur liniyasidagi ma'lumotlarni qayta ishlashga mo'ljallangan quvurlardan foydalanishga imkon beradi.

Parametrlarni bitta buyruqdan ikkinchisiga avtomatik uzatishni o'z ichiga oladi, bu butun bir buyruq sifatida ko'rib chiqiladi. Shuning uchun, faol katalog elementlarini yozing. Qaysi ob'ektni xususiyatlari va qanday usullardan foydalanishimiz mumkinligini ko'rsatish uchun ishlatiladi. Qo'llanmaning o'zi sizning ma'lumotlaringizning to'rt qatorini olish imkonini beradi. Asosiy ma'lumot - oddiy ta'rifi va buyruqlar sintaksisi taqdimoti, misollar - dastur ma'lumotlarni misollar bilan jamoasi Tavsif - buyruq variantlari va misollar tavsifi, to'liq axborot - sintaktik, parametrlari tavsifi o'z ichiga to'liq texnik hujjatlar va ularning individual xususiyatlari va misollar. Qurilish funktsiyalari va modullarining soddaligi har bir boshqaruvchining shaxsiy ehtiyojlariga qarab o'z echimlarni yaratishga imkon beradi.


Out-Printer cmdletasi chiqdi printerga yo'naltiriladi. Masalan:

Get-xizmat | Format-jadval -Property * -AutoSize | Out-File service.txt -Danimal 1024
Get-Content xizmati.txt | Out-Printer

Chiqish tizimda belgilangan printerga yuboriladi. Muqobil printerni aniqlash uchun kalitni ishlatishingiz mumkin Ism.

Ma'muriyat har doim ijodkorlik uchun joyga ega. Muntazam vazifalarni avtomatlashtirishni xohlaysizmi? Iltimos! Faoliyatni muntazam tekshirib turish kerakmi? Bir savol emas! Katta bir hisobotni qayta ishlash va faqat haqiqiy ma'lumotlarni ko'rsatishni xohlaysizmi? Bundan tashqari, mumkin. Bularning barchasi va boshqa ko'plab vazifalar buyruq fayllari yordamida eng yaxshi echimga aylanadi va Windows uchun PowerShell tili eng yaxshi tanlovdir.

PowerShell nima va nima uchun u yaxshi?

UNIX va Linux foydalanuvchilari va ba'zi bir nuqtadan va makoslardan foydalangan holda, har doim bir Bashni qo'llaydigan - biroz eskirib qolgan, ammo universal va kuchli vosita bo'lib, siz ajoyib narsalarni faqat bir juft yo'nalish bilan yaratishingiz mumkin. Cronda yangi skriptni ro'yxatdan o'tkazasiz - va u tayyor, u allaqachon kompyuterda yoki serverda ishlaydi va tinchgina foydali narsalar qiladi.

Windowsga qaytib (va ba'zan buni ba'zan) yaxshi deb bilaman, ammo scripts.bat yaxshi bo'lsa ham, ular doimo saqlanmaydi: ularning imkoniyatlari juda cheklangan. Agar siz hali ham PowerShell - bu noma'lum narsa deb hisoblasangiz, unda siz ko'tarish va moslashtirish uchun biror narsa kerak bo'lsa, unda natijalarga shoshilmang - agar tushunsangiz, u ham yomon emas.

Windows PowerShell qobiqdan (masalan, buyruq satri) va skript tilini tanlash. Bu birinchi marta 2003 yilda (keyin Monad deb nomlangan) ko'rsatildi. PowerShell 2.0 Windows 7 va Windows Server 2008 R2 ning bir qismi sifatida chiqarildi va shu vaqtdan boshlab Windowsda standart komponent sifatida mavjud edi. U hatto Windows XP SP3 ga qo'shilgan. PowerShell, .NET Framework tizimiga qurilgan va u bilan birlashtirilgan. PowerShell MAQOMOTI, WMI va ADSI ga kirishi mumkin va, albatta, konsol buyruqlarini bajaradi.

Umuman olganda, "tikuvchi" Microsoft-ning mahsulotlari bilan, masalan, Active Directory yoki Exchange pochta serveri bilan kuchli aloqada. Bu esa, server konsoli orqali ularga ulanmasdan va buyruqlar berishni xohlamasdan kirish imkonini beradi.

Agar siz oldin PowerShell bilan qiziqmagan bo'lsangiz, unda siz ikkinchi versiyaga ega ekansiz. Men kamida uchinchi darajaga ko'tarishni tavsiya etaman - u juda ko'p xususiyat va foydali fişlarni o'z ichiga oladi. Tafsilotlarigacha kirmasangiz, PowerShell 2.0 da o'nlab modul va taxminan 350 ta buyruq mavjud. PowerShell 3.0 da 70 dan ortiq moduldan taxminan 2300 cmdlet mavjud. "Hacker", shuningdek, Windows PowerShell-ning beshinchi versiyasini Windows 10'dan ajratib turadigan narsalar haqida yozdi.

Rivojlanish muhiti va vositalarini tanlang

Keling, kod yozishning eng yaxshisi ekanini aniqlaylik. Siz, albatta, va Notepad, Notepad ++ yoki Sublime-dan foydalanishingiz mumkin. Lekin bu holda bu muharrirning eng yaxshi tanlovi emas. PowerShell bilan tanishishni boshlash yaxshi.



Hatto muharrir ham emas, bu deyarli to'liq rivojlanish muhiti. IntelliSense funktsiyasi bu erda sizga cmdletlar ro'yxati va ularning parametrlari, o'zgaruvchilar, yordamchi dasturlar va boshqalarni ko'rish imkonini beradi. Parchalarni qo'llab-quvvatlaydi, turli xil plaginlardan kelib chiqqan vazifani kengaytirish imkoniyati mavjud. Juda foydali va buyruqlar oynasi. Unda siz ingl. Rejimda buyruqlar qilishingiz mumkin: siz modulni tanlaysiz, zarur cmdletni topasiz va unga kerakli parametrlarni o'rnating. Olingan buyruqlar konsolga ko'chirilishi yoki darhol bajarilishi mumkin. Odatda, administrator uchun dizayner. Va, albatta, sintaksisi ta'kidlab, xato ayıklayıcısını va juda ham ko'p.

Shunga qaramay, PowerShell ISE ham munosib raqobatchilarga ega. Ulardan biri - .

PowerGUI PowerShell uchun ingl. Qo'shimcha hisoblanadi. Kerakli cmdletlarni tanlashdan oldin o'z skriptlarini yig'ishni osonlashtiradi. Muammoni hal qilish uchun zarur bo'lgan narsani olasiz va skriptni qo'lga kiritmaguningizcha kod qismlarini harakatlantiring. PowerGUIning asosiy xususiyatlaridan biri - Power Packs, foydalanuvchilarning jamoatchilik tomonidan nashr etilgan va bepul kirishga mo'ljallangan tayyor skriptlar. Foydalanuvchilarni qo'shish kabi oddiy buyruqlar va switchlarni va virtual mashinalarni boshqarish kabi murakkab buyruqlar mavjud. Ularning barchasi ehtiyojlariga ko'ra qo'shimcha va o'zgartirishga oson.



Sapien firmalari - ko'plab ishtirokchilar tomonidan bir loyihani birgalikda ishlab chiqishga mo'ljallangan yanada rivojlangan muhit. Agar siz hech qachon Visual Studio bilan ishlamasangiz, unda o'xshashlikni ko'rasiz deb o'ylayman. PowerShell studiyasining foydali xususiyatlari orasida Tasma paneli, masofadan nosozliklarni tuzatish uchun qo'llab-quvvatlash va ijro qilinadigan fayllarda skriptlarni qo'shishga imkon beradigan kompilyator vazifalari mavjud. PowerShell-ning turli versiyalarini qo'llab-quvvatlaydi.



Windows PowerShell ISE uchun skript brauzerini eslatib turish kerak. Bu rivojlanish muhiti emas, Microsoft tomonidan ishlab chiqilgan qiziqarli vosita. Skript brauzeri kodingizni yozish uchun namunalar sifatida foydalanishingiz mumkin bo'lgan tayyor skriptlarning ma'lumotlar bazasiga kirishni ochadi. Va bu narsa siz yozayotgan kodni tahlil qila oladi va uni qanday qilib yaxshilash kerakligini aytadi.



Bir nechta foydali fokuslar

Tahrirlovchini ko'rib chiqib, kod yozishni boshlashingiz mumkin. PowerShell oddiy tildir va men nima ekanligini tezda aniqlaysiz deb o'ylayman. Bu erda buyruqlar komandalar deb ataladi va ularning har biri ikki qismdan iborat. Birinchisi, bir harakat bor, masalan, Get, Set, Add, Invoke, Remove. Shundan so'ng, amallar quyidagilardan iborat: Xizmat, VM, AzureAccount, DHCPServerSetting. Har bir qism boshqa chiziqcha bilan ajralib turadi. Bu, masalan, jarayonni boshlash uchun chiqadi. Bu, shuningdek, jarayonlarning ro'yxatini aks etadigan foydali buyruqlardir. Masalan, agar yozsak

olish - xato BadTh *

biz shunday bir narsani ko'ramiz:

NPM (K) PM (K) WS (K) VM (M) CPU (lar) Id Idrok nomi

------------------------

28 4 - 210844 - 201128 - 163 25.67 2792 BadThread

Endi osilgan jarayonni yakunlashingiz mumkin:

Siz biroz murakkabroq mantiq bo'lsa-da, yaqqol ko'rinadi:

Siz ham ishlashingiz mumkin

Darvoqe, parametr qutisidagi har bir maydon uchun hisob qaydnomasi   yoki kompyuterda ma'lumotlarga kirishingiz va o'qishingiz mumkin. Shunday qilib, siz butun chiziqlarni yaratishingiz mumkin. Bu erda, masalan, telefon raqamlari bo'yicha ma'lumotlarga asoslangan so'rov:

Get - AdUser - Filtrni * - Xususiyatlar OfficePhone | FT OfficePhone, UserPrincipalName

PowerShell va batga qarshi

Ba'zan bu muammoni ham eskicha eskirib qolgan usuli, ham echimini topish mumkin powerShell. Men sizni tezroq o'rganishingiz va uni qiyin vaziyatlarda qo'llashingiz mumkin bo'lsa, dangasa bo'lish va PSni ishlatmaslikni tavsiya qilaman. Bundan tashqari, siz sintaksisini asta-sekin baholaysiz - yanada oqlangan va izchil. Bu erda avval qanday ishlar qilinganligi va PowerShell bilan qanday bajarilishi mumkinligi haqidagi ayrim misollar keltirilgan.

Siz maqolani yoqtirasizmi? Do'stlar bilan o'rtoqlashing: