Використання командного рядка для видалення програм на віддалених ПК - Як

Використання командного рядка для видалення програм на віддалених ПК

WMIC (командний рядок керування інструментами Windows) є потужним інструментом, який часто не бачить великого використання через відсутність доступної документації. Більш детальну інформацію можна знайти на WMIC тут: http://technet.microsoft.com/en-us/library/bb742610.aspx. Деякі чудові перемикачі та альтернативні параметри можна знайти тут: http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/wmic_overview.mspx. Ми будемо використовувати WMIC з обліковими даними адміністратора домену, щоб просканувати список вузлів (ПК / ноутбуки) і видалити прикладну програму, не перериваючи користувача.

Загалом 5 кроків

Крок 1. Завантажте командну оболонку з відповідними правами доступу


Незважаючи на те, що інструкція WMIC може бути надана відповідні облікові дані до операції, як правило, краща практика, щоб уникнути чіткого тексту, ввівши пароль (хто, що дивиться через плече;)). Команду runas ми виконаємо так:

Runas / користувач: DomainAdminAccount @ DOMAIN cmd

… Які підкажуть нам про повноваження нашого облікового запису DomainAdminAccount. Якщо автентифіковано, нам буде передано командний оболонку, що запускається як адміністратор.

Крок 2: Крок у WMIC


Однією з приємних можливостей WMIC є те, що він може працювати з будь-якої машини. З нашою командною оболонкою адміністратора ми вводимо команду wmic, за якою слід ввести. (Примітка: ми могли б скористатися WMIC безпосередньо з команди runas ... це просто виводить кроки)

Крок 3: перевірка встановлення програми (додатковий інформаційний крок)


За допомогою нашого WMIC-запиту ми можемо задати багато запитань про вузол (або вузлів) і отримати відповіді, які добре відформатовані. Хоча форматування відповідей виходить за рамки цього "Як", в Інтернеті можна знайти набагато більше інформації.

Тож давайте дізнаємося, чи має певний вузол навіть наше цільове програмне забезпечення (Spiceworks намагається перерахувати цю інформацію в програмному скануванні)

> / node: продукт COMPUTERNAME отримує назву, версію, постачальника

Ця команда просить WMI відповісти списком, що включає ім'я, версію та постачальника всіх встановлених програм.

Якщо ви бажаєте фільтрувати певний продукт, ви можете це зробити. Ось приклад сканування мережевої машини для всіх встановлених додатків від постачальника "Apple, Inc"

> / node: ANOTHEREXAMPLE продукт, де vendor = "Apple Inc." отримати ім'я, постачальника

(* Примітка від Anders4221:
Невеликий натяк, якщо у вас є спеціальні символи, такі як '-' або '/' у назві комп'ютера, які потрібно використовувати '', щоб отримати інформацію від клієнта)

(** Примітка від Joe3034:
Ось як ви використовуєте символи підказок у своєму пошуку:

Окружте подібну фразу в подвійних лапках і критеріях пошуку в одинарних лапках і використовуйте% як символ підстановки.

напр .:
/ node: продукт ComputerXYZ, де "постачальник типу" adobe% '"отримує ім'я, версію, ідентифікаційний номер)

Крок 4: Виклик для видалення


Таким чином, ми можемо зателефонувати до інтерфейсу WMI, щоб видалити певний продукт ... давайте виберемо на панелі управління MobileMe з нашого попереднього прикладу. Команда:

> / node: ПРИКЛАД продукту, де name = "Панель керування MobileMe" викликає видалення

... з'явиться запит на підтвердження у такому (довгому) форматі:

Виконати (EXAMPLE ROOT) CIMV2: Win32_Product.IdentifyingNumber = "{6DA9102E-199F-43A0-A36B-6EF48081A658}", Name = "Панель керування MobileMe", Version = "2.1.0.24") -> Вилучити () () Y / N /?)?

.., на який ви повинні відповісти "y", якщо ви хочете видалити. Програмне забезпечення, сумісне з WMI, буде запускати процедури деінсталяції за замовчуванням без необхідності користувачеві робити що-небудь (вони не отримують підказок і т.д.).

** Зверніть увагу, що ви також можете використовувати
/ nointeractive прапор типу / вузол: ПРИКЛАД продукт, де name = "MobileMe Панель керування" виклик видалення / nointeractive, щоб запобігти запит на підтвердження!
-xx Bart2691

Крок 5: виклик видалення списку машин (необов'язковий інформаційний крок)

Давайте припустимо, що ви тільки що отримали слово, що Adobe Reader має серйозний недолік у своїй старої версії. У паніці ви попросили всіх користувачів сліпо встановити нову версію Adobe Reader безпосередньо з сайту Adobe. На щастя, їм це вдалося зробити ... проте ви отримали 3 квитки на значок Acrobat.com на робочому столі.

У вас є плоский текстовий файл з усіма іменами вашого комп'ютера, збережених у c: computer.txt. Ви відкриваєте оболонку WMIC з відповідними правами і вводите наступну команду:

> / failfast: on /node:@"c:computer.txt "продукт де name =" Acrobat.com "викликає видалення / nointeractive

Що перебирає ваш список, пропускаючи вузли, які є недійсними (наприклад, машина вимкнена) і ті, які не відповідають критеріям. Потрібно підтвердити "y", який потрібно видалити на кожному вузлі, якщо ви не використовуєте прапор nointeractive.

* Оновлена ​​примітка від Bart2691
... простий спосіб автоматизувати відповідь "Так". Прикладами для цього за допомогою ПК або текстового файлу є використання прапорця / nointeractive. Крім того, якщо ви не бажаєте висіти на невдалих вузлах, використовуйте прапорець / failfast: on, щоб швидко пропустити вузол, який не відповідає.

** примітка від true911 (непідтверджена)
Правильний прапор неможливий: включений, а не швидкий: включений

wmic / failfast: на /node:@"FILENAME.txt "продукт, де" ім'я, як "Microsoft Office Professional Edition 2003" виклик видалення / nointeractive

Сподіваюся, ви були заінтриговані потенцією WMIC. Хоча використання командного рядка виклику деінсталяції може бути звичайно не потрібно з інструментами управління програмним забезпеченням, AD, і т.д. ... це іноді може бути кращим способом швидко виконати завдання, не заважаючи користувачеві.

Будемо сподіватися, що spiceworks здійснює свою реалізацію WMI надалі в майбутньому випуску та автоматизує це для нас;)