O'rnatilgan powershell dasturlari ro'yxatini oling. WMI yordamida dasturlarni masofadan o'chirish

💖 Sizga yoqdimi? Havolani do'stlaringiz bilan baham ko'ring

Administrator ishida ko'pincha tarmoqdagi ma'lum bir kompyuterda ma'lum bir dastur o'rnatilgan yoki yo'qligini va uning qaysi versiyasi ekanligini tekshirishga ehtiyoj bor. Masalan, muhim yangilanish o'rnatilganligini yoki barcha ish stantsiyalarida Office-ning to'g'ri versiyasi mavjudligini tekshirishingiz mumkin.
Buni skriptlar yordamida qanday qilish (misol yordamida) quyida tasvirlangan.

G'oya, bu haqdagi ma'lumotlarga asoslanadi o'rnatilgan dasturlar ah tizim registrida joylashgan:
HKLM\Software\Microsoft\Windows\CurrentVersion\O'chirish\

Belgilangan ro'yxatga olish kitobi uyasi faqat "barcha foydalanuvchilar uchun" o'rnatilgan dasturlarning ro'yxatini beradi va "ushbu foydalanuvchi uchun" dasturlari uyada ro'yxatga olinadi:
HKCU\Software\Microsoft\Windows\CurrentVersion\O'chirish

Windows x64 da dasturlar ro'yxati ro'yxatga olish papkasida ham saqlanadi:
HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\O'chirish

Shunga ko'ra, to'liq ro'yxatni olish uchun siz ro'yxatga olish kitobining barcha uchta bo'limidan ma'lumotlarni skanerlashingiz kerak bo'ladi.

Masalan, VBScript-da:

Const HKLM = &H80000002 "HKEY_LOCAL_MACHINE strComputer = "computer" strKey = "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\" strEntry1a = "DisplayName" strEntry1b = "QuietDisplay2 ="Entry."Entry.V" jor" try4 = "VersionMinor" strEntry5 = "EstimatedSize" o'rnating objReg = GetObject("winmgmts://" & strComputer & _ "/root/default:StdRegProv") objReg.EnumKey HKLM, strKey, arrSubkeys WScript.Echo "O'rnatilgan" va strComput ("O'rnatilgan ilovalar") " & VbCrLf Har bir strSubkey uchun arrSubkeys intRet1 = objReg.GetStringValue(HKLM, strKey & strSubkey, _ strEntry1a, strValue1) Agar intRet1 bo'lsa<>0 Keyin objReg.GetStringValue HKLM, strKey & strSubkey, _ strEntry1b, strValue1 End If If strValue1<>"" Keyin WScript.Echo VbCrLf & "Ko'rsatish nomi: " & strValue1 End Agar objReg.GetStringValue HKLM, strKey & strSubkey, _ strEntry2, strValue2 Agar strValue2 bo'lsa<>"" Keyin WScript.Echo "O'rnatish sanasi: " & strValue2 End If objReg.GetDWORDValue HKLM, strKey & strSubkey, _ strEntry3, intValue3 objReg.GetDWORDValue HKLM, strKey & strSubkeyV3 in, If_strKey va strSubkeyV4,<>"" Keyin WScript.Echo "Versiya: " & intValue3 & "." & intValue4 End Agar objReg.GetDWORDValue HKLM, strKey & strSubkey, _ strEntry5, intValue5 Agar intValue5 bo‘lsa<>"" Keyin WScript.Echo "Taxminiy o'lcham: " & Round(intValue5/1024, 3) & " megabaytlar" Keyingi bo'lsa tugaydi

Skript strComputer tarmoq nomi bilan kompyuterga ulanadi, SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\ ro'yxatga olish kitobi kalitiga qaraydi va dasturlar haqidagi ma'lumotlarni ko'rsatadi.

Shunga o'xshash harakatlar CMD buyruq faylida bajarilishi mumkin. Bu ommaviy ish fayli dasturlar ro'yxatini beradi:

@echo off rem Ushbu ommaviy ish fayli rem masofaviy kompyuterida o'rnatilgan dasturlar ro'yxatini yozib oladi. rem %1 Kompyuterning PCNAME formatidagi tarmoq nomi (bo‘sh qiymat rem mahalliy kompyuter ekanligini bildiradi). rem Ro'yxatga olish kitobi papkasiga yo'lni aniqlang reg_key=hklm\SOFTWARE\Microsoft\Windows\CurrentVersion\O'chirish agar bo'lmasa "%1" == "" set reg_key=\\%~1\%reg_key% rem / uchun o'rnatilgan dasturlarni sanab o'ting. F " tokens=1,2,*" %%a in ("reg query "%reg_key%" /s") do ^ if "%%a" == "DisplayName" aks-sadosi %%c

Har qanday kompyuterda ma'lum bir dastur (nomi bo'yicha) o'rnatilgan yoki yo'qligini tekshirish uchun quyidagi ommaviy ish faylidan foydalanishingiz mumkin check-app-pc.cmd

@echo off rem Ushbu ommaviy ish fayli mavjudligini tekshiradi berilgan dastur rem masofaviy kompyuterda. rem %1 Dasturning toʻliq nomi yoki uning bir qismi, masalan, KB2570791. rem %2 Kompyuterning PCNAME formatidagi tarmoq nomi (bo‘sh qiymat rem mahalliy kompyuter ekanligini bildiradi). rem Qaytish kodlari: rem 0 Dastur o'rnatildi. rem 2 Dastur topilmadi. rem 87 Parametrlarda xatolik. set app_name=%1 set pc_name=%2 rem qo'ng'iroq apps.cmd ro'yxatida mavjudligini tekshiring %2 | findstr /i "%~1", agar xato darajasi 1 bo'lsa, "%~1" dasturi aks etadi topilmadi&& exit /b 2 echo "%~1" dasturi o'rnatilgan. && chiqish /b 0

Shunga ko'ra, check-app-pc.cmd KB2570791 ws_alex buyrug'i KB2570791 yangilanishi WS_ALEX kompyuterida o'rnatilganligini tekshiradi.
Endi siz ro'yxatga ko'proq kompyuterlarni skanerlashni qo'shish orqali ushbu ommaviy ish faylining ishini avtomatlashtirishingiz mumkin. Buni amalga oshirish uchun, kompyuterlarning tarmoq nomlari bilan matn fayli satrlari bo'ylab takrorlanadigan tsikl bilan check-app-pclist.cmd buyruq faylini yarating.

@echo off rem %1 Toʻliq dastur nomi yoki dastur nomining bir qismi. rem %2 Kompyuterlar roʻyxatini oʻz ichiga olgan fayl nomi. rem Eslatma: Ushbu ommaviy ish fayli check-app-pclist.cmd dan foydalanadi, agar "%~1" == "" exit /b 87 agar mavjud bo'lmasa %2 exit /b 2 for /F %%a in (%2) do ( echo %%a... call check-app-pc.cmd %1 %%a)

Misol pc.list fayllar ro'yxati

SERVER_DB SERVER_FILES WS_ALEX WS_RECEPTION

Endi pc.list faylida ko'rsatilgan har bir kompyuterda KB2570791 yangilanishi o'rnatilganligini tekshirish uchun check-app-pclist.cmd KB2570791 pc.list buyrug'idan foydalanishingiz mumkin.

Tarmoq orqali o'rnatilgan dasturlarning ro'yxati

Ushbu qo'llanmada biz sizga Windows 10, Windows 8 yoki Windows 7 da buyruq qatori yordamida o'rnatilgan dasturlar ro'yxatini olishning bir necha usullarini ko'rsatamiz. Tizimda dasturlar ro'yxatini tuzishning ushbu usuli tizimni qayta o'rnatishdan oldin, keraksiz dasturiy ta'minotni topish kerak bo'lganda yoki tashkilotingiz kompyuterlarida o'rnatilgan dasturiy ta'minotni inventarizatsiya qilishda foydali bo'lishi mumkin.

Keling, ikkita usulni ko'rib chiqaylik: birinchisi buyruq qatori va wmic yordam dasturidan foydalanishni o'z ichiga oladi, ikkinchisi - PowerShell.

WMIC buyruq qatori yordam dasturidan foydalangan holda dasturlarni ro'yxatga olish

Tizimda o'rnatilgan dasturlar ro'yxatini WMIC buyruq qatori yordam dasturi yordamida olish mumkin, bu orqali WMI nom maydoniga kirish va so'roq qilish mumkin. Administrator huquqlari bilan buyruq satrini ishga tushiring va buyruqni bajaring:

wmic mahsuloti nomi, versiyasini oladi

Qisqa kutishdan so'ng, konsol ekranida tizimda o'rnatilgan dasturlarning nomlari va versiyalari ro'yxati ko'rsatiladi.

Ushbu ro'yxatni eksport qilish mumkin matn fayli buyruq yordamida:

wmic mahsuloti nomi, versiyasi /format:csv > c:\Temp\Programs_%Computername%.csv olish

Buyruq ishga tushirilgandan so'ng, C:\Temp katalogiga o'ting va toping csv fayli, uning nomi Programs_[PC_name] bilan boshlanadi. IN bu fayl csv formatida, dasturiy ta'minotning nomi va versiyasidan tashqari, u shaxsiy kompyuter nomini ham o'z ichiga oladi (keyingi tahlil qilish uchun qulay).

Windows PowerShell orqali dasturlarni ro'yxatga olish

O'rnatilgan dasturlarning ro'yxatini PowerShell yordamida ham olish mumkin. Usulning g'oyasi shundaki, biz ro'yxatda ko'rgan o'rnatilgan dasturlarning ro'yxati Dasturlar va xususiyatlar Ro'yxatga olish bo'limida saqlangan ma'lumotlar asosida qurilgan Boshqarish paneli HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\O'chirish

Bizning vazifamiz ushbu ro'yxatga olish bo'limining mazmunini ko'rsatishdir. Shunday qilib, Powershell konsolini ishga tushiring va buyruqni bajaring:

Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\O'chirish\* | Ob'ektni ko'rsatish nomi, ko'rsatish versiyasi, nashriyotchi, o'lcham, o'rnatish sanasi | Format - Jadval - Avtomatik o'lcham

Ko'rib turganingizdek, olingan ro'yxatda dastur nomi, versiyasi, ishlab chiquvchisi va o'rnatish sanasi mavjud.

Maslahat. X64 da 32 bitli ilovalar uchun Windows versiyalari, shuningdek, HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\O'chirish bo'limidan ma'lumotlarni olishingiz kerak.

Olingan ro'yxatni quyidagi kabi csv fayliga eksport qilishingiz mumkin:

Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Ob'ektni ko'rsatish nomini tanlang, ko'rsatish versiyasi, nashriyotchi, o'rnatish sanasi | Format-jadval -AutoSize > c:\temp\installed-software.txt

Yuqorida muhokama qilingan usul faqat klassik haqida ma'lumotlarni ko'rsatishga imkon beradi Windows ilovalari. O'rnatilgan Metro ilovalari ro'yxatini ko'rsatish uchun quyidagi buyruqdan foydalaning:

Get-AppxPackage | Ismni tanlang, PackageFullName |Format-jadval -AutoSize > c:\temp\installed_metro_apps.txt

O'rnatilgan dasturlar ro'yxatini olish uchun masofaviy kompyuter(masalan, wks_name11 nomi bilan) biz Invoke-command cmdletidan foydalanamiz:

Invoke-command -computer wks_name11 (Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Ob'ektni ko'rsatishName, DisplayVersion, Publisher, o'rnatish sanasini tanlang | Format-jadval -AutoSize)

Ikkitadan olingan o'rnatilgan dasturiy ta'minot ro'yxatini solishtirish turli xil kompyuterlar va etishmayotgan ilovalarni topsangiz, ushbu buyruqdan foydalanishingiz mumkin:

Compare-Object –ReferenceObject (Get-Content C:\temp\installed-software.txt) –DifferenceObject (Get-Content C:\temp\installed-software2.txt)

Bizning misolimizda, taqqoslanayotgan ikkita ro'yxat ikkita dasturda farqlarga ega.

O'rnatilgan dasturlarni ro'yxatga olishning yana bir usuli - Get-WmiObject cmdletidan foydalanish, bu sizga WMI maydoniga kirish imkonini beradi:

Get-WmiObject -Class Win32_Product | Tanlash-Ob'ekt -Xususiyat nomi

Windows operatsion tizimida o'rnatilgan dasturlarning ro'yxatini qanday olish mumkin? Kompyuteringizda o'rnatilgan dasturlarning ro'yxatini bir necha usul bilan olishingiz mumkin.

Ushbu maqolada biz uchta narsani ko'rib chiqamiz turli yo'llar bilan: Buyruqlar qatori, Windows PowerShell va CCleaner yordamida. O'rnatilgan dasturlarning ro'yxati matn faylida kompyuteringizda saqlanadi.

O'rnatilgan dasturlarning ro'yxatini to'g'ridan-to'g'ri Windows operatsion tizimida ko'rishingiz mumkin. O'rnatilgan dasturlarning ushbu ro'yxatini optimallashtiruvchi yoki o'chirish dasturlari yordamida ham ko'rishingiz mumkin (barcha o'rnatilgan ilovalarni dastur oynasida ko'rasiz).

O'rnatilgan dasturlarning to'liq ro'yxati quyidagi maqsadlar uchun kerak bo'lishi mumkin: o'rnatish uchun zarur dasturlar, Windows operatsion tizimini o'rnatgandan (qayta o'rnatgandan) so'ng, yangi kompyuter sotib olgandan so'ng, barcha kerakli ilovalarni o'rnatishni unutmaslik, keraksiz dasturlarni aniqlash uchun. dasturiy ta'minot, bu foydalanuvchining xabarisiz kompyuterga kirgan.

Buyruqlar qatori yordamida o'rnatilgan dasturlarning ro'yxatini qanday ko'rish mumkin

Ishga tushirish menyusiga o'ting, buyruq satrini administrator sifatida ishga tushiring va keyin quyidagi buyruqni kiriting:

O'zingiz xohlagan narsaga qarab: buyruq qatori tarjimon oynasidagi ro'yxatga qarang o'rnatilgan ilovalar, yoki kompyuteringizda o'rnatilgan dasturlarning ro'yxatini matn fayli sifatida saqlang, tegishli buyruqlarni bajaring.

Dasturlar ro'yxatini ko'rish uchun quyidagi buyruqni kiriting:

Mahsulot nomi, versiyasini oling

Tegishli buyruqni kiritgandan so'ng, "Enter" tugmasini bosishni unutmang. Bir oz kuting, chunki o'rnatilgan ilovalar ro'yxati bir zumda yaratilmaydi. Jadval shaklida o'rnatilgan dasturlarning ro'yxatini ko'rasiz.

Kompyuteringizda dasturlar ro'yxatini saqlash uchun buyruqni kiriting:

/output:C:\appsfile.txt mahsulot nomini, versiyasini oladi

Jadvalda dastur nomi va dastur versiyasi raqami ko'rsatiladi.

E'tibor bering, ushbu buyruqda "appsfiy" matn faylini "C" diskiga saqlash tanlangan. Faylni "TXT" formatida saqlash uchun kompyuteringizda boshqa drayverni tanlashingiz mumkin.

Windows PowerShell yordamida o'rnatilgan dasturlarni qanday ro'yxatga olish mumkin

Windows 10 yoki Windows 8 da qidiruv maydoniga “powershell” (tirnoqsiz) kiriting. Keyin, Windows PowerShell-ni o'ng tugmasini bosing va keyin "Administrator sifatida ishga tushirish" -ni bosing.

Windows PowerShell oynasida o'rnatilgan dasturlar ro'yxatini ko'rsatish uchun buyruqni kiriting:

Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Ob'ektni ko'rsatish nomini tanlang, ko'rsatish versiyasi, nashriyotchi, o'rnatish sanasi | Format-jadval - Avtomatik o'lcham

Keyin "Enter" tugmasini bosing.

Agar siz darhol matnli faylda o'rnatilgan dasturlarning ro'yxatini olishni istasangiz, quyidagi buyruqni kiriting:

Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Ob'ektni ko'rsatish nomini tanlang, ko'rsatish versiyasi, nashriyotchi, o'rnatish sanasi | Format-jadval -AutoSize > C:\apps-list.txt

Klaviaturangizdagi "Enter" tugmasini bosing.

Ushbu buyruqda "ilovalar ro'yxati" faylini "C" diskida "TXT" formatida saqlash tanlangan.

Jadvalda siz ko'rasiz: dastur nomi va dastur versiyasi.

Windows do'konidan olingan ilovalar ro'yxatini saqlash uchun PowerShell-da quyidagi buyruqni bajaring:

Get-AppxPackage | Ism, PackageFullName | ni tanlang Format-jadval -AutoSize > C:\store-apps-list.txt

CCleaner-da o'rnatilgan dasturlarning ro'yxatini qanday saqlash kerak

Ochilgan oynada matn faylini saqlash uchun joyni tanlang. Odatiy bo'lib, saqlangan fayl "o'rnatish" deb nomlanadi.

Faylda dasturlar haqida quyidagi ma'lumotlar mavjud: dastur nomi, nashriyotchi, o'rnatish sanasi, hajmi, versiyasi.

Maqolaning xulosalari

Agar kerak bo'lsa, foydalanuvchi operatsion tizimda ishlaydigan kompyuterda o'rnatilgan dasturlarning ro'yxatini olishi mumkin Windows tizimi. O'rnatilgan dasturlarning ro'yxati buyruq satri, Windows PowerShell yoki CCleaner yordamida kompyuteringizda matn fayli sifatida saqlanishi mumkin.

O'ylaymanki, barcha o'quvchilarimiz ehtiyojga duch kelishdi Windowsni qayta o'rnatish. Ba'zida bu tanqidiy xatolar va yuzaga kelgan muammolar tufayli sodir bo'ladi, ba'zida bu yangilanish tufayli yuzaga keladi, ba'zida tizimda to'plangan barcha keraksiz narsalarni qayta tiklash va kompyuter hayotini "toza shifer" bilan boshlash istagi bilan bog'liq. O'rnatishdan so'ng darhol yangi tizim kerakli drayverlarni va tizim komponentlarini o'rnatasiz va keyin tanish dasturiy ta'minot muhitini tiklashga o'ting. Ushbu vazifa uchun ilovalarning oldindan tuzilgan ro'yxati siz uchun juda foydali bo'ladi, ayniqsa u bir necha o'nlab narsalarni o'z ichiga olgan bo'lsa. Endi biz uni qanday yozishni o'rganamiz (qalam va qog'ozsiz! :).

Usul 1. Buyruqlar qatoridan foydalaning

Boshlash menyusini oching va qidiruv paneliga "cmd" so'zini kiriting. Topilgan elementni sichqonchaning o'ng tugmasi bilan bosing va kirishni tanlang kontekst menyusi Administrator sifatida ishga tushirish. Windows 8-da bu taxminan bir xil, lekin Boshlash o'rniga klaviaturadagi Win tugmasini bosing.

Ikkita buyruqni ketma-ket kiriting:

WMIC mahsuloti nomi, versiyasini oladi

Qisqa kutishdan so'ng, oynada tizimingizda o'rnatilgan barcha dasturlarning ro'yxatini ko'rasiz.

/output:D:\installedapps.txt mahsuloti nomi, versiyasini oladi

Endi siz qilishingiz kerak bo'lgan hamma narsa ochiq fayl menejeri D diskini (siz, albatta, boshqa saqlash yo'lini belgilashingiz mumkin) va u erda matn faylini ko'rasiz installapps.txt barcha o'rnatilgan dasturlarning ro'yxati bilan .


2-usul: CCleaner

Bolaligida qora va oq buyruq satridan qo'rqqan foydalanuvchilar uchun osonroq usul mavjud, ammo bu qo'shimcha dasturni talab qiladi. Uning rolini deyarli har qanday kompyuterda o'rnatilgan mashhur CCleaner yordam dasturi o'ynaydi. Bundan tashqari, bu usul sizga ko'proq ishlab chiqarish imkonini beradi to'liq ro'yxat dasturiy ta'minotingiz.

CCleaner-ni oching va o'ting Xizmat. Bu erda siz dasturlarning to'liq ro'yxatini ko'rasiz va siz faqat tugmani bosishingiz kerak Hisobotni saqlash matn fayliga saqlash uchun pastki o'ng burchakda.

Shundan so'ng siz saqlash yo'lini va fayl nomini tanlashingiz kerak. Shu tarzda yaratilgan ro'yxat buyruq qatori yordamida yaratilganidan ko'ra ko'proq ma'lumotni o'z ichiga oladi, chunki u nashriyot, o'lcham va o'rnatish sanasi haqida ma'lumotni o'z ichiga oladi.

O'zini bir oz qiynoqqa solmoqchi bo'lganlar odatdagidan foydalanishlari mumkin buyruq qatori. Konsol ishga tushirilmoqda CMD Administrator sifatida ushbu ikkita buyruqni ketma-ket bajaring:

WMIC
/output:D:\myapps.txt mahsuloti nomi, versiyasini oladi

Dasturlar ro'yxati matnli faylga saqlanadi myapps.txt mahsulot nomi va versiyasini ko'rsatgan holda. Biroq, bu usul bir nechta "oqsoqlar", - ba'zi o'rnatilgan ilovalar ro'yxatga kiritilmasligi mumkin. Bundan tashqari, konsol yordamida o'rnatilgan dasturlarning ro'yxatini olishingiz mumkin. Buning uchun quyidagi buyruqdan foydalaning:

Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Ob'ektni ko'rsatish nomini tanlang, ko'rsatish versiyasi, nashriyotchi, o'rnatish sanasi | Format-jadval - AutoSize > D:\apps.txt

Oling - ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Tanlang - Ob'ektni ko'rsatishName, DisplayVersion, Publisher, O'rnatish sanasi | Format - Jadval – AutoSize & gt; D:\ilovalar. Xabar

Ilovalar ro'yxati faylga chiqariladi apps.txt, bu diskning ildizida joylashgan D . Ammo bu usulning kamchiliklari ham bor, chunki o'rnatilgan dasturlar o'z ma'lumotlarini turli ro'yxatga olish kitobi kalitlarida saqlashi mumkin.

Aslida, juda oddiy va bor qulay usul o'rnatilgan ilovalar ro'yxatini oling. Albatta, har bir foydalanuvchining kompyuterida mashhur diskni tozalash vositasi mavjud. Uni oching, bo'limga o'ting "Xizmat" va, yorliqda bo'lish "Dasturlarni o'chirish", tugmasini bosing "Hisobotni saqlash" va matn faylini saqlash yo'lini belgilang.

Shu bilan birga, ro'yxatga nafaqat ish stoli, balki dastlab Windows-da mavjud bo'lgan va Do'kondan o'rnatilgan universal ilovalar ham kiradi.

Har bir dastur uchun uning nomi, versiyasi, ishlab chiquvchisi va o'rnatish sanasi ko'rsatiladi.

Do'stlarga ayting