Turli parametrlarni amalga oshirishda va har qanday parametrlarni aniqlashga harakat qilsak, ba'zan tizim kalitiga, qiymatlarga va hokazolarni qidirishga kirish kerak. Windows PowerShell bilan ushbu vazifani echishga etarli oddiy usul. Windows PowerShell ning xususiyatlari quyidagicha: 14.
Bizning birinchi jamoamiz takrorlanadigan nomdan foydalanadi sl buyrug'i bajarish uchun o'rnatish joyi, bu bizning joriy manzilimizni fayl tizimidan tizim registridagi HKEY_CURRENT_USER filialiga 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 buyruqning birinchi argumenti "." - mavjud ro'yxatga olish bo'limi tarkibini olishni istaganimizni ko'rsatadi - HKEY_CURRENT_USER. Ikkinchi argument bu variant uchun qisqa -Rekurse va ro'yxatga olishning joriy filialining barcha quyi bo'limlaridan ma'lumotlarni rekursiv yig'ish kerakligini bildiradi. Va nihoyat, uchinchi dalil - - Sekin silkitadi - ro'yxatga olishning ma'lum bo'linmalariga kirish huquqlarining etishmasligi bilan bog'liq xatolar mavjud bo'lsa ham, buyruq ishlashni davom ettirish kerakligini bildiradi.
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 % , bu jamoaning takrorlanmasi har biri uchun. Ob'ektdagi barcha ro'yxatga olish ma'lumotlarini o'zida saqlab turish reg va har bir qadamda elementni maxsus PowerShell ob'ektida saqlaydi ‘_’ . Jingalak qavslarda buyruqni bajarishning har bir bosqichida bajarilishi kerak bo'lgan harakatlar aniqlanadi har biri uchun. Blokning ichida har biri uchun biz chekdan foydalanamiz agar Joriy ro'yxatga olish kitobi yozuvi va uning pspath xususiyatini buyruqqa kirish orqali olganimiz uchun mosligini aniqlash 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 topilgan birinchi ikkita natijani ko'rsatish. Jismoniy mashqlar qilib, yakuniy natijalarni buyruq yordamida faylga yo'naltirishingiz mumkin tashqi fayl.