Найти в Дзене
Записки Одмена

powershell. Массово завершаем необходимые программы на нескольких хостах сразу.

В данной статье будет выложен скрипт powershell, который массово завершает указанные в массиве приложения в указанном списке компьютеров.
Оглавление

Всех категорически приветствую!

В данной статье будет выложен скрипт powershell, который я использую в бою. Он массово завершает указанные в массиве приложения в указанном списке компьютеров.

powershell логотип
powershell логотип

Необходимость

  • иногда необходимо массово закрыть определённые программы на нескольких компьютерах сразу
  • это терминальный компьютер, где нужно закрыть все копии приложения, например, для его обновления

Естественно, что данный скрипт нужно запускать с права администратора домена, который имеет права на все эти машины :

Скрипт

Сначала импортируем библиотеку Custom-Library. Взять её можно отсюда. Она нам тут нужна для wr функции (статья о ней), подключаем её из своего расположения.

Import-Module " C:\Custom-Library.ps1"

Зададим 2 массива $apps , $computers, в котором будут находится наши машины и наши приложения.

массивы приложений и компьютеров
массивы приложений и компьютеров

Разделим наш скрипт по различным действиям на маленькие функции:

  • функция, которая будет выполнить действие сброса
ф-я закрытия приложения
ф-я закрытия приложения
  • функция логики, если выбраны все приложения, то по всем приложениям и по все компьютерам выполнять их сброс. А иначе только одно приложение по всем компьютерам
ф-я логики
ф-я логики
  • функция для вывода на экран списка всех приложений из массива $apps
ф-я вывода на экран списка приложений
ф-я вывода на экран списка приложений
  • функция выбирает приложение из выведенного списка ф-цией Print-Apps и возвращает выбор
ф-я возвращает сделанный из списка приложений выбор
ф-я возвращает сделанный из списка приложений выбор

Выведем на экран списки.

как использовать
как использовать

Полный код опубликован тут

Итог. Логика скрипта

выбираем необходимое приложение для закрытия, после этого скрипт автоматически сбросит это приложение на машинах, в массиве $computers. Если выбран "all" , то все приложения указанные в массиве $apps сбросятся со всех $computers

Если приложение было открыто, то оно завершится

пример работы скрипта
пример работы скрипта

В этом скрипте достаточно внести изменение/закомментировать хосты или название программ только в 2х массивах $apps и $computers.

Спасибо за внимание. Посмотрите на моём канале другие полезные статьи, может они вам помогут решить ваши задачи.