Термінальний сервер Windows 2008

Що нам для цього знадобиться:

Для написання скрипта – PowerGUI Script Editor. Windows Server 2008 R2 із встановленою роллю «Служби віддалених робочих столів». Групові або локальні політики сервера.

Визначаємо цілі:

  1. При вході на сервер визначаємо членство у групах.
  2. Якщо користувач входить у групу локальних адміністраторів сервера — отже, прийшов у справі, дозволяємо вхід до системи.
  3. Якщо ні – відлогінюємо користувача.
Пояснення:у цій статті я використовуватиму локальні групи сервера, в робочому середовищі буде зручніше використовувати доменні групи. Наприклад, стандартну доменну групу «Адміністратори домену». Так само я виходжу з того, що політика виконання скриптів powershell на сервері має значення, відмінне від «Restricted».

Пишемо скрипт:

У першому рядку скрипту за допомогою whoami отримуємо членство в групах користувача, потім шукаємо збіг із рядком «Адміністратори» встановлюючи значення змінної Checkme true якщо збіг знайдений або false якщо збігів немає. Потім якщо змінна Checkme істинна (true) запускаємо процес explorer.exe і продовжуємо вхід на сервер. Інакше запускаємо logoff.exe і виконуємо вихід користувача з сервера.

Озброюємо сервер:

Якщо ви для написання скриптів powershell використовуєте PowerGUI Script Editor, то можете скомпілювати ваш скрипт у виконуваний файл за допомогою меню «Інструменти» вибравши пункт «Compile script».

2008

Тепер нам залишилося зберегти отриманий exe файл на локальний диск сервера терміналів у зручне місце та переконатися, що користувачі мають доступ начитання. Потім за допомогою команди gpedit.msc запустити консоль "Редактора локальної групової політики" (або скористатися груповими політиками домену) і в параметрі "Конфігурації користувача\Адміністративні шаблони\Компоненти Windows\Служби віддалених робочих столів\Вузол сеансів віддалених робочих столів\Середовище видалених робочих столів\ \Запускати програму при підключенні» вказати шлях до exe файлу скрипта.

термінальний

Висновок: