Windows 7 da Powershell faylini ishga tushiring. Powershell: dastur bilan ishlash, skriptlarni yaratish, ishga tushirish va o'zgartirish. Windows PowerShell versiyalari

Golovna / Zohist

PowerShell-da bir qator o'chirish rejimlari mavjud bo'lib, ular qaysi turdagi kodni o'zgartirishga ruxsat berishini aniqlaydi. Hamma narsa HKLMda yashovchi ro'yxatga olish kitobi kaliti tomonidan boshqariladi. 4 xil tomosha rejimidan foydalaning:

obmezheny(Cheklangan): Siyosat sukut boʻyicha, skript yaratishga ruxsat bermaydi va faqat interaktiv buyruqlarga ruxsat beradi.

Imzolangan bo'lishi kerak(Hammasi imzolangan): Robotga barcha skriptlarni ishga tushirishga ruxsat beradi. To'g'ri, barcha skriptlar va konfiguratsiya fayllari siz ishonadigan kishi tomonidan imzolangan bo'lishi kerak; Daniya rejimi guvohlar tomonidan tasdiqlash tasdiqlangandan so'ng, siz (ale shkídlivih) skriptlarni imzolash xavfi uchun jazolanasiz.

Vidal imzolar(Masofadan imzolangan): Mahalliy skriptlar imzosiz ishlaydi. Ona raqamli imzosi tufayli skriptlarni yuklab olish kerak.

Mebelsiz(Cheklanmagan): Aloqa dasturlaridan olib tashlangan skriptlar va konfiguratsiya fayllarini Microsoft Outlook, Internet Explorer, Outlook Expressí Windows Messenger fayl Internetdan kelganligini bilganingizdan so'ng ishlaydi; yo'q raqamli imzolar kerak emas; Ushbu rejim sizni robotlar va imzosiz, shkidlivih skriptlari xavfi uchun jazolaydi.

PowerShell aktsiyalari ortida "Flame" rejimi mavjud. Ushbu rejimda PowerShell interaktiv qobiq kabi ishlamaydi. Siz skriptlarning ishlashiga ruxsat bermaysiz va faqat konfiguratsiya fayllarini zavantazhu, go'yo ular siz ishonadigan odam tomonidan imzolangan.

Agar siz keskin qizil kechirim qabul qilsangiz, unda, qoida tariqasida, sizning tashqi ko'rinishingiz o'z-o'zidan paydo bo'ladi, shuning uchun siz imzosiz skriptni ishga tushirishga harakat qilyapsiz. Muammoni hal qilishning eng xavfsiz usuli - bu siyosatni to'siqsiz qilib o'zgartirish, skriptni ishga tushirish va keyin panjara siyosatiga qaytish.

Siyosatni yopiq bo'lmaganga o'zgartirish uchun PowerShell ma'muriyatida quyi darajadagi buyruqni bajaring:

O'rnatish-ExecutionPolicy Cheklanmagan

Iltimos, tasdiqlashni so'rang. Enter tugmasini bosing.

Endi siz quest skriptini ishga tushirishingiz mumkin. Biroq, siz jiddiy xavf-xatarga duch kelyapsiz, shuning uchun robot skriptini tugatgandan so'ng, siyosatni cheklov rejimiga qaytarishni unutmang. Siz buni hujumkor jamoaning yordami uchun qilishingiz mumkin:

Oʻrnatish-ExecutionPolicy Cheklangan

Men yana tasdiqlashni so'rayman. Enter tugmasini bosing.

Hammadan mendan! Sizga omad!

73095

I vichauchi menyusi Windows ishga tushadi 7 yoki kob ekran Windows 8 1, koristuvachí-pochatkívtsí ko'pincha o'zlari uchun dasturlarni ochadilar, tan olinishi ular tushunmadi. Bunday dasturlardan biri PowerShell-ning o'zi. Bu PowerShell-ning o'zi nima va u qanday ko'rinishga ega? Xo'sh, agar siz biror narsani ixtiro qilgan bo'lsangiz va uni Windows bilan birlashtirgan bo'lsangiz, demak, bu yaxshi fikr. Nutqdan oldin, PowerShellning o'zi tomonidan, nima o'ylab topilgan, ê Microsoft.


Ota,. Ushbu dastur tayinlangan, biz tizim ma'murlari oldida turibmiz va eksa oddiy, u ko'proq tomurcuklanma, o'zingiz uchun undan uzoqlashish mumkin emas. PowerShell endi standartlashtirilgan qobiqdir buyruq qatori, Operatsiya xonasi asosida kompyuterni boshqarishning katta moslashuvchanligini nima ta'minlaydi Windows tizimlari. Aslida, PowerShell bir xil buyruq qatori, Ale, lekin boy funktsional.

Ma'muriy vosita nima? Qanday bagat. Tizim administratorlari va informatorlar yordamida ular jarayonlar, xizmatlar, fayl papkalari, hisob qaydnomalari va serverlar bilan ishlashlari mumkin. Bundan tashqari, qobiq sizga yugurish imkonini beradi xorijiy buyruqlar ob'ektlar bilan mashq qilish .NET, COMі XML, turli xil fokuslar bilan ishlang va hokazo, o'zingizning stsenariylaringizni yarating va g'alaba qozoning. Nutqdan oldin Windows-da skriptlarni yozish uchun maxsus grafik konsol o'tkazildi. ISE, bu PowerShell-ning asosiy qobig'iga o'ziga xos qo'shimcha hisoblanadi.

Yak va konsol cmd, PowerShell qobig'i o'z buyruqlar to'plamiga ega bo'lishi mumkin, ular cmdletlar deb ataladi. Yordamchi dastur juda ko'p CMD buyruqlarini taniydi, lekin umuman olganda, filmning sintaksisi, cmdletlarning belgilanishi va ularning parametrlari stenografiya buyruqlar qatori kabi eshitilganiga qarab o'zgartiriladi. Bundan tashqari, buyruqlarni biling rej , cd , nusxa ko'chirish va hokazo, go'yo mo''jizaviy tarzda PowerShell-ni, aslida taxalluslarni tushunadi. Masalan, jamoa Dir qayta ko'rib chiqish uchun xizmat qiladi fayl tizimi"mahalliy" cmdletga javob bering Get-ChildItem. Taxalluslar yoki odatdagidek taxalluslar aniqlik uchun xizmat qiladi.

Ajoyib buyruq qatori asoslarini o'rganish oson bo'lmaydi, ayniqsa, ajoyib buyruq qatori asoslarini bilmasangiz. Va posíbnikív va dovídnikív, dosit zrozumílih va zavoênnya uchun oddiy, unchalik boy emas. Ê nomuvofiq yordam, Frank Koch tomonidan yozilgan, biz u bilan tanishib chiqishingizni tavsiya qilamiz, shuning uchun siz hali ham PowerShell skript filmini ishlab chiqishga jur'at etasiz. Xo'sh, bu aniq, qobiq tizimi kuchli.

Von yirtilgan va yirtilgan, maxsus dumbalari yo'q. Koristuvatisyani tugatish oson. Tizimni cmdlet orqali qanday ko'rsatish mumkinligi haqida asosiy ma'lumotlar Yordam oling. Mavjud buyruqlar ro'yxatini ko'rsatish uchun Cmdlet.

Ushbu maqolada biz Microsoft kompaniyasida ushbu texnologiyani ko'rib chiqishimiz mumkin Windows PowerShell, biz PowerShell nima ekanligini, cmdletlar va quvurlar nima ekanligini, skriptlar va modullarni qanday yozishni, shuningdek, Windows PowerShell-ning boshqa qanday muhim va qiziqarli xususiyatlari haqida gaplashamiz.

PowerShell paydo bo'lishidan oldin ( va asos) Xizmatlarni avtomatlashtirish va boshqarish uchun ilg'or vositalar: Windows buyruq qatori va Windows Script Host. Ale va texnologiyada kamchiliklar bo'lishi mumkin.

Buyruqda Windows qatorlari Ishnuê va ma'muriy vazifalarni bajarish usulini o'zgartirish imkoniyati va uni skriptdan (bat-fayl) olib, diy uchun algoritmni yozish imkoniyati, buning yordamida dasturlash elementlarini o'zgartirish mumkin, masalan, dizayn davrlarini o'zgartirish.

Kattalik dasturiy mahsulotlar sizda konsol interfeysi bor, tamom. biz robot uchun grafik interfeysi kundalik nafaqa hisob uchun resurslarni himoya qilish esa, dastur, vikorist buyruq qatorni foydalanish mumkin. Server operatsion tizimi uchun Microsoft Windows Server grafik interfeyssiz navit vypuskaê nashrlari ( Server yadrosi, Windows Server 2016 Nano Server uchun), zo'rg'a, to'siq, tobto buyruq qatori qobiliyatining parchalari. mumkin bo'lmagan narsani avtomatlashtirish uchun katlamali mantiq sifatida yozing, lekin agar bu mumkin bo'lsa, unda narxda biz bir soat va bilimga muhtojmiz.

Bundan tashqari, kichik buyruq qatori - bu to'liq miqyosli xizmat ko'rsatish uchun server tomonidan boshqa mi vikoristovuemo konsol yordam dasturlari dasturiy ta'minot mahsulotlari va shuning uchun ma'muriyat uchun buyruq qatorini yutib olish juda qiyin, chunki barcha yordamchi dasturlar turli xil sintaksis, parametrlar, aldash usullari va odatiy vazifani yutish uchun tobto'dan foydalanishi mumkin. schodenni, xotirada hammasi bir xil bo'lishi kerak va vikonannya atipik vazifalar hujjatlarni yakuniy o'qish uchun qaytarib olib kelinishi kerak.

Windows Script Host texnologiyasi sizga barcha ma'muriy vazifalarni, shu jumladan buyruqlar qatorini, shu jumladan WSH skriptlarini yozish orqali avtomatlashtirishni buzish imkonini beradi, ammo bu erda biz barcha dasturlash tilini buzishimiz mumkin ( VBScript va JScript), keyin. katlamali mantiq va algoritmlarni amalga oshirishingiz mumkin. Bundan oldin, WSH yordami uchun bizga ob'ekt interfeysi orqali dasturiy mahsulotlar kerak, aks holda Windows so'zlari Skriptni boy hosting " sovutgich» pastki buyruq qatori. ale berilgan texnologiya shuningdek, tizim ma'murlari uchun ma'muriy boshqaruvni boshqarish va avtomatlashtirish uchun ideal vositaga aylanmadi, chunki Windows Script Xost tizim ma'murlari uchun haqiqiy dastur bo'lgan boshqa dasturlash tillari ro'yxatini bilishi kerak edi. Administratorlarga kod kabi dasturlash qobiliyatiga ega oddiy ma'muriy vosita kerak, lekin ular VBScript va JScript dasturlash bilan dasturiy mahsulotlarning ob'ekt modelida yo'qolishni xohlamaydilar.

Natijada, Microsoft tizim ma'murlari uchun tizim boshqaruvchilarining barcha ehtiyojlarini 100 ming dollarga qondiradigan shunday ma'muriy vositani ishlab chiqishi kerak edi, bu ma'muriy imkoniyatlar va avtomatlashtirish nuqtai nazaridan ham, samaradorlik va soddalik nuqtai nazaridan PowerShell yutadi.

Windows PowerShell nima?

Windows PowerShell- bu Windows buyruqlar qobig'i uchun asosiy skript, chunki u Windows operatsion tizimlarini boshqarish va sozlash uchun kengaytirilgan. PowerShell CRL va .NET Framework va matnni qabul qiluvchi va aylantiruvchi buyruq qatori ko'rinishida ishlab chiqilgan, Windows PowerShell ob'ektlar bilan ishlaydi. PowerShell ob'ekti ushbu ob'ektlarni boshqarish uchun ishlatilishi mumkin bo'lgan usullardan foydalanish imkoniyatiga ega bo'lishi mumkin.

Windows Microsoft PowerShell cmdletlar tushunchasini kengaytirdi ( cmdletlar), nomlash buyruqlari tizimi sifatida " Díêslovo-Imennik". Ushbu tizim tizim ma'murlariga PowerShell bilan osonroq o'rganish va ishlash imkonini beradi.

Windows PowerShell bilan yordam olish uchun siz:

  • Fayl tizimiga kirish huquqini olish;
  • Cheruvati reestri;
  • xizmatlarni boshqarish;
  • Keruvati jarayonlari;
  • Operatsion tizimni o'zgartirish;
  • dasturiy ta'minot xavfsizligini o'rnatish;
  • Rollarni va server komponentlarini o'rnatish;
  • Rollar va server komponentlarini boshqarish va konfiguratsiyani o'zgartirish;
  • Boshqaruv va boshqaruvni avtomatlashtirish uchun stsenariylarni yozish va yozish;
  • Vikonuvat ínshí tizim ma'murlari rahbarlari.

Windows PowerShell-da buyruq satridan ishlaydigan ko'plab tez-tez ishlatiladigan yordamchi dasturlar va buyruqlar mavjud, masalan, ipconfig, ping va boshqalar. Tizim ma'murlari uchun buyruq satridan PowerShell-ga o'tishni osonlashtirish uchun u buzilgan.

Bundan tashqari, aniqlik uchun PowerShell buyruqlari va yordamchi dasturlari ko'pincha sinonim bo'lishi mumkin ( Taxallus), masalan, cls Clear-Host cmdletining sinonimi, dir Get-ChildItem ( to'liq ro'yxat sinonimlar siz Get-Alias ​​cmdletining ishga tushirilishidan hayratga tushishingiz mumkin).

PowerShell-da buyruq so'rash uchun maxsus Get-Command cmdleti mavjud bo'lib, uning yordami uchun siz so'rovni harf va nomda yuborishingiz mumkin. Barcha Windows PowerShell buyruqlari modullarda guruhlangan ( masalan, Hyper-V, NetTCPIP), bu ham kerakli buyruqni qidirishni osonlashtiradi.

Buyruq ma'lum bo'lgach, siz buyruq bilan ishlash bo'yicha ko'rsatmalarni ko'rishingiz mumkin, keyin. tekshirish, buning uchun maxsus Get-Help cmdlet mavjud, masalan, quyidagi buyruq Get-Command cmdletidagi chekni ko'rsatadi:

Get-Yordam oling-Buyruq

Windows PowerShell-dagi xulosa qisqa, batafsil bo'lishi mumkin ( parametr - Batafsil), yana ( - To'liq variant) va undan kamroq foydalanishingiz mumkin ( parametr - Misollar). Keyingi buyruq Get-Command cmdletidan foydalanishdan ko'proq narsani ko'rsatishdir:

Get-Help Get-Command -Misollar

Nimani yangilash haqida PowerShell maslahati. її U Update-Help buyrug'i bilan yangilanishi mumkin.

Windows PowerShell versiyalari

PowerShell 1.0 ning birinchi versiyasi 2006 yil 14 noyabrda chiqarildi va Windows operatsion tizimlarining keyingi versiyalarida o'rnatilishi mumkin bo'lgan ko'rinadigan taqsimotda chiqarildi: Windows XP Service Pack 2, Windows Server 2003 Service Pack 1 va Windows Vista.

Windows Server 2008 PowerShell 1.0 ham o'rnatilishi kerak bo'lgan komponent sifatida jo'natildi.

Windows 7 va Windows Server 2008 R2 dan boshlab, PowerShell tizimning ko'rinmas komponenti sifatida yuboriladi ( tobto. o'rnatish, o'rnatish yoga talab qilinmaydi). Quyida PowerShell versiyasi va Windows operatsion tizimining versiyasi ko'rsatilgan jadval ( tobto. Windows-ning ushbu versiyasida o'rnatilgan PowerShell-ning reklama versiyasi nima?):

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

3 teri yangi versiya PowerShell tobora intruziv ma'muriy vositaga aylanib bormoqda, birinchi PowerShell uchun 130 ga yaqin cmdletlar mavjud edi va PowerShell 5.0 allaqachon 600 dan ortiq!

Tan olish joriy versiya PowerShell o'zgartirilgan $PSVersionTableda PSVersion quvvatiga yordam berishi mumkin, masalan, quyidagi buyruqni kiriting:

$PSVersionTable.PSVersion

Yoki cmdlet-ni ishga tushiring

Get-Variable -Name PSVersionTable -ValueOnly

PSVersion-ni qadrlang va PowerShell versiyasi bo'ling.

Mova PowerShell

PowerShell- barcha ob'ektga yo'naltirilgan skript tilini dasturlash. Windows PowerShell qobig'ida Windows operatsion tizimining barcha komponentlarini boshqarish uchun buyruqlar yozish, shuningdek Windows PowerShell Integrated Scripting Environment (ISE) da boshqaruv vazifalarini avtomatlashtirish uchun skriptlarni yozish uchun yutuq. PowerShell tili ma'muriyat menejeri uchun yaratilgan bo'lib, u to'liq skriptli dasturlash bo'lib, parchalar teri tilidagi dasturlashda bo'lgani kabi konstruksiyalarni dasturlash uchun ishlatiladi, masalan: tozalash, tsikllar, kechirimlar, o'zgarishlar bilan ishlash, qoplamalar.

PowerShell tilida buyruqlarni yozish uchun yagona sintaksis va ushbu buyruqlarni printsip uchun nomlash tuzilishi mavjud. Díêslovo-Imennik”, bu dasturchilar uchun ham, tizim ma'murlari uchun ham intuitiv ravishda tushunarli.

Windows PowerShell qobig'i

Windows PowerShell qobig'i- Bu mening PowerShell-dagi vykonannya buyruqlar va skriptlarning o'rtasi. Maê tí zhlivosti qobig'ini hisobga olsak, scho í buyruq qatori quyidagicha: g'olib buyruqlar tarixini saqlash, aqlli ko'rinish qobiqlar, Ctrl + C tugmalari yordamida buyruqlarni yozishni yakunlash, shuningdek, buyruqlar qatori qobig'ida mavjud bo'lmagan boshqa ko'plab imkoniyatlar, masalan, " kabi mo''jizaviy imkoniyat. Sintaksis mosligi» ( PowerShell 5.0 da paydo bo'ldi).

PowerShell qobig'ini bir necha usulda ishga tushirishingiz mumkin, masalan:

  • Buyruqlar qatoridan PowerShell ni yozish;
  • Muloqot oynasi orqali Vikonati» ( Win + R tugmalari), shuningdek, PowerShell ni kiritish orqali;
  • Windows 7 uchun - Start->Barcha dasturlar ->Aksessuarlar ->Windows PowerShell -> Windows PowerShell;
  • Windows 8.1 yoki Windows Server 2012 R2 uchun - Boshlash->Barcha dasturlar->Xizmatlar->Windows PowerShell;
  • Windows 10 yoki Windows Server 2016 uchun - Boshlash->Barcha dasturlar -> Windows PowerShell katalogi ( V guruhida) -> Windows PowerShell.

Windows Server 2016 da PowerShell-ni ishga tushirishga misol

Windows Server 2016 PowerShell qobig'i skrinshoti

PowerShell Cmdletlari

Cmdlet (cmdlet) - bu Windows PowerShell buyrug'i bo'lib, uning yordami uchun í̈hnoy keruvannya usuli bilan operatsion tizim ob'ektlari bilan ishlashingiz mumkin. Qi buyruqlari ê qisman PowerShell-ni harakatga keltiradi. Cmdletlar printsipga chaqiradi " Díêslovo-Imennik”, defis (-) bilan ajratilgan; Boshqacha qilib aytadigan bo'lsak, biz boshida nima ishlash kerakligini va nima ustiga defis orqali aytamiz. Masalan, Get-Help cmdlet, de Get so'z bo'lib, " Otrimati” va Yordam bu nom Yordam bering» PowerShell kontekstida « Shou - Dovidka". PowerShell cmdletlari Windows buyruqlar qatoridagi asosiy buyruqlardan biriga o'xshash ob'ektlar natijalarini aylantiradi, bu buyruqlar faqat ekrandagi matnni aylantiradi.

Crim cmdlet otrimannya danih (Get) va shunga o'xshash cmdlet turlari:

  • Qo'shish - ma'lumotlarni qo'shish;
  • Aniq - aniq;
  • Yoqish - yoqish;
  • O'chirish - o'chirish;
  • Yangi - yaratish;
  • O'chirish - vizualizatsiya;
  • To'plam - o'rnatish;
  • Boshlash - ishga tushirish;
  • To'xtash - Zupiniti;
  • Eksport - eksport;
  • Import - import;
  • Va boshqalar ko'p.

Windows PowerShell-dagi cmdletlarning to'liq ro'yxatini maxsus Get-Command cmdlet yordamida izlash mumkin. Masalan, -CommandType cmdlet parametri bilan yoga mashq qiling, natijada ekranda cmdletlar ro'yxati ko'rsatiladi.

Get-Command -CommandType cmdlet

Siz allaqachon tushunganingizdek, cmdletlar parametrlarni o'zgartirishi mumkin, buning yordamida biz har bir cmdletni aniqlashtirishimiz mumkin. Hech qanday til parametrlari va til parametrlari yo'q, masalan, til parametrlari bo'lmagan Get-Command cmdlet.

Kam sonli ko'rinishlar ostida, so'z yordamida cmdletni qidirish usuli ( Fe'l parametri). Da ushbu maxsus turga bizda qayta ishga tushirish mumkin bo'lgan cmdletlar ro'yxati mavjud.

Jamoa

Get-Buyruq - Fe'lni qayta ishga tushirish

Kmdletni nomi bo'yicha so'rash uchun Noun parametrini tanlashingiz kerak. Misol uchun, biz xizmatlar bilan ishlaydigan cmdletlar ro'yxatini oldik.

Jamoa

Get-Buyruq - Ism xizmati

Agar siz yangi nom uchun kerakli cmdletni bilmasangiz, niqobni *Matn* formatida o'zgartirishingiz mumkin.

PowerShell quvur liniyasi

Windows PowerShell ning asosiy xususiyatlaridan biri buyruqlarni bajarish uchun quvur liniyasini ishga tushirish qobiliyatidir.

Konveyer– Robotik cmdlet natijasini vertikal chiziq (|) orqali boshqa cmdletga o‘tkazmang. Agar shunday bo'lsa, eslaganingizdek, PowerShell-da cmdletlar ob'ektlar bilan ishlaydi va ob'ektlarni aylantiradi, shekilli, ob'ektlar ham quvur liniyasiga uzatiladi.

Konveyerning yordami uchun siz katlama buyurtmalarini olishingiz mumkin, meni kechiring qo'lda katlama algoritmlari va stsenariylarni yozishga hojat qoldirmasdan.

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

Jamoa

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

  • Get-ChildItem - ko'rsatilgan katalogdan ob'ektlarni olib tashlash uchun cmdlet;
  • Sort-Object - 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, turli hollarda standart maydonlar va birinchi ob'ekt, ya'ni ko'rsatiladi. ajoyib fayl ( parametr - Birinchi 1).

Usí cmdlets vydokremlení bir víd bitta vertikal chegara. Teri cmdletining natijasi boshqa cmdletning kirishiga uzatiladi, ya'ni. Belgilangan katalogdagi barcha ob'ektlarni olishdan boshlaymiz, so'ngra natijani saralaymiz va yakunlash uchun birinchi ob'ektni tanlaymiz.

Fonone vikonannya zavdan

Windows PowerShell fon buyrug'ini ishga tushirish qobiliyatiga ega, mexanizm mavjud, uning yordamida siz buyruqni bajarishingiz mumkin ( masalan, uzoq vaqt davomida) ichida fon rejimi, keyin. Seans boshlangandan so'ng siz joriy sessiyaga o'tasiz va buyruqning bajarilishini tekshirmasdan ishni davom ettirishingiz mumkin. Sizga kerak bo'lgan imkoniyatni hisobga olgan holda, agar siz biron bir buyruqni bajarishingiz kerak bo'lsa, robotni bajarish uchun uch soat vaqt ketadi va siz bilganingizdek, uzoq vaqt davomida PowerShell qobig'ining sessiyasi robot buyrug'i kelguncha bloklanadi. tugallandi va siz mashq qilishingiz kerak.

Orqa fonda ishlaydigan barcha vazifalarni tekshirishingiz mumkin, masalan, vazifalar ro'yxatini ko'rib chiqishingiz, vazifa robotini kattalashtirishingiz, vazifani ko'rishingiz va aniq vazifaning natijasini ko'rishingiz mumkin. .

Fondagi ishlar uchun Windows PowerShell dasturida quyidagi cmdletlar mavjud:

  • Start-Job - fon ishni boshlash;
  • Stop-Job - Fon ish Zupinity
  • Get-Job - fondagi ishlar ro'yxatini ko'rib chiqing;
  • Receive-Job - fon ishni yozish natijasini ko'rib chiqing;
  • Remove-Job - fon ishini olib tashlash;
  • Wait-Job - fon vazifasini oldingi planga o'tkazing, shunda tekshirish tugallanadi.

Fon rejimida boshlash uchun siz Start-Job buyrug'ini va jingalak qo'llarda () buyruq yoki buyruqlar to'plamini yozishingiz kerak, chunki fon rejimida yozish kerak.

Masalan, shunday vazifani bajaramiz ( xizmatlar ro'yxatini ko'rsatish) fon rejimida, keyin fon vazifalari ro'yxatini ko'rib chiqing va vazifamiz natijasini ekranda ko'rsating ( tobto. xizmatlar ro'yxati).

Vazifani fonda bajarish

Ishni boshlash (Xizmat olish)

Orqa fonda ishlaydigan vazifalar ro'yxatini ko'rib chiqish

Vazifa 1 natijasi ko'rsatilmoqda

Vazifani qabul qilish 1

Yak bachimo, bizda statusli vazifa bor. Bajarildi”, keyin. u allaqachon ketgan ( faqat yaxshi ish tartibida Get-Service).

Fon vazifasi, tobto ishining natijasiga hayron qolish. Get-Service cmdletida biz Receive-Job buyrug'ini o'g'irladik va vazifa nomini o'tkazdik ( mumkin bo'lgan i identifikator qiymati). Natijada biz xizmatlarning o'zgarishini ko'rdik.

PowerShell-da masofaviy keruvannya

Windows PowerShell grantlari nafaqat mahalliy tanlash, balki buyruqlarni masofadan tanlash bilan cheklanadi. Tsya mozhlivist kerak, shuning uchun siz zí svogo robochego místsya cheruvati vyddalennymi kompyuterlar, tobto mumkin. PowerShell buyruqlarini birlashtirish.

Isnuê kilka yo'llari uzoq keruvannya:

  • Qo'shimcha parametr uchun - Kompyuter nomi (ê ko'p jamoalar uchun). Boshqacha qilib aytganda, siz buyruqni kiritishingiz kerak bo'lgan kompyuter nomini parametr sifatida o'tkazasiz. Yo'l etarli bo'lmasligi mumkin, shardlar bir jamoaning g'oliblari o'rtasida;
  • Yordam seansi uchun. Cmdlet Kirish-PSSession (interaktiv sessiya). Shunday qilib, siz masofaviy kompyuterga ulangansiz va PowerShell qobig'ida kiritgan barcha buyruqlar masofaviy kompyuterda xuddi shunday ko'rsatiladi, siz masofaviy kompyuterda uzluksiz buyruqlarni yozgansiz. Usul ham kichik, chunki sessiya bitta kompyuter bilan o'ralgan;
  • Cmdletga yordam berish Chaqiruv - Buyruq. Yordam uchun berilgan usul Siz buyruqlarni bitta kompyuterda yoki bir nechta kompyuterda skriptlarda ishlatishingiz mumkin.

Masalan, masofaviy kompyuterga ulanish uchun ( ServerName ostidagi ilovada) interaktiv seansda quyidagi buyruqni kiriting:

PSSession server nomini kiriting

Windows PowerShell-dagi skriptlar, funksiyalar va modullar

Misol uchun, siz qandaydir algoritmni yozdingiz, shuning uchun siz hamma narsa uchun yoga bilan shug'ullanishni xohlaysiz, shunda siz uni yaxshilashingiz mumkin. Windows PowerShell-da qaysi biri uchun skript yaratish mexanizmi mavjud.

Ushbu mexanizmning mohiyati keladi, Siz kerakli buyruqlarni yozasiz va uni skript sifatida tanlaysiz - kengaytmali oddiy matn fayli.PS1.

Keling, ushbu skriptni bajarish uchun siz PowerShell qobig'ida yoga bilan shug'ullanasiz. Agar shunday bo'lsa, siz skript fayliga keyingi yo'lni belgilashingiz kerak yoki skript bilan katalogga o'ting va ismni bosing.

Muhim!

Windows reklama skriptlari uchun bloklangan! Skript siyosatini ko'rish uchun cmdletdan foydalaning Get-ExecutionPolicy. Natijada, biz hayotga mos siyosatni o'zgartiramiz, masalan:

  • Cheklangan - har qanday stsenariyni bloklash ( qulflash qiymati);
  • AllSigned - raqamli imzo sifatida skriptlarni imzolashga ruxsat berilgan;
  • RemoteSigned - mahalliy skriptlarni imzolash uchun ruxsat berilgan, barcha skriptlar raqamli imzo bilan bog'liq;
  • Cheklanmagan - har qanday stsenariyni ko'rishga ruxsat beriladi ( tavsiya etilmaydi, parchalar xavfsiz emas!).

Stsenariyni qayta ko'rib chiqish uchun siz cmdletni qayta ko'rib chiqishingiz kerak O'rnatish-Execution Policy qaytarilgan ko'proq parametrlardan biri bilan.

Masalan, mahalliy skriptlarni buzishga ruxsat berish uchun biz Y tugmasini bosib kiritilgan o'zgarishlarni kutaman buyrug'iga hujum qilamiz.

Set-ExecutionPolicy RemoteSigned

Siz parametrlarni skriptga o'tkazishingiz, uni til bilan ishlashga majburlashingiz yoki reklama qiymatini belgilashingiz mumkin.

Windows PowerShell-da kuchli funktsiyalarni yaratish mexanizmi o'tkazildi, shuningdek, cmdletlar holatida siz PowerShell qobig'ini buzishingiz mumkin.

Kim uchun ko'rsatish kerak kalit so'z Funktsiya va keyin jingalak archlarda () ushbu funktsiya bilan ishlash uchun algoritm yozing, tobto. buyruqlar to'plami ( masalan, tez-tez sodir bo'ladigan protsedura sifatida: qo'shiq huquqlari bilan ildiz qayd yozuvini yaratish, sing kataloglarini tozalash va hokazo.). Keyin skriptdagi hamma narsani saqlashingiz kerak, shuningdek, extensions.psm1 bilan bu faylning parchalari modul bo'ladi.

Faqat bu emas, siz butun faylni PowerShell modullarni qidiradigan katalogga joylashtirishingiz kerak. Bir nechta bunday kataloglar mavjud ( koristuvach profilidagi maxsus katalog, PowerShell o'rnatilgan katalog), PowerShell-dagi o'zgarishlarga hayron bo'lishingiz mumkin. Kim uchun, keling, buyruqqa hujum qilaylik

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

Siz yozgan modulni maxsus katalogga joylashtirganingizdan so'ng, PowerShellning asl buyruqlari kabi o'z funktsiyalaringizga o'tishingiz mumkin.

Windows PowerShell integratsiyalashgan skript muhiti (ISE)

Skriptlarni, funktsiyalarni va modullarni qo'lda yozish uchun Microsoft maxsus dastur ishlab chiqdi grafik dastur Integratsiyalashgan skript yaratish muhiti(ISE) integratsiyalangan skript vositasidir. Ushbu dasturda Pratsyuvati allaqachon oson, undan oldin qattiq funktsional bo'lishi mumkin. stsenariylar bilan anonim yorliqlarni yaratish, ko'rish maydoni, egasini ochish va boshqalar).

Siz shu kabi ishga tushirishingiz mumkin:

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

Eslatma! ISE Server Core variantida oʻrnatilgan Windows Server tizimlarida ishlamaydi.

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

Menda hamma narsa bor, men qo'llab-quvvatlayman, men siz uchun materialni tuzataman! Muvaffaqiyat!

Windows 10 operatsion tizimiga yangilanishlar PowerShell buyruq qatori yordam dasturi haqida bir oz bo'lishi mumkin. Bundan tashqari, u bilan Windows 7 va 8.1 bilan kim ishlashi mumkinligini bilishingiz mumkin. Windows buyruq qatori dasturlari va .bat formatidagi fayllarning boy taqdiridan so'ng, yanada funktsional vosita haqida ko'proq ma'lumot olish vaqti keldi.

PowerShell e tsínim ochiladigan ro'yxat Windows vositalari va yogo ko'lamli zlyakati deyaky koristuvachyv bo'lishi mumkin. Skriptlangan mov chi buyruq qobig'i nima? Bezovta bo'lmang: qanchalik katta imkoniyat bo'lmasin, PowerShell-ni terining kuchi ostida o'zlashtiring.

Krok 1: o'rnatilgan

Kob uchun bizga PowerShell yordam dasturining o'zi kerak. Agar siz Windows 10 operatsion tizimida ishlayotgan bo'lsangiz, sizda allaqachon PowerShell 5 o'rnatilgan. Windows yangilash 10 Anniversary Update 5.1 versiyasi g'alaba qozondi, ammo farq aniq emas. Windows 8 va 8.1 PowerShell 4-ni yutadi, bu juda etarli. Windows 7 da PowerShell-ni o'rnatish muammo bo'lmaydi, lekin siz hali ham bir nechta fokuslarni bajarishingiz kerak bo'ladi. Zocrema, siz .Net Framework-ni o'rnatishingiz kerak. PowerShell-ni o'z ichiga olgan Windows Management Framework-ni o'rnatishingiz mumkin.

PowerShell ikkita interfeysga ega. Qo'shimcha ma'lumotni tanlash mumkin grafik interfeys, Integrated Scripting Environment (ISE) kabi Windows buyruq qatori uslubidagi oddiy matn interfeysi PowerShell konsolidan foydalanish yoki DOS 3.2 ni yozish yaxshiroqdir.

PowerShell-ni Windows 10-da administrator sifatida ishga tushirish uchun Start tugmasini bosing va dasturlar ro'yxati bo'ylab Windows PowerShell-ga o'ting. Windows 8.1 uchun Windows ostidagi Tizim papkasida Windows PowerShell-ni qidiring. Windows 7 da qobiq Aksessuarlar papkasida joylashgan. Ajoyib powershell sifatida siz PowerShell-ni xuddi shunday ishga tushirishingiz mumkin, o'ng tugma o'rniga sichqonchaning chap tugmasi yordamida.

Windows-ning istalgan versiyasida siz qidiruvni to'xtatishingiz mumkin. Uzoq sehrgarning qulayligi uchun siz PowerShell-ni vazifalar panelida yopishingiz mumkin.

Krok 2: eski Windows buyruqlari

Sintaksis Windows buyruqlari PowerShell pratsyuê zvichny darajasi. Masalan, cd papkalarni o'zgartirish, rej Oqim jildining o'rtasida joriy fayl va papkalar ro'yxatini ko'rsatadi.

Agar siz PowerShell konsolini ishga tushirish usulidan foydalansangiz, mumkin c:\Windows\system32 yoki c da :\Foydalanuvchilar\ . Skrinshotdagi dumbada jamoa g'alaba qozonadi cd..(bo'shliq bilan) bir vaqtning o'zida bir qator yuqoriga ko'tarilish uchun, keyin buyruqni bajaring rej katalogdagi fayl va papkalar ro'yxatini ko'rsatish uchun C:\.

Krok 3: yordam fayllarini o'rnatish

Nachebto buyrug'i cdі rej faol PowerShell buyruqlari emas. Bu taxalluslarning nomlari (taxalluslar) - to'g'ri PowerShell buyruqlarini almashtiring. Taxalluslar buyruq satrida ishlash uchun ajoyib imkoniyatga ega bo'lganlar uchun foydalidir. Biroq, hid PowerShell glibiniga yopishmaydi.

PowerShell quvvatidan foydalanishni boshlash uchun yozing Yordam bering Menga sizga buyruq kerak. Skrinshotda buyruq ko'rsatilgan .

Jamoa Yordam bering nimani aytay rejê PowerShell buyrug'i taxallus Get-ChildItem. Qanday terish kerak bola olmoq ichida PS C:\>, o'zingizni mazax qiling, nima va qachon vikoristanny buyruq beradi rej.

Skrinshotning pastki qismida ko'rsatilganidek, PowerShell yordam fayllari avtomatik ravishda o'rnatilmaydi. Buning uchun PowerShell-ni administrator sifatida ishga tushiring va yozing yangilash-yordam. O'rnatilgan fayllar oz miqdorda qarz olishga yordam beradi, har kuni bir nechta modullardan foydalanish mumkin - masalan, NetWNV uchun yordam va SecureBoot bu holda o'rnatilmagan. Agar hamma narsa tayyor bo'lsa, keyingi tizim sizga kerakli maslahatlarni berishga yordam beradi.

Endi buyruqni tering yordam olish va siz buyruq berishingiz mumkin (“cmdlet” mening PowerShellim, ruscha cmdlet), sizga tavsif ko'rsatiladi. Masalan, get-help get-childitem variantlar ro'yxatini ko'ring bola olmoq. Siz turli xil variantlarni ham kiritishingiz mumkin. Masalan

get-help get-childitem -misollar

SIM-ning batafsil misollarini ko'ring bola olmoq. Jamoa

get-help get-childitem -batafsil

cí sim ilovalarini o'z ichiga oladi va cmdletdagi teri parametrining aniqligi haqida hisobot beradi bola olmoq.

Krok 4: parametrlar uchun otrimannya yordami

Skrinshotda ikkita pid ro'yxatini eslab qolishingiz mumkin Sintaksis uchun bola olmoq. Ikki xil sintaksisning mavjudligi cmdletni ishga tushirishning ikkita usulini yuklash mumkinligini anglatadi. Bir turdagi okremo sintaksisini qanday kesish mumkin va parametrlar nimani anglatadi? Javob oddiy, agar hiyla bilsangiz.

Otrimannya uchun cmdlet parametrlarini batafsil ko'rsating bola olmoq aks holda, boshqa har qanday burilish parametri - To'liq:

ol-yordam ol-childitem -to'la

Bu erda siz cmdlet bilan nima qilishingiz mumkinligi va nima sodir bo'lishi ro'yxatini ko'rasiz. Skrinshotga qarang.

Parametrlarning tavsifini ko'rib chiqish buni eslab qolish imkonini beradi bola olmoq ob'ektni olish qobiliyatini beradi bola(Aniqrogʻi, pastki papkalarni yoki fayl nomini nomlang) koʻrsatilgan sohada, koʻp sonli qoʻshiq belgilari bilan yoki boʻlmasdan. Masalan:

get-childItem "*.txt" -rekurse

joriy jild va barcha pastki papkalardagi *.txt fayllar ro'yxatini aylantiring (parametr orqali - takrorlash). Todiyak

get-childitem "HKLM:\Software"

ishlatilgan kalitlar ro'yxatini yuqori darajadagi registrga aylantiring HKEY_LOCAL_MACHINE\Dasturiy ta'minot.

Agar siz Windows buyruq satri yoki .bat fayli yordamida ro'yxatga olish kitobiga o'tishga harakat qilgan bo'lsangiz, ushbu kirish opsiyasining funksionalligini baholashingiz mumkin.

Krok 5: ismlar

Ko'rsatilgan cmdletlar nima uchun shunday ko'rinishga ega: ol-childitem, yangilash-yordam, ol-yordam so'z-ismning yagona sxemasini vikoristovuyut. Zastosovuyut barcha PowerShell cmdletlari uchun, buning uchun bitta nom oldida turish kerak. VB va VBA tilidagi buyruqlar nomlari nomuvofiqligi tufayli o'z davrida jabr ko'rgan jamoaga loyiqdir.

Eng keng tarqalgan cmdletlarni ko'rib chiqing:

joylashuvni belgilang: joriy ish joyini birinchi joyga o'rnating

tarkibni olish: faylni oling

olish: Fayl va papkalarni olib tashlang

nusxa ko'chirish elementi: ob'ektni bir joydan boshqasiga nusxalash

olib tashlash-element: Fayl va papkalarni oʻchirish

: Mahalliy yoki uzoq kompyuterda ishlaydigan jarayonlarga e'tibor bermang.

xizmatga ega bo'ling: xizmatlarni olib tashlash, mahalliy yoki uzoq kompyuterda ishga tushirish.

invoke-webrequest: Internetdagi veb-saytdan olib tashlang

Qo'shiqchi cmdlet robotiga qarash uchun qo'shiq ayt yordam olish uchida yak

olish-yordam nusxa ko'chirish-element -to'liq

Yordamning tavsifiga asoslanib, qanday cmdletlar kerakligini tushunishingiz mumkin. Misol uchun, agar siz barcha fayl va papkalardan nusxa olishni istasangiz Hujjatlar ichida c:\temp, vikorist

nusxa ko'chirish elementi c:\users\\documents\* c:\temp

Vvívshi tsyu jamoasi, siz chílka kilka tsíkavih imkoniyatlar otochennya PowerShell. Masalan, qanday terish kerak nusxa-i keyin Tab tugmasini bosing, PowerShell Elementni nusxalash. Agar cmdlet noto'g'ri kiritilgan bo'lsa va PowerShell uni taniy olmasa, nima noto'g'ri buzilganligining yangi tavsifi beriladi.

Ushbu cmdletni sinab ko'ring:

invoke-webrequest askwoody.com

Siz veb-sahifadagi sarlavhalar, rasmlar, xabarlar va boshqalarning qisqa ro'yxatini o'chirasiz. hurmat qiling yordam olish ro'yxatga invoke-webrequest, qaysi "shakllar to'plamini aylantiradi, yuborish, tasvirlar va boshqa muhim HTML elementlari"- ekranda paydo bo'lishi mumkin bo'lganlar.

Deyaki cmdlet o'zlarini PowerShell-ga keruvatiga yordam beradi:

olish buyrug'i: mavjud cmdletlar ro'yxati

olish-fe'li: mavjud drayvlar ro'yxati

aniq-mezbon: xost ekranini tozalang

Turli parametrlar buyruqlar va qo'ng'iroqni o'zgartirishga imkon beradi jigarrang variantlar. Masalan, ishlaydigan barcha cmdletlar ro'yxatini ko'rib chiqish Windows xizmatlari, kiriting

get-command *-xizmat

Nomi bilan mavjud bo'lgan barcha so'zlar ko'rsatiladi xizmat. Eksa x ro'yxati:

Xizmatni oling

Yangi xizmat

Xizmatni qayta ishga tushiring

Xizmatni davom ettirish

Xizmatni sozlash

ishga tushirish xizmati

Xizmatni to'xtatish

Xizmatni to'xtatib turish

Siz boshqalarga ko'proq cmdlet yuborishingiz mumkin.

Krok 6: vikoristan quvurlari

Windows buyruq qatori haqida nimalarni bilasiz yoki ommaviy ish fayllari, keyin siz bu quvurni qayta yo'naltirish haqida bilasiz. Qayta yo'naltirish (belgi >) va quvur (belgi |) di natijasini oladi va uni boshqa joyga biriktiradi. Masalan, siz buyruq natijasini qayta yo'naltirishingiz mumkin rej matnli faylga ega bo'ling yoki buyruqning natijasini o'tkazing ping jamoasi bor toping kabi cikavih natijalarini filtrlash uchun

dir > temp.txt

askwoody.com ping | "paketlar" > temp2.txt-ni toping

Mana, boshqa jamoada toping hazil qatori paketlar jamoa tomonidan askwoody.com manzillaridan olingan ping va ishlayotgan barcha qatorlarni birlashtiring, men faylga nom beraman temp2.txt.

Ushbu buyruqlarning birinchisi PowerShell bilan mo''jizaviy tarzda ishlaydi. Boshqa buyruqni ishga tushirish uchun tugmani bosishingiz kerak

askwoody.com ping | string paketlarni tanlang | temp2.txt faylidan tashqarida

Quvurlarni qayta yo'naltirish Windows buyruq qatorining imkoniyatlarini sezilarli darajada kengaytiradi: matn qatori so'roviga binoan ekranni pastga aylantirish o'rniga, kerakli Windows buyruqlarini filtrlashingiz mumkin.

Powershell yordam berishi mumkin quvur, bundan tashqari, u matn bilan o'ralgan. PowerShell sizga butun ob'ektni bir cmdletdan boshqasiga o'tkazish imkonini beradi, de ob'êkt ê ma'lumotlar (hokimiyat unvonlari) va díy (usullar) kombinatsiyasidan iborat bo'lib, ma'lumotlar ustidan g'alaba qozonishingiz mumkin.

Katlama qismi vibudovuvannya ob'ektiv soati ostida ta'mirlanadi. Bitta cmdlet tomonidan ta'minlangan ob'ektlar o'z ichiga olgan cmdlet tomonidan qabul qilinadigan ob'ektlar turiga bog'liq. Matn allaqachon ob'ektlarning oddiy turi, shuning uchun agar siz matn bilan ishlasangiz, ob'ektlarni ko'rish oson. Boshqa ob'ektlar unchalik oddiy emas.

Qanday tushunish mumkin? G'alaba cmdlet a'zo bo'lish. Agar siz cmdlet qaysi turdagi ob'ektni qayta ishlayotganini bilmoqchi bo'lsangiz, uni o'tkazing a'zo bo'lish. Misol uchun, kompyuterda ishlaydigan jarayonlarni va cmdlet oldidan ovozli variantlarni tushunishingiz mumkin , eksa cmdlet natijasini qanday aniqlash mumkin:

jarayonini olish | a'zo bo'lish

Ushbu cmdletni ishga tushiring va vakolatlar va usullarning uzun ro'yxatini ko'ring , lekin ro'yxatning boshiga siz yaratgan ob'ekt turini qo'shishingiz mumkin :

TypeName: System.Diagnostics.Process

Quyidagi skrinshot ham quvvatni ko'rsatadi nomi ostida get-process tutqichlari, nomi, NPM, PM, SI, VMі WS.

Natijani qanday manipulyatsiya qilish mumkin cmdlet bilan ishlash uchun (monitordagi faol jarayonlarning eski ro'yxatini almashtirish) siz kiritilgan ma'lumotlarni olishingiz uchun boshqa buyruqni bilishingiz kerak. Tizim.Diagnostika.Jarayon. Foydali cmdlet topish uchun PowerShell imkoniyatlarini qayta ko'rib chiqing:

get-command -Parametertype System.Diagnostics.Process

Ushbu cmdlet qayta ishlanishi mumkin bo'lgan cmdletlar ro'yxatidir Tizim.Diagnostika.Jarayon.

Deyakí buyruq vídomí tim, scho nabuvayut mayzhe bo'lishi-qanday ma'lumotlar. Bosh o'rtada . Bu cmdlet o'zidan bir teri ob'ekti orqali o'tadi, u quvur orqali birma-bir yuboriladi va yangi belgilangan tanlov mezonlariga mos keladi. Nomi ostida maxsus markerdan foydalaning $_ , bu quvurdagi charm ob'ektni bir marta urish imkonini beradi.

Ehtimol, siz "svchost" nomi ostida kompyuterda ishlaydigan barcha jarayonlar ro'yxatini olishni xohlaysiz, shuning uchun siz quvvatni o'rnatmoqchisiz. Ism jarayon svchost. G'alaba buyrug'i:

jarayonini olish | qaerda-ob'ekt ($_.Name -eq "svchost")

cmdlet teri ob'ektiga hayron bo'ling Tizim.Diagnostika.Jarayon, mos .Ism"svchost" dan th ob'ekti; yakscho ê zbígi, monitorda yomon hid ko'rinadi. Skrinshotga qarang.

7-dars: Asosiy PowerShell buyruqlarini tahlil qilish

Hozirgacha siz kompyuterni kattalashtirishingiz uchun bagatoni tugatishni allaqachon bilasiz, shuning uchun ehtiyot bo'ling. Masalan, tez-tez so'raladigan PowerShell buyruqlariga qarang.

Ushbu buyruqlar PowerShell-ni administrator sifatida ishga tushirganda faqat Windows 10 va undan kam versiyalarda ishlaydi. Xushbo'y hidlar qayta o'rnatish uchun belgilangan o'rnatilgan qo'shimchalar Windows 10 va ushbu dasturlarni o'chirib tashlagan va keyin ularni o'chirib qo'yganlar uchun yaxshi vaqt bo'lishi mumkin. Buyruq shunday ko'rinadi:

Get-AppXPackage | Foreach (Add-AppxPackage -DisableDevelopmentMode -“$($_.InstallLocation)\AppXManifest.xml” roʻyxatidan oʻtish)

Agar siz ushbu buyruqni bajarsangiz, qizil rang bilan ko'rsatilgan ogohlantirishlarni oldindan e'tiborsiz qoldiring va buyruq noto'g'ri bo'lsa, kompyuterni qayta ishga tushiring; hammasi o'rnatilgan dasturlar Uning o'rnida Windows 10 paydo bo'ladi.

Eksa - bu jamoa qanday ishlaydi. Get-AppXPackage koristuvach profilidagi barcha dasturiy paketlarni ko'rib chiqish. Navyt yakscho vy dasturni o'chirib tashladi, u koristuvach profili ro'yxatidan tashqarida.

cmdlet Get-AppXPackage ob'ektni aylantiring TypeName Microsoft.Windows.Appx.PackageManager.Commands.AppxPackage, bu dastur paketi nomidan tashqarida va XML manifest fayli doirasini o'z ichiga oladi. Cmdletni qanday ishga tushirish kerak get-appxpackage, dasturiy ta'minot paketlarining uzoq ro'yxatini ko'rishingiz mumkin. Skrinshotda Xbox tavsifi ko'rsatilgan.

cmdlet Har biriga teri ob'ekti orqali o'tish uchun qo'shimcha tsikl uchun AppXPackage, cmdletga rahbarlik qilish Qo'shish-AppxPackage. Zgidno yordam olish uchun Qo'shish-AppxPackage, bu erda ikkita kalit kalit mavjud:

  • peremikach - Ro'yxatdan o'ting dasturiy ta'minot paketlarining asosiy o'rnatishlarini ro'yxatdan o'tkazish uchun wink, siz parametrlarni o'rnatishingiz mumkin Rivojlanish rejimini o'chirib qo'yingі Roʻyxatdan oʻtish
  • peremikach -DevelopmentMode-ni o'chirib qo'ying Har bir Windows o'chirilgan, ro'yxatdan o'tmagan yoki o'chirilgan mavjud dasturiy ta'minot paketini qayta ro'yxatdan o'tkazishi kerak.

Qator " $($_.InstallLocation)\AppXManifest.x ml" dekompressiya faylini tavsiflaydi manifest.xml. Fayllarni qanday ko'rish kerak AppXManifest.xml, siz qo'shimchalar uchun identifikatorlarning yig'iladigan ro'yxatini, aniqlangan fayllarni va qo'shimchalar bilan bog'liq ko'p sonli vizual elementlarni ko'rishingiz mumkin.

Qayta takomillashtirishdan so'ng, barcha qo'shilgan dasturiy ta'minot paketlari qayta kengaytiriladi va tiklanadi Windows do'koni do'kon.

PowerShell'dan dasturni ishga tushirish

PowerShell-dan bunday faylni (dastur yoki buyruq qatori yordam dasturi) ishga tushirish vazifasi ko'pincha bajariladi. PowerShell qaysi sprat uchun va'z qiladi turli yo'llar bilan, biz ushbu maqolada ko'rib turganimizdek. Eng oddiyidan boshlaylik ...

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

Bajariladigan PowerShell faylini ishga tushirishning eng oddiy usuli bu fayl bilan katalogga o'tish va uni to'g'ridan-to'g'ri ishga tushirishdir. Masalan, havoni ishga tushirish uchun oddiy dasturni olaylik va biz buyruqni ishlatishimiz mumkin:

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

Kerakli katalogda qayta tiklanishi kerak bo'lgan hurmatni qaytarish uchun ko'rsatilishi kerak bo'lgan faylga tashqi yo'lni ko'rsatish kerak. O'zgartirilgan o'tkir (yo'l) da yangilangan kataloglardan fayllarni o'rnatish uchun aybdor. Masalan, Windows\System32 katalogida joylashgan turli xil dasturlar va yordamchi dasturlar (notepad, calc, ping va boshqalar) yo'lni ochmasdan ishga tushirilishi mumkin.

& operator

Agar tekshiriladigan faylga keyingi yo'lni ko'rsatish kerak bo'lsa, uni operator bilan tezlashtirishingiz mumkin & (Operator vikliku). Win vikonati bir qator matnlarni, panjalardagi ko'rsatmalarni bitta buyruq kabi bajarishga imkon beradi. Masalan:

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

Agar & operatori yuborilayotgan buyruqni tahlil qilmasa, u holda vin parametrlarni sharhlay olmaydi. Qo'shimcha parametrlar/argumentlar vizual matnga, panjalarga ham uzatiladi. Dumba uchun biz dasturni oldiga olib, uni biroz o'zgartiramiz, shuning uchun biz argumentdan kerakli matnni olamiz:

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

Bajannya uchun siz kimlar orqali bir qator dalillarni ko'rsatishingiz mumkin:

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

Aniqlik uchun buyruq va argumentni o'zgartirishga qo'yish mumkin:

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

Xo'sh, argumentlar juda ko'p bo'lsa ham, ularni bunday konstruktsiya bilan konsentratsiyalash orqali birlashtirish mumkin:

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

Chaqiruv-ifoda

Invoke-Expression cmdlet xuddi & operatori matn qatorini olib, uni o'xshash buyruqdan qabul qilganidek ishlaydi. Masalan:

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

Biroq, Vinda bitta katta kamchilik bo'lishi mumkin va uning o'zi muqarrar ravishda muammolar bilan ishlaydi. Masalan, jamoa avf etishga chaqirdi:

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

Cmdletni tutqichning chetiga siqib chiqarishning o'ziga xos xususiyati nimada. Agar siz bunday kechirimlarni xohlasangiz, qo'shimcha panjalar yordamida yashirinishingiz mumkin, masalan:

Invoke-Expression - Buyruq C: Dastur fayllari Hello.exe

boshlash - jarayon

Start-Process cmdlet yorliq usuli yordamida jarayonga o'xshash faylni ishga tushiradi boshlash.NET sinfi jarayon. Masalan:

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

Qulflash jarayoni uchun jarayon okremga o'tadi, chunki u jarayon tugagandan so'ng yopiladi. Qo'shimcha parametrlar uchun ushbu xatti-harakatni o'zgartirishingiz mumkin, shuning uchun oqim oynasida boshlash buyrug'i beriladi:

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

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

Start-Process -FilePath 'C:\Program Files\Hello.exe' -ArgumentList 'Salom, dunyo' -NoNewWindow -Kutib turing

Cmdlet reklama uchun hech narsani aylantirmaydi, lekin -PassThru yordami uchun ob'ektni jarayonga aylantirishni ko'rsatishingiz mumkin. Ushbu ob'ektni o'zgartirishda qo'lda joylashtirish kerak:

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

Shunday qilib, siz ko'plab jigarrang nutqlarni taniy olasiz, masalan, status:

$process.HasExited

$process.ExitTime

yoki vikonannya kodi:

$process.ExitCode

.NET

.NET printsipida Process sinfiga bevosita Start-Process cmdletisiz kirish mumkin. Masalan, jarayonni buyruq bilan boshlashingiz mumkin:

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

Buni qilishning bunday usuli noqulay va katta hajmli (mening fikrimcha), ale trochs gnuchkishiy at vikoristanni. Misol uchun, dasturimizni oqim oynasi uchun ishga tushiramiz, unga argumentlarni beramiz va ko'z qisish natijasini olamiz:

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

$process.StandatdOutput.ReadToEnd()

WMI

WMI yordami uchun siz deyarli hamma narsani qilishingiz mumkin, shu jumladan dasturni ishga tushirish. Qaysi tsikl usuli uchun Yaratmoq wmi-sinfi Win32_Process. Ushbu usul RPC orqali mahalliy masofaviy kompyuterda jarayonni ishga tushiradi. Misol uchun, vikonannya dasturlari uchun mahalliy kompyuter siz ushbu buyruq bilan uni tezlashtirishingiz mumkin:

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

Va masofaviy kompyuterda ko'rish uchun buyruq quyidagicha ko'rinadi:

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

Variant sifatida siz Invoke-WmiMethod cmdletidan foydalanishingiz mumkin:

Invoke-WmiMethod -Class Win32_Process -Name Create -ArgumentList ″C:Program FilesHello.exe″

Yoki Invoke-CimMethod cmdlet bilan:

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

WMI jarayonni qisqa vaqt ichida boshlaydi va jarayon identifikatorini (ProcessID) va qaytish natijasini (ReturnValue) olish uchun ob'ektni aylantiradi. ReturnValue quyidagi qiymatlarni qabul qilishi mumkin:

0 - Muvaffaqiyatli yakunlash
2 -Ruxsat yo'q
3 - Imtiyozlar yetarli emas
8 - Noma'lum muvaffaqiyatsizlik
9 - Yo'l topilmadi
21 - Yaroqsiz parametr

Chaqiruv - Buyruq

Invoke-Command buyrug'i buyruqlarni WinRM yordamida mahalliy yoki masofadan turib chaqirishi mumkin. Masalan, dasturni mahalliy kompyuterda ishga tushirish uchun quyidagi buyruqdan foydalanishingiz mumkin:

Invoke-Command-ScriptBlock (C: Program FilesHello.exe)

Argumentlarni dasturga iste'mol qilish uchun yuborishingiz mumkin:

Invoke-Command -ScriptBlock (C: Program Files Hello.exe Salom, dunyo)

Invoke-Command muammolar bilan do'st bo'la olmasligini hurmat qiling, kechirim olish uchun panjalari bilan ayyor bo'lishi kerak. Bunday muammolarni, masalan, boshqa cmdletni & operatori bilan birlashtirish orqali yo'q qilish mumkin:

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

Umuman olganda, Invoke-Command uzoq masofali keruvan uchun zastosovuetsya, lekin asosiy muammo bir necha kompyuterda bir soatlik vykonanny imkoniyati hisoblanadi. Masalan:

Invoke-Command -ScriptBlock("C:\'Program Files'\Hello.exe") -ComputerName SRV1,SRV2,SRV3

$scriptblock = (C:Program FilesHello.exe)
$Kompyuterlar = @('SRV1','SRV2','SRV3')
Invoke-Command -ScriptBlock $scriptblock -ComputerName $Computers

Rag'batlantirishdan so'ng, cmdlet dastur natijasini aylantiradi va agar siz uni fonda (AsJob parametri) ishga tushirsangiz, u Job ob'ektini aylantiradi:

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

Invoke-element

Invoke-Item cmdlet standart faylga chaqiruvni tayinlaydi. Shunday qilib, wicking faylini buyruq bilan ishga tushirishingiz mumkin:

Invoke-Item -Path ″C:Program FilesHello.exe″

Biroq, bitta fayl turlarini ochish uchun Invoke-Item-dan foydalanish yaxshidir. Masalan, biz matn faylini shunday ko'ramiz:

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

Va shunday bo'lishi kerak matnli fayllar papalik davrida:

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

cmd

Va nihoyat, cmd qobig'i yordamida PowerShell-dan dasturlarni ishga tushirishning yana bir usuli. Buning yo'li "bilvosita", lekin u kam amaliy emas. Buyruq yangi cmd nusxasini ishga tushirish, yangi tayinlangan dasturga kirish, cmd robotini tugatish va natijani aylantirishdir:

cmd /c ″C: Program FilesHello.exe″

Dasturni ishga tushirishning anonim usullarining bunday o'qi PoShga asoslangan. Ularning terisi qo'shiq kuylash uchun yaxshi.

Nutqdan oldin maqola PowerShell motivlari uchun yozilgan: Deep Dive and Best Practice. Men u erda yanada boy cicago o'qishni tavsiya qilaman.

© 2022 androidas.ru - Android haqida hamma narsa