PowerShell haqida qiziqarli misollar. Umumiy tarmoq buyruqlarini bajarish uchun Powershell dan foydalaning. Kompyuterni PowerShell bilan sinab ko'rish

Jadvallar Windows PowerShell  Bugungi kunda men eng foydali va tez-tez ishlatiladigan komandalarning kichik ro'yxatini qanday qilib bilishlarini qisqacha tasvirlab berishni taklif qilaman. Qo'llanma sizni qiziqtiradigan Windows PowerShell buyrug'ini topishga yordam beradi va u boshlang'ich tizim ma'murlariga qaratilgan.

Eslatma! Ushbu qo'llanma Windows Server operatsion tizimi 2016 da PowerShell 5.0 protsessorlariga asoslanadi.

Ushbu tarmoq yondashuvi tufayli biz ko'plab tayyor echimlar taklif qila olamiz. Ularni topish uchun eng mashhur joylar. Shuni esda tutingki, skript ushbu fayldan parolni o'qiydi, shuning uchun siz uni qayta kiritishingiz shart emas. Skriptni qo'shimcha argumentlar bilan boshqarish mumkin.

Skrinshotni avtomatik yaratish va diskka saqlash. Vazifalarni avtomatizatsiyalashning eng oson usuli - sichqonchaning bosilishi bilan tugmachalarni yozib olish va kerak bo'lganda ularni ijro etish. Ushbu dasturni ishlatish skriptlarda juda murakkab bo'lishi mumkin, lekin bu dasturda ishlatiladigan dasturlash tilini chuqur tanishtirishni talab qiladi. Tayyorgarlik ishlari. Unga o'ng tugmasini bosing va "Bu skriptni tahrirlash" ni tanlang. U darhol barcha o'zgarishlarni kodga kiritadi. Ushbu funktsiz skriptni qayta ishga tushirishingiz yoki skriptga biron-bir o'zgarish kiritganingizda pop-up menyusidagi "Ushbu skriptni yangilash" buyrug'ini chaqirishingiz kerak bo'ladi.

Foydali Windows PowerShell cmdlets

Ushbu qismda siz foydalanadigan PowerShell cmdletlarini rostlayman.

  • Get-Help - Windows PowerShell uchun cmdlet, funktsiyalar va umumiy yordam uchun yordam ko'rsatiladi. Yordam bir necha turdagi bo'lishi mumkin: qisqacha, batafsil, to'liq va faqat misollarni chiqarish;
  • Update-Help - yangi yordam fayllarini yuklaydi va o'rnatadi, ya'ni. yordamni yangilash;
  • Buyruq-buyruq - kerakli buyruqni topish buyrug'i, fe'lni va ismni qidirib topishingiz mumkin, agar fe'lning yoki ismning to'liq ismini bilmasangiz maskadan foydalanish mumkin;
  • Get-Alias ​​- taxalluslarni, barcha yoki maxsus buyruqlarni ko'rsatadi;
  • Get-PSDrive - ulangan disklarni ko'rsatadi;
  • Get-Member - ob'ektning xususiyatlari va usullarini ko'rsatadi;
  • Get-WindowsFeature - serverning mavjud rollari va tarkibiy qismlari haqidagi ma'lumotlarni ko'rsatadi;
  • O'rnatish-WindowsFeature ( add-WindowsFeaturega teng) - belgilangan serverda rollarni yoki tarkibiy qismlarni o'rnatadi;
  • Uninstall-WindowsFeature ( remove-WindowsFeature-ga teng) - server rollarini yoki tarkibiy qismlarini o'chiradi;
  • Get-History - joriy sessiya davomida kiritilgan buyruqlar ro'yxatini qaytaradi.

Argumentlar bilan ishlash

PowerShell-da, o'zgaruvchini yaratish uchun unga qiymatni belgilang yoki ushbu qiymatni oling, odatda dollar belgisini $ ( qisqa va qulay), ammo bu maqsadlar uchun maxsus komandalar mavjud.

Ikkita oddiy misol.

Yangi matn hujjatini yaratish. Skript yordamida siz to'g'ridan to'g'ri papkaga hujjat yaratishingiz mumkin. Avval Explorer-ga yangi hujjatni topmoqchi bo'lgan papkaga kiring. Buning yordamida siz sichqoncha va klaviatura operatsiyalarini yozishingiz va ijro etishingiz mumkin.

Bunga qo'shimcha ravishda Internetda ko'plab foydali skriptlar topasiz. Qo'ng'iroq qilish uchun boshlang'ich nuqtasi sifatida muallifning portalida forumni tanlashni tavsiya qilamiz. Bir tarmoq drayverini ko'rsatadi yoki yo'q qiladi.

  • Get-Variable - parametrlar ro'yxatini va ularning qiymatlarini ko'rsatadi ( yoki bir xil o'zgaruvchan);
  • Yangi o'zgaruvchi - yangi o'zgaruvchini yaratadi;
  • Set-Variable - o'zgaruvchining qiymatini belgilaydi. Agar ko'rsatilgan nom bilan o'zgaruvchi bo'lmasa, u yaratiladi;
  • Clear-Variable - o'zgaruvchining qiymatini chiqaradi;
  • Remove-Variable - o'zgaruvchini va uning qiymatini o'chiradi.

Windows PowerShell da formatlash

Windows PowerShell-da, cmdlet chiqishi chiqmasligini formatlash uchun mo'ljallangan cmdletlar to'plami mavjud. Foydalanuvchilar ushbu natijani ko'rish uchun qulay bo'lgan shaklda ko'rsatishga imkon beradi.

  • Format-list - buyruqlar natijasida natijalar ro'yxatida, har bir yangi satrda alohida xususiyat mavjud;
  • Format-jadval - Buyruqning natijasini jadval shaklida chiqaradi;
  • Format-Wide - buyruqlar natijasini keng jadval sifatida chiqaradi, unda har bir ob'ektning faqat bitta xususiyati ko'rsatiladi;
  • Format-Custom - bu holda, chiqishni formatlash maxsus ko'rinish yordamida amalga oshiriladi.

Import va eksport

PowerShell ma'lumotlaringizni turli xil keng tarqalgan formatlarda, masalan, CSV yoki XML formatida import qilish va eksport qilish, shuningdek buyruqlar natijasini tashqi fayl yoki printerga yo'naltirish imkonini beradi.

  • Export-CSV - ma'lumotlarni CSV formatiga eksport qilish;
  • Import-CSV - CSV fayli ma'lumotlarini import qilish;
  • Export-Clixml - ma'lumotlarni XML formatiga eksport qilish;
  • Import-Clixml - CLIXML faylini import qiladi va Windows PowerShell qobig'idagi tegishli moslamalarni yaratadi;
  • Out-File - komeddning natijasini tashqi faylga jo'natadi ( masalan, TXT);
  • Out-Printer - buyruqlar chop etishga chiqishi;
  • Import-Module - joriy sessiyada modullarni qo'shadi.

Windows PowerShell-da tarmoq bilan ishlash

Windows PowerShell-dagi tarmoqni boshqarish uchun quyidagi kabi cmdlets mavjud:

  • Disable-NetAdapter - cmdlet tarmoq adapterini o'chiradi;
  • Enable-NetAdapter - bu cmdlet tarmoq adapterini o'z ichiga oladi;
  • Rename-NetAdapter - tarmoq adapterini qayta nomlaydi;
  • Restart-NetAdapter - tarmoq adapterini qayta ishga tushiradi;
  • Get-NetIPAddress - IP manzilining konfiguratsiyasi haqida ma'lumotni ko'rsatadi;
  • Set-NetIPAddress - IP manzilining konfiguratsiyasini o'zgartiradi;
  • New-NetIPAddress - IP manzilini yaratadi va sozlaydi;
  • Remove-NetIPAddress - IP manzilini va uning konfiguratsiyasini o'chiradi;
  • Get-NetRoute - IP-yo'riq jadvalini ko'rsatadi;
  • Set-NetRoute - IP-yo'riq jadvalini o'zgartiradi;
  • New-NetRoute - IP-marshrutlash jadvalida rekord hosil qiladi;
  • Remove-NetRoute - bitta yoki bir nechta yozuvni o'chiradi ( IP-yo'nalishlar) IP-yo'riq jadvalidan;
  • Get-NetIPv4Protocol - IPv4 protokoli konfiguratsiyasi haqida ma'lumotni ko'rsatadi;
  • Get-NetIPv6Protocol - IPv6 protokolining konfiguratsiyasi haqida ma'lumotlarni ko'rsatadi;
  • Get-NetIPInterface - IP interfeysining xususiyatlari haqida ma'lumotlarni ko'rsatadi;
  • Get-NetTCPSetting - TCP sozlamalari va konfiguratsiyasi haqida ma'lumot beradi;
  • Test-ulanish - Komitet ICMP paketlarini bir yoki bir nechta kompyuterga yuboradi, ya'ni. « ping"Kompyuterlar.

Elementlar bilan ishlash

Windows PowerShell-da elementlar bilan ishlaydigan cmdletlar mavjud, bu erda quyidagi narsalarni tushunishingiz mumkin: fayllar, papkalar, ro'yxatga olish kitobi kalitlari va boshqalar.

  • Clear-Item - elementning tarkibini tozalaydi, lekin elementni o'zi yo'q qilmaydi;
  • Copy-Item - ob'ektni nusxalash;
  • Get-Item - ob'ektni belgilangan joyga oladi;
  • Invoke-Item - ko'rsatilgan elementda ko'rsatuv ishni bajaradi;
  • Move-Item - ob'ektni harakatga keltiradi;
  • Yangi element - yangi elementni yaratadi;
  • Remove-Item - belgilangan elementlarni o'chiradi;
  • Qayta nomlash-ob'ekt - Windows PowerShell provayder nom maydoni doirasida biror narsani o'zgartiradi;
  • Set-Item - elementni o'zgartiradi;
  • Get-ChildItem - bir yoki bir nechta maxsus joylarda elementlar va pastki elementlarni qaytaradi;
  • Get-Location - joriy manzil haqidagi ma'lumotni ko'rsatadi.

Active Directory serverlari (AD)

Windows PowerShell, albatta, Active Directory katalog xizmati bilan ishlashga imkon beradi. Bu maqsadlar uchun juda ko'p miqdordagi trikorlar mavjud, ulardan ba'zilari:

  • New-ADUser - Active Directory-da yangi foydalanuvchi yaratish;
  • Get-ADUser - Active Directory foydalanuvchilari haqidagi ma'lumotlarni ko'rsatadi;
  • Set-ADUser - foydalanuvchi Active Directory-ni o'zgartiradi;
  • Remove-ADUser - Active Directory foydalanuvchisini o'chiradi;
  • New-ADGroup - cmdlet Active Directory-da guruh yaratadi;
  • Get-ADGroup - bir guruh haqida ma'lumotni ko'rsatadi yoki Active Directory dan bir nechta guruhni olish uchun qidiruvni amalga oshiradi;
  • Set-ADGroup - cmdlet Active Directory-da guruhni o'zgartiradi;
  • Remove-ADGroup - Active Directory-da guruhni o'chirish;
  • Qo'shish-ADGroupMember - cmdlet'i yangi Active Directory guruhi a'zoligiga sifatida foydalanuvchi hisob, kompyuter, yoki guruhlar qo'shimchalar;
  • Get-ADGroupMember - Active Directory guruhining a'zolari haqidagi ma'lumotlarni ko'rsatadi;
  • Remove-ADGroupMember - ob'ektlarni Active Directory guruhidan o'chirish;
  • Set-ADAccountPassword - Active Directory hisobining parolini tiklash;
  • Disable-ADAccount - Active Directory hisobini o'chiradi.
  • Enable-ADAccount - Active Directory hisobini yoqadi;
  • Unlock-ADAccoun - Active Directory hisobini ochadi;
  • Yangi-ADComputer - Active Directory-da yangi kompyuter hisobini yaratish;
  • Get-ADComputer - Active Directory-da bir yoki bir nechta kompyuter haqida ma'lumot beradi;
  • Set-ADComputer - Active Directory-da kompyuter hisobini o'zgartirish;
  • Remove-ADComputer - kompyuterni Active Directory dan olib tashlang.

Hyper-V bilan ishlash

Windows PowerShell cmdlet'ler yilda Hyper-V bilan ishlash uchun, bu erda bir qisqa ro'yxati, ko'p bor:

  • Yangi VM - yangi virtual mashinani yaratish;
  • Set-VM - virtual mashina konfiguratsiyasi;
  • Start-VM - virtual mashinani ishga tushirish;
  • Stop-VM - virtual mashinani yopish, yopish yoki saqlash;
  • Import-VM - fayldan virtual mashinani import qilish;
  • Move-VM - virtual mashinani yangi Hyper-V kompyuteriga ko'chiring;
  • Remove-VM - virtual mashinani o'chirish;
  • Rename-VM - virtual mashinani qayta nomlash;
  • Yangi VHD - bir yoki bir nechta yangi virtual qattiq disklarni yaratish;
  • Set-VHD - virtual qattiq diskni sozlash;
  • Test-VHD - foydalanish uchun yaroqsiz holga keladigan muammolar uchun virtual qattiq diskni sinab ko'rish;
  • Add-VMDvdDrive - virtual mashinaga DVD qo'shib beradi;
  • Remove-VMDvdDrive - DVDni virtual mashinadan o'chiradi;
  • Add-VMHardDiskDrive - virtual mashinaga qattiq disk qo'shadi;
  • Chiqarib oling-VMHardDiskDrive - virtual mashina bir yoki bir necha virtual qattiq disk (VHD) olib tashlanadi;
  • Add-VMNetworkAdapter - Virtual mashinaga virtual tarmoq adapterini qo'shadi;
  • Remove-VMNetworkAdapter - virtual mashinadan bir yoki bir nechta virtual tarmoq adapteri chiqaradi;
  • Copy-VMFile - fayllarni virtual mashinaga nusxalash;
  • Get-VMVideo - virtual mashinalar uchun video sozlamalari haqidagi ma'lumotlarni ko'rsatadi;
  • Move-VMStorage - virtual mashinaning tovushini harakatlantirish.

Fon vazifalari bilan ishlash

Windows PowerShell-da, vazifalarni fonda ishga tushirishingiz mumkin, shunda buyruq oxirini kutmasdan ( vazifa uzoq vaqt bajarilgan holatlar uchun), joriy sessiyada ishlashni davom ettiradi. PowerShell-da fon ishlarini bajarish uchun quyidagi cmdletlar mavjud:

  • Start-Job - fon vazifasini boshlash;
  • Stop-Job - fon vazifasini to'xtatish
  • Get-Job - fon vazifalari ro'yxatini ko'rish;
  • Receive-Job - fon vazifasini bajarish natijasini ko'rish;
  • Remove-Job - fon vazifasini o'chirish;
  • Wait-Job - oxirini kutish uchun fon vazifasini oldinga o'tkazish uchun.

Ob'ektlar bilan ishlash

PowerShell obyektlar bilan ishlayotgani uchun, ushbu moslamalarni ba'zi harakatlar bajarishga imkon beradi, masalan:

  • Chora-Ob'ektni - kabi xususiyatlari kabi raqamli parametrlarini to'plab asosida hisoblab cmdlet ob'ektlar: Minimal, maksimum, o'rtacha, summasi va miqdor. Misol uchun, siz maksimal yoki ma'lum bir katalogda bir fayl o'rtacha hajmini bilishni istayman, yoki faqat (fayllar sonini topish ishlaydigan jarayonlar, xizmatlar va hk);
  • Tanlang ob'ekti - bu cmdlet'i foydalanish, masalan siz fayl va uning kattaligi faqat nomini ko'rsatish uchun kerakli, muayyan ob'ekt yoki ob'ektlar xususiyatlarini tanlash mumkin;
  • Ob'ektni saralash - ob'ektlar qiymatlari bo'yicha ob'ektlarni tartiblaydi;
  • Ob'ektni qaerda joylashgan bo'lsa, - ularning xususiyatlarining qadriyatlari asosida ob'ektlarni olish uchun shartlarni o'rnatish uchun cmdlet;
  • Guruh-ob'ekt - belgilangan funktsiyalar uchun bir xil qiymatga ega bo'lgan guruh ob'ektlari;
  • ForEach-Object - ob'ektlarning har birida ma'lum bir operatsiyani bajarish uchun ob'ektlar ro'yxati.

Masofaviy boshqaruv uchun PowerShell cmdlets

Windows PowerShell bilan, siz mahalliy, balki birida yoki bir necha uzoq shaxsiy kompyuterlar nafaqat buyruqlar mumkin.

  • Enter-PSSession - masofali kompyuter bilan interfaol seansni boshlaydi;
  • Exit-PSSession - masofali kompyuter bilan interfaol seansni tugatadi;
  • New-PSSession - mahalliy yoki uzoq kompyuterga doimiy ulanishni ta'minlaydi;
  • Remove-PSSession - bir yoki bir nechta Windows PowerShell sessiyalarini yopadi;
  • PSSessionni o'chirish - sessiyadan uziladi;
  • Connect-PSSession - uzilgan seanslarga ulanadi;
  • Get-PSSession - Windows PowerShell sessiyalarini mahalliy va uzoq kompyuterlarga oladi;
  • Invoke-Command - mahalliy va uzoq kompyuterlardagi buyruqlar.

Xizmatlar va jarayonlar bilan ishlash

PowerShell, albatta, Windows'dagi xizmatlarni va jarayonlarni qanday boshqarishni biladi, buning uchun quyidagilar kabi cmdlets mavjud:

  • Get-Process - kompyuterda ishlaydigan jarayonlar haqidagi ma'lumotlarni ko'rsatadi;
  • Start-Process - kompyuterda bir yoki bir nechta jarayonni boshlaydi;
  • Stop-Process - bir yoki bir nechta ishlaydigan jarayonlarni to'xtatadi;
  • Get-Service - xizmat haqida ma'lumotni ko'rsatadi;
  • Restart-Service - xizmatni qaytadan boshlaydi;
  • Start-Service - xizmatni boshlaydi;
  • Stop-Service - xizmatni to'xtatadi;
  • Suspend-Service - xizmatni to'xtatib turadi;
  • Set-Service - Bu komandani ishlatib xizmat ko'rsatish xususiyatlarini o'zgartirishingiz mumkin, masalan, tushuntirish, ko'rish nomi va boshlash rejimi. Bundan tashqari, xizmatni ishga tushirish, to'xtatish yoki to'xtatish uchun foydalanishingiz mumkin.

Kompyuter bilan ishlash

Windows PowerShell, operatsion tizim va kompyuter uchun ma'muriy vazifalarni amalga oshirishga imkon beradi, masalan, operatsion tizimni qayta ishga tushiring yoki kompyuterni qayta nomlash.

  • Kompyuterni qayta boshlash - cmdlet operatsion tizimini qayta ishga tushiradi ( kompyuterni qayta ishga tushiradi);
  • Stop-Computer - kompyuterni o'chiradi;
  • Rename-Computer - kompyuterni qayta nomlash;
  • Checkpoint-Computer - mahalliy kompyuterda tizim tiklash nuqtasini yaratadi;
  • Restore-Computer - mahalliy kompyuterda tizimni tiklashni boshlaydi;
  • Disable-ComputerRestore - fayl tizimidagi ko'rsatilgan diskda tizimni tiklash funktsiyasini o'chiradi;
  • Enable-ComputerRestore - fayl tizimining belgilangan diskida tizimni tiklash funksiyasini yoqadi;
  • Remove-Computer - mahalliy kompyuterni domendan o'chiradi;
  • Get-EventLog - voqea jurnalidagi voqealar yoki mahalliy yoki uzoqdagi kompyuterdagi voqea jurnallarining ro'yxati haqidagi ma'lumotlarni ko'rsatadi;
  • Clear-EventLog - ko'rsatilgan voqea jurnallaridan yozuvlarni o'chiradi.

Kontent bilan ishlash

Kontentni boshqarish uchun, masalan, Windows PowerShell-dagi faylda matnni kiritish uchun maxsus komitetlar mavjud:

  • Get-Content - elementning tarkibini oladi ( masalan, faylni o'qiydi);
  • Add-Content - belgilangan elementlarga kontent qo'shadi, masalan, faylga matn;
  • Aniq-Content - element ning mazmunini tozalaydi, ammo elementni o'zi olib tashlash emas;
  • Set-Content - deb yozadi yoki yangi mazmun bilan, bir element tarkibi o'rniga o'tadi.

Boshqa Windows PowerShell cmdlets

Men ham quyidagi cmdlet'leri Windows PowerShell qayd etishni istardim, sizga kerak, ishonch hosil va foydali bo'ladi.

  • Get-ExecutionPolicy - bu cmdlet'i foydalanish, siz joriy sessiya uchun amal Windows PowerShell ijro siyosatini topish mumkin;
  • Set-ExecutionPolicy - cmdlet'i ijro siyosatini o'zgartiradi Windows PowerShell;
  • Write-Host - ekrandagi ma'lumotlarni ko'rsatadi ( matn yozadi);
  • Read-Host - konsoldan kirish liniyasini o'qiydi;
  • Write-Warning - ogohlantirish xabarini ko'rsatadi;
  • Yozish-Xato - cmdlet'i xato va xato oqimi uchun orqamga u e'lon qiladi;
  • Get-Date - joriy sana va vaqtni qaytaradi;
  • -Sana o'rnating - cmdlet'i kompyuterda tizimning sana va vaqtini o'zgartiradi.

Bu erda biz siz bilan va Windows PowerShell, men bu hidoyat omad, siz uchun foydali bo'ladi deb umid qilamiz foydali va tez-tez ishlatiladigan cmdlet'leri ko'rib!

Bizning sharh ma'muriy vazifalarni turli bajarish uchun Windows PowerShell asosiy imkoniyatlarining foydalanish qaratilgan. Birinchidan, Windows PowerShell qobiliyatini ajralmas mos yozuvlar ko'rib.

  Windows PowerShell xususiyatlariga kirish

Shunday qilib, siz - administrator kimga Windows PowerShell'i o'rganish qisqa vaqt ichida bo'lgan. Agar (hujjatlar va yordam tizimi nazarda tashqari, albatta) ustida ish boshlashdan mumkin bo'lgan birinchi narsa, - (1-rasm) Yordam amri foyda olish.

diqqat ko'rsatilgan ma'lumotlarni o'rganib bo'lgach, biz quyidagi tushunchalarni tushunish uchun kelgan: Windows PowerShell'de, u erda boshqa nomlar, voqea jurnallaridan, provayderlar, va fayllarni yordam beradi. (Boshqacha) laqab (buyruqlar kiritishni engillashtirish uchun ishlatiladi, masalan, klc  jamoaning takma nomidir Ochiq kontent), Cmdlet'leri (cmdlet) amalga oshirish uchun barcha ajralmas Windows PowerShell amr, provayderlar (provayder) va hokazo fayl tizimi, ro'yxatdan o'tishingiz, sertifikat do'konida, kirish ta'minlash va qo'shimcha ma'lumot olish uchun ishlatiladi) fayllari (HelpFile yordam beradi. Buyruqning batafsil tavsifini olish uchun quyidagi sintaksisini foydalaning:

PS S:\u003e Yordamga buyruq bering

Ushbu buyruqlar natijasida buyruqning to'liq tavsifini olamiz Buy-Buyruquning maqsadi, sintaksisi, imkoniyatlari va shu kabilar. (2-rasm).


Barcha o'rnatilgan buyruqlar ro'yxatini olish uchun quyidagi sintaksikidan foydalaning:

PS S:\u003e Buy-Buyruq

Barcha buyruqlar fe'l va sifatdan iboratligini unutmang (masalan, Get-Content, Export-Console) Va barcha buyruqlar yagona o'zgartiring tizimi qo'llab-quvvatlash - misol hech narsa tugatish uchun Stop har doim juda ta'lim PowerShell qobiliyatini (3-shakl) osonlashtiradi fe'l, bir o'ldiringlar, tugatishi emas, to'xtatish yoki boshqa sinonimini foydalanadi ..


Jamoa Get-xizmat  ushbu kompyuterda ishlaydigan barcha xizmatlarning ro'yxatini olish uchun ishlatiladi. Masalan,

PS S:\u003e Xizmatdan foydalanish

rasmda ko'rsatilgan ro'yxatni qaytaradi. 4.


Hozirda kompyuterda ishlaydigan jarayonlar ro'yxatini olish uchun buyruqlar Get-Process  (5-rasm):


PS S:\u003e Get-Process

Windows PowerShell-da, kiritish avtomatik tarzda bajarilishi qo'llab-quvvatlanadi. Buni tekshirish uchun, yozing Get-P  va TAB tugmachasini bosing: kiritilgan belgilar bilan boshlangan barcha buyruqlar tanlashingiz mumkin.

Buyruqning argumenti sifatida faqat bitta jarayon haqida ma'lumot olish uchun Get-Process  Bu jarayonning nomi berilgan (6-rasm):

PS S:\u003e Get-Process Explorer-ni tanlang

Muayyan belgi nomi bilan boshlash, barcha jarayonlar ro'yxatini olish uchun, u ramzi "*" (shakl 7.) ko'rsatish uchun etarli emas:


PS S:\u003e Get-Process i *

Ma'lumotni o'z ichiga olgan ustunlarga e'tibor bering - Qo'llar, NMP (K), va boshqalar. Odatiy bo'lib, ma'lumotlar jadval sifatida ko'rsatiladi, ammo aslida barcha buyruqlar moslamalarni qaytaradi. «|» Ushbu ob'ektlar ramzi boshqa amriga berilishi mumkin (rasm 8.):


PS S:\u003e Get-Process i * | format ro'yxati

Endi jarayonlarning ro'yxati boshqa ko'rinishda mavjud. Turli formatlar haqida ko'proq ma'lumot olish uchun siz quyidagi buyruqni ishlatishingiz mumkin:

PS S:\u003e Yordam shakli *

Boshqa mumkin bo'lgan formatlar:

PS S:\u003e Get-Process i * | formatga ega

PS S:\u003e Get-Process i * | format-odat

chiqish har doim olinadi yildan ob'ekt kabi filtrlash kabi qo'shimcha operatsiyalarni amalga oshirish uchun qayta ishlanishi mumkin:

PS S:\u003e Get-Process qaerda ($ _. handlecount -gt 400)

yoki tartibida:

PS S:\u003e Get-Process qaerda ($ _. handlecount -gt 400) | tartibida ob'ektlar

Juda oqilona savol tug'ilishi mumkin: jarayonni ta'riflovchi ob'ektning mulkka ega ekanligini qanday bilib oldik hisob raqamlari? Barcha ob'ekt xususiyatlarining ro'yxatini olish uchun quyidagi buyruqni bajaring (9-rasmga qarang):


PS S:\u003e Get-Process Get-Member

Buyruq bajaring Get-Process | Get-Member kompaniyasi  - Standart formatlash bilan kerakli ma'lumotlarni olish mumkin emas. Olingan komandani quyidagicha aylantiring:

PS S:\u003e Get-Process Get-Member Kompaniya Format-list

Uning konvertatsiya qilish natijasida shakl. 10.


PS S:\u003e Get-Process sort-ob'ekt kompaniyasi format-jadval-guruh Kompaniyaning nomi, ta'rifi, vazifalari

Ushbu buyruqning natijasi shakl 1da ko'rsatilgan. 11.


Jamoa stop-process  ishlaydigan jarayonni to'xtatishga imkon beradi, masalan:

PS S:\u003e Get-process notepad | stop-process

Bu xususiyat har doim ham xavfsiz emas, shuning uchun ushbu buyruqlarni parametr bilan ishlatish yaxshidir neifQaysi bir jamoa ishlashi, lekin aslida buyrug'i muvaffaqiyatsiz bo'lsa nima sodir ko'rsatadi:

PS S:\u003e Get-Process notepad-ni ishlating stop-process -whatif

Bundan tashqari, buyruqni bajarishdan oldin tasdiqlash zarurligini ko'rsatib o'tishingiz mumkin:

PS S:\u003e Get-Process notepad-ni ishlating stop-process -confirm

Buyruqni tasdiqlash natijasi shakl. 12.


O'tgan Masalan, biz bir jamoa tomonidan amalga oshiriladi harakatlar tavsifi olish, va biz ijrosini buni tan tanlashingiz yoki mumkin emas.

Bundan tashqari, siz PowerShell amr joylashtiriladi kengaytirish * .ps1 bilan fayllar o'z partiyasi fayllarni yaratish va ularni amalga mumkin. Xavfsizlik sababli, ommaviy ish fayllari imzolanishi kerak. Sinov jarayonida faqat imzolangan fayllarni ishlatish talabini o'chirib qo'yishingiz mumkin:

PS C: Set-ExecutionPolicy cheklanmagan

ammo sinov tugaganidan keyin ushbu parametrni quyidagi buyruq bilan qayta yoqishni unutmang:

PS S:\u003e Set-ExecutionPolicy AllSigned

Ushbu transport vositasini ishlatish uchun qanday Windows PowerShell ko'rib asoslari bilan tanishdilar lozim so'ng, ma'muriy vazifalarni turli hal mumkin.

  Fayl tizimi bilan ishlash

tez-tez fayl va kataloglarni o'chirish, nomini, harakat kabi nusxa fayllar manipulyatsiyasi ishtirok ko'p IT mutaxassislari, duch muammolardan biri. Shakl. 13-rasmda fayl tizimini boshqarish uchun ishlatiladigan asosiy Windows PowerShell buyruqlar ko'rsatilgan: yangi element, nusxa olish elementi, move-item, nomini o'zgartirish  va olib tashlash.


Boshqa pardalarida farqli o'laroq, unda Windows PowerShell, fayllar bilan va manipulyatsiyasi uchun ishlatiladigan buyruqlar yagona to'siq fayllar uchun buyruqlar to'plamidir (masalan, o'chirish yoki qayta nomlash), va kataloglar (masalan, rd yoki MD), bir qator bor, kataloglari.

Bizning misolimizda birinchi buyruq - new-item TextFiles -tetype katalogi  - Joriy papkada yangi TextFiles pastki katalogini yaratish uchun foydalaniladi. Agar siz parametrni tashlab qo'ysangiz -Itemtem, Windows PowerShell fayl yoki katalog yaratishni so'raydi. Esda tutingki, jamoa yangi element  Boshqa ism - ni mavjud. Kamaytirilgan formada bizning birinchi jamoamiz shunday bo'ladi:

PS C:\u003e ni TextFiles - identifikatorning katalogi

Keyin buyruqdan foydalanamiz nusxa olish elementi  (taxalluslar - cpi, cp, nusxa ko'chirish) * .txt kengaytmasi bilan barcha fayllarni TextFiles pastki katalogiga nusxalash. Agar bu buyruqni ommaviy ish faylida ishlatsangiz, parametrlarni aniqlab, uni yanada aniqroq qilish mantiqan -Path  (manba) va - Tanlov  (qabul qiluvchi):

PS C:\u003e Nusxa ko'chirish-modda -path "\\ * txt .." -destination. \\ Matn fayllari "

Nusxa ko'chirish buyrug'ini bajarganingizdan so'ng biz buyruqni ishlatamiz o'rnatish joyi  TextFiles pastki katalogiga o'tish uchun. Buyruqni ishlatish nomini o'zgartirish  psdemo.txt faylini psdemo.bak deb qayta nomlash. Agar kerak bo'lsa, siz o'zingizning imkoniyatlarni qo'llashingiz mumkin -Path  va -NewName. Fayl nomini o'zgartirgandan so'ng, uni buyrug'i yordamida bir darajaga ko'taring move-item. Keyin buyruqni qo'llang o'rnatish joyi, yoki undan aniqroq - uning taxallusi sl  boshqa katalogga o'tish uchun. Fayl tizimi bilan ishlov berish, biz buyruqni ishlatib, butun TextFiles katalogini o'chirib tashlaymiz olib tashlash. TextFiles katalogida fayllar mavjudligi sababli parametr qo'llaniladi -Rekurse. Ushbu parametr belgilanmagan bo'lsa, Windows PowerShell buyrug'i bajarishdan oldin tasdiq so'rashi kerak olib tashlash.

  Ro'yxatga olish bilan ishlash

turli parametrlarini va har qanday parametrlarini aniqlash uchun urinishlar qilayotganda, biz ba'zan kalitlari, qadriyatlar, va hokazo izlab ro'yxatga olish uchun borish kerak Windows PowerShell funktsiyalaridan foydalangan holda, ushbu vazifani juda oddiy tarzda hal qilish mumkin. Windows PowerShell ning xususiyatlari quyidagicha: 14.


Bizning birinchi jamoamiz takrorlanadigan nomdan foydalanadi sl  buyrug'i bajarish uchun o'rnatish joyiQaysi ro'yxatga olish, HKEY_CURRENT_USER bo'limini fayl tizimi bilan mavjud o'rnini o'zgartiradi:

PS C: \\\u003e sl hkcu:

Fayl tizimi bilan ishlashda bo'lgani kabi, PowerShell ro'yxatga olish kitobini ochish uchun maxsus provayderdan foydalanganligini unutmang.

Yuqoridagi buyruqlar analoglari buyruqlar:

PS C: \\\u003e sl ro'yxatga olish kitobi: hkcu

PS C: \\\u003e sl hkey_current_user

Quyidagi buyruq barcha HKEY_CURRENT_USER ro'yxatga olish bo'limi tarkibini reg o'zgaruvchiga yuklaydi:

PS HKCU: \\\u003e $ reg = gci. -Rec -e silentlycontinue

Buning uchun buyruqdan foydalanamiz olish  (taxallus - gci), bu tamoyil fayl tizimi bilan ishlashga o'xshaydi. Ushbu buyruq birinchi argument - "-. HKEY_CURRENT_USER - Biz joriy ro'yxatga olish bo'limi mazmunini olish istayman ekanligiga ball. Ikkinchi argument bu variant uchun qisqa -Rekurse ro'yxatga olishning hozirgi filialining barcha filiallaridan rekordiv ma'lumotlarni to'plashimiz kerakligini bildiradi. Va nihoyat, uchinchi dalil - - Sekin silkitadi  - ma'lum ro'yxatga olish shoxobchalariga kirish huquqlarining yo'qligi bilan bog'liq xatolar bo'lsa ham buyruqlar bajarilishi kerakligini ko'rsatadi.

Bizning misolimizda quyidagi buyruqlar mavjud:

PS HKCU: \\\u003e $ s = $ reg | % (agar (gp $ _. pspath) -match 'PowerShell') ($ _. pspath))

mag'lubiyatni o'z ichiga olgan ro'yxatga olish kitobidan nusxa ko'chiradi "PowerShell". Ob'ektni olib, biz boshlaymiz. reg  va uni jamoaga yo'naltiring % buyruqning takma ismi har biri uchun. Ob'ektdagi barcha ro'yxatga olish yozuvlari o'z-o'zidan yineluvchi harakatni amalga oshiradi. reg  va har bir qadamda elementni maxsus PowerShell ob'ektida saqlaydi ‘_’ . Buruq parantezlarda buyruqning har bir qadamida bajarilishi kerak bo'lgan ishlarni aniqlaymiz har biri uchun. Ichki blok har biri uchun  biz tekshiruvdan foydalanamiz agar  Joriy ro'yxatga olish kitobi yozuvi va uning pspath xususiyatini buyruqni chaqirib olamizmi, bilib olish uchun mahsulotni sotib olish  (taxalluslar orqali) gp), bizning mezonimiz mag'lubiyatning mavjudligi "PowerShell". Agar o'yin topilsa, biz mulkning qiymatini qaytaramiz. pspath. Barcha topilgan narsalar ob'ektda saqlanadi.   b.

Qidiruv natijalarini jamoaga yo'naltirish orqali ro'yxatga olish ishini yakunlaymiz. ob'ektni tanlang  (taxalluslar orqali) ni tanlang) va birinchi ikkita topilgan natijalarni ko'rsatish. Jismoniy mashqlar qilib, yakuniy natijalarni buyruq yordamida faylga yo'naltirishingiz mumkin tashqi fayl.

  Jarayonlarga kirish

IT mutaxassislari duch kelishi mumkin bo'lgan yana bir muammo, masalan, tizimning ishlashida anomaliyalarni aniqlash bilan bog'liq, masalan, katta hajmdagi xotiralarni iste'mol qiladigan jarayonlar. Keling, ushbu vazifa Windows PowerShell yordamida qanday amalga oshirilganini ko'rib chiqamiz (15-rasm).


Birinchi buyruqda biz ushbu kompyuterda ishlaydigan barcha jarayonlar haqida o'zgarmaydigan ma'lumotlarni saqlaymiz $ allprocs:

PS C: \\\u003e $ allprocs = get-process

Shundan so'ng olingan ma'lumotlarni jamoaga yo'naltiramiz. har biri uchunbu ham taxallus bilan belgilanishi mumkin %   yoki foreach. Ushbu buyruq jarayon bilan bog'liq barcha moslamalarni numaralandırır va har bir bosqichda ma'lumot ichki ob'ektda saqlaydi. $_ . Ushbu ob'ektni joriy ob'ekt deb atash mumkin. Buyruq parametrlari sifatida har biri uchun  biz mulkning qiymatini taqqoslash operatsiyasini ko'rsatamiz virtualmemorysize xotira hajmi bilan qiziqamiz (misolimizda 20 MB). Agar ushbu obyektning qiymati ushbu ob'ekt uchun belgilangan qiymatdan katta bo'lsa, biz jarayonning nomini ekranda aks ettiramiz. PowerShell siz uchun juda foydali bo'lgan KB, MB, GB o'lchamlari uchun asosiy qisqartirishlarni qo'llab-quvvatlaydi. Chunki xotira, disklar va boshqalarni aniqlaganda nollarni sanash shart emas.

  Syslog kirish

Muvaffaqiyatlarning sabablarini aniqlashga harakat qilsak, ko'pincha tizimda sodir bo'lgan voqealar haqida foydali ma'lumotlarni saqlaydigan tizim jurnaliga murojaat qilamiz. Odatda, Voqealar ko'rish (eventvwr.exe) yordam dasturi tizim jurnalini tekshirish uchun ishlatiladi. PowerShell'da biz ichki o'rnatilgan buyruqlardan foydalanishimiz mumkin get-eventlog, tizim jurnalining mazmunini tezda tekshirish uchun (16-rasm).


Bizning birinchi jamoamiz tizim jurnallaridan asosiy ma'lumotlarni yuklab olishadi:

PS C: \\\u003e get-eventlog -list

Variantni ishlatmasdan - List  PowerShell syslog nomini aniq ko'rsatilishini so'raydi. Bizning misolimizda tizim jurnallarida bir nechta kirish punktlari mavjud: dastur, Internet Explorer, tizim, Windows Power Shell va boshqalar. Bizning keyingi buyruqlar turi bo'lgan syslog yozuvlarini oladi "Xato":

PS C: \\\u003e $ bad = get-eventlog "Tizim" qaerda-ob'ekt ($ _. EntryType -eq "Error")

Buyruqdan foydalanamiz get-eventlog, bu parametrni aniqlaydi "Tizim"  Faqat tizim yozuvlarini olish uchun parametrni qo'llash orqali buni aniqroq qilib belgilashimiz mumkin logName. Argumentlar tarkibi $ bad  jamoaning kirishiga uzatiladi qaerda-ob'ekt  faqat qiziqish yozuvlarini filtrlash. Buyruq argumentlari sifatida qaerda-ob'ekt  biz faqat mulkka ega bo'lgan yozuvlarni qidiramiz EntryType  tengdir "Xato".

Buyruqlar yordamida oxirgi beshta xato yozuvini ko'rsatib, tizim jurnalini o'rganishni yakunlaymiz ob'ektni tanlang  parametr bilan - Yaxshi:

PS C: \\\u003e $ bad | ob'ektni tanlash - 5-bosqich

  WMI ga kirish

Ma`lum bo`lganidek, Windows Management Instrumentation (WMI) - Microsoftning Umumiy ma'lumot modeli (CMI) standartini amalga oshirishidir. Ko'p hollarda WMI IT mutaxassislari tomonidan ushbu kompyuterda o'rnatilgan apparat va dasturiy ta'minot haqida ma'lumot olish uchun foydalaniladi. Quyidagi misolda ko'rib chiqamizki, Windows PowerShell yordamida WMI-da saqlangan ma'lumotlarga kirish osonroq bo'ladi (17-rasm).


Birinchi satrda biz buyruqni ishlatamiz get-wmiobject diskni diskka almashtirish va ushbu ma'lumotni o'zgaruvchiga saqlash uchun ishlatiladigan fayl haqida ma'lumot $ pfu:

PS C: \\\u003e $ pfu = get-wmiobject-class "win32_pageFileUsage"

PS S: \\\u003e $ pfu | a'zo bo'lmish-a'zo maqomi | where_object ($ _. name -nomatch '_')

Odatda, ma'lum bir sinf uchun ma'lumotni topish uchun buyruqni ishlatishingiz mumkin a'zo bo'l  parametrlarni ko'rsatmasdan, lekin bizning misolimizda biz faqatgina mavjud bo'lgan narsalarga qiziqishdamiz va faqat nom ostida pastki chiziqni o'z ichiga olmaydi. Diqqatli o'quvchi savolga ega bo'lishi mumkin: sinfning mavjudligi haqida qanday qilib bilib oldik win32_pageFileUsage? Nihoyat, WMI mingdan ortiq sinfni qo'llab-quvvatlashini bilishadi, bunga qo'shimcha ravishda bir nechta dastur o'z sinflarini qo'shadi. Buyruqni ishlatishingiz mumkin:

PS C: \\\u003e get-wmiobject -list

tizimda mavjud bo'lgan barcha sinflar ro'yxatini olish. Bizga mavjud bo'lgan sinf xususiyatlarini aniqlagandan so'ng, biz uchun qiziqarli xususiyatlar tarkibini biz ekranda aks ettiramiz:

PS C: \\\u003e $ pfu.caption; $ pfu.currentusage

Misolimizning ikkinchi qismi boshqa sinfga bag'ishlangan - win32_DiskDrivetizimda o'rnatilgan disklar haqidagi ma'lumotlarni saqlaydi. Bu sinf bir nechta ob'ektni o'z ichiga olgan WMI sinfining namunasidir. Bizning misolimizda mulkning qiymatini belgilaymiz. sarlavhasi  Tizimda o'rnatilgan birinchi disk:

PS C: \\\u003e $ dd.caption

  XML fayllaridan foydalanish

Yaqinda XML fayllari konfiguratsiya ma'lumotlarini saqlash uchun tobora ko'proq foydalanilmoqda. XML faylidagi ma'lumotlar yig'ilsa, o'qish uchun qulayroq bo'ladi. Keyinchalik, Windows PowerShell xususiyatlarini XML fayllari bilan ishlash uchun qanday foydalanishni ko'rib chiqamiz.

Misol uchun, Windows Calendar konfiguratsiya faylini ko'ring (18-rasm):

va shakl 6da ko'rsatilgan manipulyatsiyani bajarish. 19

Birinchi satrda biz butun XML faylining tarkibini buyrug'i yordamida o'zgaruvchiga yuklaymiz olish-kontent:

PS C: \\\u003e $ doc = get-content '. \\ Settings.xml'

Ma'lumot turlaridan foydalanishga e'tibor bering. : agar siz ushbu turdagi ma'lumotlardan foydalanishni aniqlamagan bo'lsangiz, o'zgaruvchiga oddiygina matn qo'yiladi.

Ikkinchi satrda biz XML faylining muayyan bir qismini tanlaymiz - bu yordamida selectnodes  XML ma'lumotlarini saqlaydigan ob'ekt va filial manzili XPath tavsifi:

PS C: \\\u003e $ settings = $ doc.selectnode ("CalendarSettings / X-Root / VCalendar")

Shundan keyin buyruqni ishlatamiz foreach obyekti  mulk qiymatini olish uchun Ism  ma'lum bir filialdagi barcha narsalar uchun.

  Xulosa

IT-mutaxassislari oldida turgan vazifalarni soddalashtirish uchun Windows PowerShell-ning asosiy xususiyatlarini ko'rib chiqdik. Ma'lumki, bu vazifalar ko'pincha VBScript skript tilidan foydalangan holda hal qilinadi. Windows PowerShell-da, mavjud kodni VBScriptga qo'llashingiz mumkin, shuning uchun migratsiya juda soddalashtirilgan (20-rasm).


Yuqoridagi misol PowerShell-dagi mavjud VBScript kodidan qanday foydalanish mumkinligini ko'rsatadi. Birinchi satrda skript dasturini bajarish - ScriptControlning asosiy qismi bo'lgan yangi MAQOM ob'ektini yaratamiz. Keyin biz Visual Basic skript tilidan foydalanamiz. Uchinchi yo'nalish VBScript-da haqiqiy kodni o'rnatadi - bizning misolimizda, bu MsgBox funksiyasiga qo'ng'iroq, lekin amalda, masalan, faylning kodini o'zgaruvchiga yuklashingiz mumkin. Va nihoyat, oxirgi satrda biz ob'ektga VBScript kodini qo'shamiz va kod bajariladi.

  Tarmoq resurslari

Mahsulot jamoasi blogi: http://blogs.msdn.com/PowerShell/.

Yordamchi dasturlar, tahrirlovchilar va qo'shimchalar: http://www.powershell.com/.

Dmitriy Sotnikovning "Quest" kompaniyasining blogi: http://dmitrysotnikov.wordpress.com/.

PowerGadgets cheklanmagan PowerShell kengaytmalariga misoldir:

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