Всех категорически приветствую!
В данной статье будет выложен скрипт powershell, который я использую в бою. Он массово завершает указанные в массиве приложения в указанном списке компьютеров.
Необходимость
- иногда необходимо массово закрыть определённые программы на нескольких компьютерах сразу
- это терминальный компьютер, где нужно закрыть все копии приложения, например, для его обновления
Естественно, что данный скрипт нужно запускать с права администратора домена, который имеет права на все эти машины :
Скрипт
Сначала импортируем библиотеку Custom-Library. Взять её можно отсюда. Она нам тут нужна для wr функции (статья о ней), подключаем её из своего расположения.
Import-Module " C:\Custom-Library.ps1"
Зададим 2 массива $apps , $computers, в котором будут находится наши машины и наши приложения.
Разделим наш скрипт по различным действиям на маленькие функции:
- функция, которая будет выполнить действие сброса
- функция логики, если выбраны все приложения, то по всем приложениям и по все компьютерам выполнять их сброс. А иначе только одно приложение по всем компьютерам
- функция для вывода на экран списка всех приложений из массива $apps
- функция выбирает приложение из выведенного списка ф-цией Print-Apps и возвращает выбор
Выведем на экран списки.
Полный код опубликован тут
Итог. Логика скрипта
выбираем необходимое приложение для закрытия, после этого скрипт автоматически сбросит это приложение на машинах, в массиве $computers. Если выбран "all" , то все приложения указанные в массиве $apps сбросятся со всех $computers
Если приложение было открыто, то оно завершится
В этом скрипте достаточно внести изменение/закомментировать хосты или название программ только в 2х массивах $apps и $computers.
Спасибо за внимание. Посмотрите на моём канале другие полезные статьи, может они вам помогут решить ваши задачи.