RSend Project - Free Windows Instant Messenger for LAN and WAN

 


Блог: В помощь администратору Windows


В этом блоге рассматриваются некоторые вопросы Windows администрирования - в основном использование групповых политик и сценариев. Весь материал используется в производственной среде. Хотя некоторые примеры не являются совершенными, надеюсь, что они будут полезны для начинающих администраторов. Если у Вас возникли вопросы, пожалуйста, напишите по адресу info@rsend.ru, я постараюсь оперативно ответить.

С уважением, Игорь Грунт
MCSD App Builder
MCSA Windows Server 2012


1. Администрирование Active Directory, Group Policy
    1.1. Примеры WMI фильтров в групповых политиках
    1.2. Принудительное выключение компьютеров после окончания рабочего дня

2. Startup GPO Visual Basic сценарии
    2.1. Vbs сценарий для инсталляции .NET Framework 3.5.1
    2.2. Vbs сценарий для инсталляции Internet Explorer 8
    2.3. Vbs сценарий для изменения реестра с помощью .reg файла
    2.4. Vbs сценарий для перехода клиентов c Citrix Presentation Server 4.5 на XenApp 6.5
    2.5. Vbs сценарий для инсталляции Windows Installer 4.5
    2.6. Vbs сценарий для инсталляции MS Office Compatibility Pack
    2.7. Vbs сценарий для инсталляции почтового клиента Windows Live Mail
    2.8. Vbs сценарий для инсталляции UltraVNC с MV2 драйвером

2. Powershell сценарии (Active Directory, WSUS)
    3.1. Ps1 сценарий для проверки наличия одинаковых IP адресов в DNS
    3.2. Ps1 сценарий для сравнения компьютеров в Active Directory и WSUS
    3.3. Ps1 сценарий для восстановления авторизации в WSUS
    3.4. Ps1 сценарий для сверки пользователей в организационных подразделениях и теневых группах
    3.5. PS1 сценарий + C# приложение для выключения/включения ученых записей по расписанию
    3.6. PS1 сценарий для просмотра аттрибутов LastLogon и PwdLastSet
    3.7. PS1 сценарий для просмотра прав доступа к директориям на сетевых ресурсах

4. Powershell сценарии (Windows Remoting)
    4.1. WinRM Ps1 сценарий для просмотра журналов событий компьютеров в сети
    4.2. WinRM Ps1 сценарий для контроля за свободным пространством на дисках компьютеров
    4.3. WinRM Ps1 сценарий для просмотра/изменения членов групп локальных администраторов
    4.4. WinRM Ps1 сценарий для проверки состояния брандмауэров в доменных профилях
    4.5. WinRM Ps1 сценарий для проверки если процесс запущен (на примере RSendClient.exe)




1. Администрирование Active Directory, Group Policy

Поскольку блог ведется одновременно на английском и русском языке и ввиду отсутствия в производственной среде операционой системы Windows 7 или 8 на английском языке, я пока не опубликовываю скриншоты используемых объектов групповых политик. Надеюсь это исправить в самом ближайшем будущем.


1.1 Примеры WMI фильтров в групповых политиках

Фильтры WMI доступны в контроллерах домена Windows Server 2008 и выше (в Windows Server 2003 Вы также можете использовать WMI фильтрацию, но только в самом коде startup / logon сценариев). Они значительно упрощают работу с нацелеванием объектов GPO, например, когда у вас смешанная сеть из компьютеров с различными операционными системами. Здесь представлено несколько простых примеров, которые могут использоваться для определения типов операционных систем. Комментарий. Один WMI фильтр может иметь одно или несколько предложений "Select" (см. последний пример).

published: 2013-03-05



1.2 Принудительное выключение компьютеров после окончания рабочего дня

В контоллерах домена 2008 и выше вы можете сделать это следующим образом. Создайте объект групповой политики. В разделе Конфигурация компьютера -> Настройки -> Панель управления -> Назначенные задания создайте новую задачу (или несколько задач в зависимости от ваших потребностей) с командой "shutdown -s- f- t 180" и временем запуска после окончания рабочего времени. Установите проверку, что компьютер не использовался в течение установленного промежутка времени перед выключением. Установите повторное выполнение задачи после определенного периода времени, если компьютер не бездействовал. Для выполнения задачи используйте привилегии локального или доменного администратора. С помощью WMI фильтра или нацеливания вы можете включить/исключить из списка компьютеры, например, по типу операционной системы, имени компьютера или другим критериям.

published: 2013-03-05




2. Startup GPO Visual Basic сценарии


2.1 Vbs сценарий для инсталляции .NET Framework 3.5.1

Если вам необходимо установить Net Framework 3.5.1 на компьютерах с операционной системой Windows XP, то вместо того, чтобы тратить время и усилия на подготовку нескольких файлов MSI (2.0, 3.0, 3.5) из dotnetfx35 инсталлятора, гораздо проще запустить сценарий с тихой установкой.

published: 2013-03-05



2.2 Vbs сценарий для инсталляции Internet Explorer 8

Обратите внимание на /forestart параметр. Internet Explorer 8 требует перезагрузки компьютера после инсталляции.

published: 2013-03-05



2.3 Vbs сценарий для изменения реестра с помощью .reg файла

Если вам необходимо редактировать большое количество ключей и/или значений реестра, то Вы можете сделать снимок реестра (.reg файл) и применить его с помощью startup vbs сценария как показано на этом примере.

published: 2013-03-05



2.4 Vbs сценарий для перехода клиентов c Citrix Presentation Server 4.5 на XenApp 6.5

Этот сценарий деинсталлирует Citrix Program Neighborhood Client, устанавливает Citrix Online Plugin Full 12.3 и TninPrint Client 8.6 for ICA connection, а также прописывает в реестре адрес фермы ServerURL. Обратите внимание на фрагмент vbs сценария (Uninstall Citrix Program Neighborhood Client), с помощью которого можно деинсталлировать программы со сложным набором параметров в UninstallString.

published: 2013-04-24



2.5. Vbs сценарий для инсталляции Windows Installer 4.5

После установки этого пакета, версия установщика Windows в системе будет обновлена до 4.5.

published: 2013-04-24



2.6. Vbs сценарий для инсталляции MS Office 2007 Compatibility Pack

Установив пакет обеспечения совместимости для Microsoft Office XP или Office 2003, вы сможет открывать, редактировать и создавать файлы с помощью форматов, которые используются Microsoft Office 2007 и последующими версиями (docx, xlsx and pptx).

published: 2013-04-24



2.7. Vbs сценарий для инсталляции почтового клиента Windows Live Mail

Windows Live Mail это бесплатный почтовый клиент от Microsoft. Он является преемником Outlook Express на Windows XP и Windows Mail на Windows Vista. Приложение доступно для загрузки через Windows Essentials 2012 suite. Этот скрипт устанавливает только почтового клиента.

published: 2013-04-24



2.8. Vbs сценарий для инсталляции UltraVNC с MV2 драйвером

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

published: 2013-06-09




3. Powershell сценарии (Active Directory, WSUS)

Для запуска Powershell сценариев c использованием Active Directory командлетов на компьютерах, которые не имеет роли AD, необходимо сделать небольшие предварительные действия по настройке. Подробности Вы можете найти на сайте Microsoft или Goggle.
Одни из представленных сценариев работают с использованием планировщика с последующей выдачей результатов на указанный адрес электронной почты. Другие сценарии удобней запускать с использованием PowerGUI (графический интерфейс и редактор сценариев для PowerShell), где вы можете фильтровать, форматировать, экспортировать результаты и делать массу других полезных вещей (например, работать с Active Directory, управлять компьютерами в сети и тд).




3.1. Ps1 сценарий для проверки наличия одинаковых IP адресов в DNS

Регулярное использование этого сценария поможет Вам контролировать наличие дублированных статических и динамических IP адресов в Вашей сети, а может быть и подтолкнет Вас подумать об изменении периода DHCP leasing time или DNS scavenging...

published: 2013-03-20



3.2. Ps1 сценарий для сравнения компьютеров в Active Directory и WSUS

Для выполнения данного сценария необходимо установить консоль администрирования WSUS либо Remote System Administration Tools (RSAT) на компьютере и затем настроить доступ к WSUS.

published: 2013-03-20



3.3. Ps1 сценарий для восстановления авторизации в WSUS

Если некоторые из ваших компьютеров не отображаются в WSUS, то одной из причин могут быть "клонированные" компьютеры (повторяющиеся значения реестров SusClientId и/или SusClientIdValidation). Для устранения проблемы необходимо выполнить WSUS resetauthorization. При наличии в сети Windows remoting этот сценарий поможет автоматизировать этот процесс.

published: 2013-03-20



3.4. Ps1 сценарий для сравнения пользователей в организационных подразделениях и теневых группах

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

published: 2013-03-20



3.5. PS1 сценарий + C# приложение для выключения/включения ученых записей по расписанию

В некоторых компаниях существует практика, согласно которой учетные записи сотрудников, находящихся в отпусках, должны быть отключены. Как правило, эта работа осуществляется системными администраторами на основании документов из отдела по работе с персоналом. После возвращения из отпусков сотрудникам приходится обращаться к администраторам, чтобы включить свои учетные записи. Для сокращения временных затрат на эту работу был разработан проект c использованием Powershell сценария и C # приложения (графический интерфейс).

Алгоритм работы. Сценарий ADUserManager.ps1 запускается ежедневно ночью с помощью назанченного задания (scheduler) от имени учетной записи администратора домена. При выполнении сценария происходит синхронизация файла данных "data.txt" с учетными записями пользователей из Active Directory, при этом у отключенных пользователей статус имеет значение "Disabled".
С помощью ADUserManager.exe (графический интерфейс на C#, должен находится в одном каталоге с файлом "data.txt") администратор указывает даты начала и/или даты окончания срока отключения учетных записей пользователей. Эти данные сохраняются в файле "data.txt". На основании этих данных сценарий ADUserManager.ps1 отключает/включает учетные записи пользователей и синхронизирует файл "data.txt" с Active Directory при появлении новых, изменении или удалении учетных записей пользователей. Report.log протоколирует все действия по отключению/включению учетных записей, а также записывает все ошибки в случае их возникновения.



Дополнение по настройке сценария.
$OU - это точка, с которой начинается поиск учетных записей пользователей в Active Directory. $groupDomainAdmin служит для исключения членов группы "Domain Administrators" из обработки в случае, если в параметре $OU поиск установлен с верхней точки домена "DC=yourdomain, DC=com".

Скачать сценарий and C# приложение в ADUserManager.zip(10 kb, проверено Касперским)
Скачать VS2012 C# исходный код в ADUserManagerSource.zip (28 kb, проверено Касперским)

published: 2013-03-20



3.6. PS1 сценарий для просмотра аттрибутов LastLogon и PwdLastSet

Этот сценарий используется для контроля за учетными записями пользователей, которые по каким-то причинам не были своевременно удалены из Active Directory (например, забыли дать приказ об увольнении сотрудника, сотрудники проверяющих органов, практиканты и т.п.)

published: 2013-03-20



3.7. PS1 сценарий для просмотра прав доступа к директориям на сетевых ресурсах

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

published: 2013-03-20




4. Powershell сценарии (Windows Remoting)

Windows Remoting (WinRM) используется администраторами для удленного управления и мониторинга компьютеров в сети. Например, с помощью WinRM вы можете получать любую информацию с компьютеров. Если вы планируете запуск сценариев PowerShell с использованием WinRM Вам необходимо сделать некоторые предварительные действия. Эти шаги можно сделать как вручную, так и с помощью групповой политики (я планирую опубликовать скриншоты этих объектов групповой политики в самом ближайшем будущем). Необходимую информацию Вы можете найти на сайте Microsoft или Goggle.
Несколько замечаний относительно представленных сценариев. Вы можете заметить, что, во-первых, все сценарии в этом разделе одинаковы, за исключением двух фрагментов кода - $scriptblock и Select-Object в Start-Invoke функции. Во-вторых, во всех сценариях используется invoke-command с параметрами -AsJob и -Trottle для параллельного выполнения $Scriptblock на удаленных компьютерах. За счет этого в несколько раз снижается время получения результатов (на 500 компьютерах сценарий выполняется примерно от 5 до 15 минут в зависимости от сложности исполняемого кода). В-третьих, для выполнения этих сценариев необходимо использовать учетную запись администратора домена или добавить Вашу учетную запись в группы локальных администраторов на компьютерах (это можно сделать с помощью групповой политики).
И напоследок, снова советую попробовать PowerGUI (графический интерфейс и редактор сценариев для PowerShell) для выполнения этих сценариев. Достаточно удобно обрабатывать и анализировать полученные результаты.




4.1. WinRM Ps1 сценарий для просмотра журналов событий компьютеров в сети

Для получения различной информации из журналов событий компьютеров вы можете применять несколько параметров: первый - тип журнала (система, приложение, безопасность, репликация DFS, ...), второй - количество дней, третий - тип записи (ошибка, предупреждение и тд...).

published: 2013-03-20



4.2. WinRM Ps1 сценарий для контроля за свободным пространством на дисках

published: 2013-03-20



4.3. WinRM Ps1 сценарий для просмотра/изменения членов групп локальных администраторов

Для правильной работы этого сценария необходимо указать имя группы локальных администраторов на языке используемой операционной системы ("Administrators" для англоязычной версии, "Администраторы" - для русскоязычной).

published: 2013-03-20



4.4. WinRM Ps1 сценарий для проверки состояния брандмауэров в доменных профилях

published: 2013-03-20



4.5. WinRM Ps1 сценарий для проверки если процесс запущен (на примере RSendClient.exe)

published: 2013-03-20