SCROLL

Посты с тэгом: powershell

В этом посте я собираюсь поделиться тем, как настроить автоматический ответ или сообщение об отсутствии на рабочем месте в почтовом ящике пользователя.

В работе часто требуется заводить много внешних контактов в Exchange, руками делать это моветон, ниже опишу как я попытался автоматизировать этот процесс.

При использовании Linux и необходимости подключения к сервису Exchange Online через PowerShell, то это можно легко сделать, рассмотрим ниже как это сделать.

Задался недавно вопросом, как можно из консоли Linux, подключится к удаленной машине с ОС Windows на борту и выполнить на ней какую либо команду (прим. «ipconfig») или запустить за ранее написанный скрипт (*.bat, *.ps1).

 

В ходе поиска решения данного вопроса, был найден инструмент Winexe, который по сути является аналогом psexec под Windows. Winexe работает в связке с Samba, поэтому последняя должна присутствовать в системе.

 

Из замеченных неудобств работы с Winexe, хочу отметить что для корректного отображения «кириллицы», необходимо конвертировать вывод в UTF-8 из cp866/cp1251. Так же в случае запуска на удаленной машине «cmd», «powershell» не работают клавиши курсора, «backspace» и возможен задвоенный ввод символов.

 

Установка будет производится на Debian 9 Stretch. В ходе установки будет использоваться Fork пакета Winexe 1.1 (https://sourceforge.net/u/mstowe/winexe/ci/v0.2/tree/), а так же версия Samba 4.5.16 из стандартные репозиториев Debian.

Рассмотрим как делать резервную копию баз данных MS Exchange Server 2010, используя оснастку Windows Server Backup в Windows Server 2012 R2.

 

Резервное копирование выполняется с помощью VSS (Volume Shadow Copy Service), с условием полной архивацией указанного тома. Только с этими условиями, сделанная резервная копия будет считаться корректной, в базы данных будет записана информация о времени выполнении резервной копии, а так же удалятся логи транзакций журналов Exchange.

 

Если оснастка Windows Server Backup не добавлена в систему, добавляем ее с помощью мастера добавления ролей и компонентов:

В этой статье я рассматривал как выполнить единичный запрос на экспорт почтового ящика посредством Exchange Managment Shell. Сейчас же появилась необходимость в инструменте, для массового экспорта указанных почтовых ящиков в автоматическом режиме.

 

Решать данную задачу будем с помощью скрипта для Powershell. Задача скрипта:

  • Возможность выполнять одиночный экспорт указанного почтового ящика
  • Возможность выполнять массовый экспорт, указанных почтовых ящиков

 

[stextbox id=’warning’]По-умолчанию в PowerShell включена максимальная политика безопасности, которая позволяет выполнять команды PowerShell в командной строке, но не позволяет в той же командной строке выполнить скрипт с командами PowerShell. Разрешить выполнение скриптов в Powershell:

powershell -Command Set-ExecutionPolicy RemoteSigned[/stextbox]

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

В процессе рабочей необходимости, мне понадобился инструмент который будет выполнять функцию клинера старых файлов, в определенных каталогах. Имеется множество уже готовых инструментов, но я решил написать свой скрипт для PowerShell.

 

Задача скрипта:

  • В заданных каталогах производить поиск файлов подходящих по критерий давности
  • Дополнительная функция поиска файлов по заданной маске
  • Удалять найденные файлы
  • Выполнять чистку пустых каталогов, если таковые образовались после удаления старых файлов.

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

 

[stextbox id=’warning’]По-умолчанию в PowerShell включена максимальная политика безопасности, которая позволяет выполнять команды PowerShell в командной строке, но не позволяет в той же командной строке выполнить скрипт с командами PowerShell.

 

Разрешить выполнение скриптов в Powershell:
powershell -Command Set-ExecutionPolicy RemoteSigned[/stextbox]

 

Разберем как автоматизировать процесс создания бекапов серверных систем, применимый к Windows Server 2008 R2, 2012 R2. Делать бекапы мы будем с помощью скрипта для PowerShell.

Создание бекапов неотъемлемая часть повседневной работы в IT сфере. Имеющийся в наличии бекап всегда может восстановить работоспособность того или иного узла. Сегодня мы разберем как автоматизировать процесс создания бекапов Групповых политик (GPO) на Windows Server 2008 R2. Делать бекапы мы будем с помощью скрипта для PowerShell.

 

По-умолчанию в PowerShell включена максимальная политика безопасности, которая позволяет выполнять команды PowerShell в командной строке, но не позволяет в той же командной строке выполнить скрипт с командами PowerShell. Чтобы рез решить выполнение PowerShell скриптов, выполним команду либо в CMD либо в самом PowerShell:

powershell -Command Set-ExecutionPolicy RemoteSigned

 

Теперь можно приступать к написанию скрипта, который будет выполнять бекап GPO. В ходе работы над написанием скрипта, у меня получилось два варианта скрипта:

  1. Автоматическое создание бекапа всех GPO, размещение их на сетевом ресурсе в архивированном виде.
  2. Автоматическое первоначальное создание бакапа всех GPO, последующие запуски скрипта будут бекапить GPO только если в них были сделаны какие либо изменения.

Все скрипты с комментариями, поэтому разобраться в них не составит труда.