Windows server 2012 scripts

Личные IT заметки

среда, 9 сентября 2015 г.

GPO AD: Computer Startup scripts and Powershell (часть 1: Создание.Запуск)

Не так часто мне удавалось видеть рабочую конфигурацию «Сценария запуска для компьютера» и уж тем более не доводилось реализовать. Но вот возникла необходимость. И казалось-бы у Miscrosoft в редакторе GPO имеются для этого комфортные средства. Бери и делай! Но что-то пошло не так. и мои скрипты не захотели работать. Поэтому здесь я опишу то, с чем мне пришлось столкнуться в процессе решения такой задачи.

Итак, первое, и пожалуй одно из самых важных — это понимание того, что запускаться скрипты будут не от имени пользователя (как авторизованного пользователя в домене), а именно от имени учетной записи компьютера с наивысшими правами, не требующими повышения . А важно это потому, что имеет смысл сразу определиться с местоположением ваших скриптов.

В Microsoft подразумевается, что свои скрипты вы будете размещать в папке, которая соответствует редактируемой политике. Но во-первых, это не всегда так, а во-вторых логично предположить, что права (хотя-бы на чтение) у компьютера, который будет обращаться к скрипту — имеются. Однако это тоже ложное мнение! Итак, первое, с чем мы определимся.

Выбор расположения скриптов и права доступа

Мои скрипты расположены не только в папке политики, которая их и будет выполнять.

Один скрипт у меня находится: \\domen.local\SysVol\domen.local\Policies\\Machine\Scripts\Startup\Main.ps1

Второй скрипт вызывается из первого и у меня он находится: \\domen.local\NETLOGON\zabbix_install.ps1

В случае первого скрипта необходимо: Открыть в редакторе GPO (нужной вам политики): Конфигурация компьютера — Политики — Конфигурация Windows — Сценарий (запуск/завершение) — выбрать Автозагрузка.

В открывшемся окне перейти на вкладку Сценарии PowerShell и нажать внизу кнопку: Показать файлы

Открывшаяся папка — то, что вам нужно. Сюда вы копируете свои скрипты, которые планируете выполнять этой политикой. И сразу проверяете права этой папки.

На вкладке Безопасность проверяем наличие прав доступа на чтение и выполнение — группе Domain Computers

Права для SYSTEM (Full) — как правило выставляются корректно изначально. Creator Owner — так же являются корректными.

Если права отсутствуют — добавляем их.

И это касается каждой папки, к которой планируется обращение от имени доменного компьютера.

Т.е. в моем случае — мне было необходимо дать такие права еще для папки \\domen.local\NETLOGON а так-же для шары, к которой обращается скрипт и пишет туда логи. \\shara\LOG

Выбор скрипта для запуска и редактирование GPO

Интерфейс добавления скрипта для обработки в GPO неоднозначен, что касается выбора расположения скрипта и предоставляет различные возможности. А именно: прописать скрипт по локальному пути, по сетевой шаре, указать параметры запуска и даже порядок выполнения, относительно скриптов-пакетников.

Я тестировал различные варианты и уже сложно сказать, что работало, а что нет. Потому-что если одно работало — то другое уже отказывалось. Именно поэтому я сообщаю лишь итоговый рабочий вариант.

Вы скопировали скрипт в папку используемой политики в этом-же окне жмете кнопку добавить и выбираете скрипт. Однако в окне скриптов (это видно на скрине выше) — пути к файлу нет. И это нормально. Я тестировал варианты: прописать путь до скрипта даже по сети, например: \\shara\PS\Main.ps1 и такое тоже выполнялось, если права на чтение папки компьютерами домена — присутствовало. Поэтому экспериментируйте.

По большому счету все. НО! По умолчанию, ваши PS скрипты не будут запускаться даже из сети, основываясь на безопасности GPO.

Путей решения несколько. Разрешить запуск любых скриптов. Или использовать политику безопасности, которая позволит запускать скрипты, расположенные локально или в сети, но при этом скрипты должны быть подписаны.

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

Изменение политики безопасности PowerShell — Выполнение сценариев

Находим нужную политику: Конфигурация Компьютера — Административные шаблоны — Компоненты Windows — Windows PowerShell и открываем политику: «Включить выполнение сценариев»

По умолчанию она выключена, а это значит, что выполнение скриптов ЗАПРЕЩЕНО!

Включая — нам становятся доступны опции политики выполнения и если вас не интересует подпись сертификатов — вы выбираете «Разрешить все сценарии«.

Читайте также:  Драйвера для аирподсов для windows

Однако хочу сказать, что подпись сценариев оказалось не столь проблематичной, и отладив эту процедуру — вы можете поставить еще одну галочку напротив усиления мер безопасности в вашей сети 🙂 Как это сделать рассказано во второй части.

Для проверки текущей политики безопасности существует командлет:

Get-ExecutionPolicy

Restricted — блокируются любые скрипты.

AllSigned — разрешены только те, которые имеют цифровую подпись

RemoteSigned — скрипты, на локальном компьютере, можно запускать без ограничений. Скрипты, загруженные из интернета — только при наличии цифровой подписи.

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

Bypass — ничего не блокируется, никакие предупреждения и запросы не появляются.

Последний вариант часто используют в пакетниках, вызывая доверенные ps1 скрипты, для беспроблемного запуска. Например:

powershell.exe -executionpolicy bypass -File C:\scripts\backup.ps1

Кстати запуск из cmd или bat — Это еще один наиболее простой запуск ps1 скрипта без заморочки на политику безопасности и подписании скриптов 🙂

Запуск скриптов в Windows Server 2012 R2 Windows 8.1 и выше

Это еще один подводный камень. По умолчанию, в версиях 2012 R2 и Windows 8.1 скрипты компьютера на запуск — имеют задержку на выполнение в 5 минут.

Чтобы это исправить необходимо скорректировать еще один пункт в политике безопасности.

На данный момент уровень моего домена и леса = 2012. Как и все контроллеры домена, под управлением Windows Server 2012. А в этих версиях отсутствует параметр управления этой задержкой. Поэтому первое, что необходимо сделать, это скачать административные шаблоны ADMX отсюда: http://www.microsoft.com/ru-ru/download/details.aspx?id=41193

Скачав файл Windows8.1-Server2012R2ADMX-RTM запустите его установку на одном из контроллеров домена. Путь по умолчанию будет: C:\Program Files (x86)\Microsoft Group Policy\Windows 8.1-Windows Server 2012 R2\PolicyDefinitions\ Зайдите в эту папку и удалите лишние языковые директории. Я оставил лишь en-US и ru-RU т.к. имею в распоряжении русскую и английскую версию оснастки.

Теперь необходимо создать Централизованное хранилище политик. На контроллере домена скопировать папку PolicyDefinitions целиком из %systemroot% в папку %systemroot%\sysvol\domain\policies\

Затем скопировать содержимое из папки C:\Program Files (x86)\Microsoft Group Policy\Windows 8.1-Windows Server 2012 R2\PolicyDefinitions\ в папку %systemroot%\sysvol\domain\policies\PolicyDefinitions\
В последствии эти шаблоны будут автоматически распространены и для других контроллеров домена. А вам необходимо только перезапустить оснастку редактора групповых политик.

Переходим к настройке: Конфигурация компьютера — Политики — Административные шаблоны — Групповая политика — Настроить задержку сценария входа

Включаем этот параметр и выставляем значением «0 мин». Таким образом мы полностью отключаем задержку сценария входа.

Теперь наши скрипты будут также успешно работать и в Windows 2012 R2 и Windows 8.1 при загрузке компьютера!

Продолжение:

Также вы можете посмотреть мои обращения в Microsoft Technet, где мне успешно помогали решать эти задачи. За что коллегам отдельная благодарность!

Use PowerShell to Configure the NIC on Windows Server 2012

November 21st, 2012

Summary: Guest blogger and Microsoft MVP Jan Egil Ring talks about using Windows PowerShell 3.0 to automatically configure the NIC on Windows Server 2012. Microsoft Scripting Guy, Ed Wilson, is here. Yesterday, The Scripting Wife and I traveled from Stockholm, Sweden, to Oslo, Norway, and had dinner with MVP Jan Egil Ring. Today, I will speak at the User group here in Oslo. Therefore, today seems like a good day to have Jan as our guest blogger. Read more about Jan and see his previous post. Take it away, Jan. With the release of Windows Server 2012, Microsoft provided native Windows PowerShell support for NIC configuration tasks. A complete overview of the Windows PowerShell Cmdlets for Networking is available in the TechNet Library. A typical usage scenario is configuring TCP/IP settings, for which we can leverage the Net TCP/IP Cmdlets that are available in the NetAdapter module.

# Import the NetAdapter module. This step is provided for clarity. It is not needed due to the new module autoloading feature in Windows PowerShell 3.0

Import-Module NetAdapter # Retrieve the network adapter that you want to configure.

$netadapter = Get-NetAdapter -Name Ethernet # Disable DHCP.

$netadapter | Set-NetIPInterface -DHCP Disabled # Configure the IP address and default gateway.

$netadapter | New-NetIPAddress -AddressFamily IPv4 -IPAddress 10.0.1.100 -PrefixLength 24 -Type Unicast -DefaultGateway 10.0.1.1 # Configure the DNS client server IP addresses.

Set-DnsClientServerAddress -InterfaceAlias Ethernet -ServerAddresses 10.0.1.10 For your reference, the equaling commands in network shell (netsh.exe) are the following:

netsh interface ip set address name=”Ethernet” static 10.0.1.100 255.255.255.0 10.0.1.1 1

netsh interface ip set dns “Ethernet” static 10.0.1.10 A more advanced usage scenario is configuring TCP/IP settings for computers with multiple NICs. One example is Hyper-V cluster nodes, which may have the following network adapters:

  • Management – Used for remote management, domain traffic, management agents, and so on.
  • Heartbeat – Dedicated NIC for heartbeat in failover clustering.
  • CSV – Dedicated NIC for Cluster Shared Volume network traffic.
  • Live Migration – Dedicated NIC for live-migrating virtual machines between Hyper-V hosts.
  • Virtual switch – Dedicated NIC for an external virtual network switch in Hyper-V, typically connected to a trunked network switch port.
Читайте также:  Репозиторий astra linux яндекс

The number of NICs may vary based on the number of virtual switches and usage of NIC teaming. In our example scenario, we will configure a Hyper-V host with 5 NICs. Configuring TCP/IP settings and alias names for NICs in such a scenario might be a time-consuming task because you will have to figure out which NIC is connected to which VLAN/switch port. One way to ease this scenario is to prepare a CSV-file containing the necessary configuration by using, for example, Microsoft Excel. The CSV-file may contain configuration info for all the NICs for one or more servers. This is a sample CSV-file:

“HPV10001″,”Hyper-V_LiveMigration”,”00-25-B5-01-00-FF”,”false”,”IPv4″,”172.30.1.161″,”24″,, You can then leverage the cmdlets in the NetAdapter module to automatically configure TCP/IP settings on the Hyper-V host:

# Importing the CSV-file containing the NIC configuration.

$NICs = Import-Csv “c:tempnic-config.csv” | Where-Object

foreach ($NIC in $NICs) <

$NetAdapter = Get-NetAdapter | Where-Object

Write-Verbose “Found NIC $($NIC.NIC)” # Retrieving the network adapter you want to configure.

$NetAdapter = $NetAdapter | Rename-NetAdapter -NewName $NIC.NIC -PassThru # Configuring a static IP address for the NIC, if DHCP is set to false in the CSV-file

if ($NIC.DHCP -eq ‘false’) <

Write-Verbose “Configuring TCP/IP settings for NIC $($NIC.NIC)”

$NetAdapter = $NetAdapter | Set-NetIPInterface -DHCP Disabled -PassThru # Initializing empty hash table for storing NIC configuration.

$NICAttributes = @<> # Adding configuration properties to hash table.

Установка и конфигурирование Windows Server 2012 R2 Essentials

Всем добрый день. Хотелось бы рассказать о установке и конфигурировании Windows Server 2012 R2 Essentials. Эта статья не является призывом к повсеместной установке Windows или пропагандой продуктов Microsoft. Хотелось бы просто рассказать об интересном продукте и возможно кого-то данный продукт заинтересует и пригодится в работе. Статью я старался писать для неподготовленного читателя, поэтому минимум терминологии и максимум обобщения некоторых понятий.

Немножко о редакции Essentials

Windows Server 2012 R2 Essentials – это одна из редакция серверной операционной системы от компании Microsoft. Однако имеет множество отличий от редакций Standard и Datacenter. Что же умеет Essentials:

  1. Авторизация и аутентификация пользователей вашей сети (домен контроллер службы каталогов Active Directory)
  2. Файловое хранилище (роль файлового сервера)
  3. Удаленный доступ к корпоративной сети (VPN и DirectAccess сервер)
  4. Удаленный доступ к файловому хранилищу через Web-интерфейс (настроенный для этого IIS)
  5. Удаленный доступ к рабочем столам клиентских машин (шлюз удаленных рабочих столов)
  6. Резервное копирование клиентских машин (windows backup)
  7. Резервное копирование самого сервера (windows backup)
  8. Интеграция с облачными технологиями Microsoft (Office 365, Azure backup и т.д.)
  9. Консоль единой настройки Essentials, которая позволит настроить возможности описанные выше даже не подготовленному системному администратору.

Если обобщить, то редакция Essentials имеет большинство ролей Windows Server. Некоторые из этих ролей настроены, некоторые доступны в полном объеме, некоторые как например Hyper-V с серьезными ограничениями. Компенсацией за эти все ограничения является более низкая цена, включенных 25 клиентских лицензий, централизованная и простая настройка. Хочу так же отметить, что процесс лицензирования серьезно отличается. Вы можете использовать эту редакцию только для организаций, где число пользователей не превышает 25. Но повторюсь вам не нужно приобретать какие-либо клиентские лицензии.
Таким образом Essentials очень хорошо подходит для малых организаций, которые бы хотели пользоваться большинством современных решений для обеспечения безопасности корпоративной сети, хранения документов, удаленного доступа, возможно, почтовые системы. Для тех организаций, которые не хотели бы тратить много денег как на саму ИТ инфраструктуру, так и на работу высококвалифицированных системных администраторов.

Установка и первоначальная настройка

Установка данной ОС вполне стандартная процедура. Если вы хоть раз устанавливали Windows Vista /7/8/8.1, то вы без проблем установите и Essentials. Однако, если вы не устанавливали ни вышеперечисленных ОС ни любую из последних версий серверных ОС, то я рекомендую или довериться профессионалу или как минимум студенту второкурснику.
Единственное, что я бы рекомендовал в момент установки, если у вас один жёсткий диск, разбить его на два раздела. Т.е. сделать так чтобы после установки в системе был второй уже отформатированный жесткий диск. Безусловно это только рекомендация, вы сможете подготовить второй диск в последующем, однако придется переносить некоторые папки.
После первого входа в свежеустановленную ОС запустится мастер «Настройка Windows Server Essentials», который поможет произвести первоначальную настройку.

Читайте также:  Что такое vnc client windows

На первом шаге вам необходимо задать настройки даты и времени.

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

На следующем шаге вам необходимо заполнить имя администратора и задать его пароль.

На последнем шаге необходимо указать способ обновления операционной системы и нажать настроить

После этого запустится процесс, который произведет все необходимые первоначальные настройки. Это займет около 30 минут и потребует несколько перезагрузок. За это время ОС успеет в частности установить необходимые роли и настроить сервер в качестве домен контроллера для нового домена.

Настройка

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

Создание пользователей

При первом запуске данной панели вам откроется вкладка установка, на которой можно выполнить ряд задач по настройке сервера.
Я начну с добавления пользователей. Щелкаем ссылку для добавления учетных записей.

Заполняем поля формы и нажимаем далее

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

Далее устанавливаем, что будет доступно для пользователя удаленно. Про удаленный доступ расскажу чуть позже.

Учетная запись создана. Жмем закрыть.

Подобным образом можно создать множество учетных записей. Безусловно, Вы можете пользоваться и привычным и знакомым для вас интерфейсом Active Directory Users and Computers, но в таком случае выдавать разрешения на доступ вам придется ручками.

Добавление папок сервера

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

В открывшемся окне мастера вводим название. Можно изменить расположение и добавить описание. Нажимаем далее.

На следующей странице указываем необходимые разрешения. При необходимости делаем ее недоступной при удаленном доступе.

С последнего шага данного мастера можно запустить мастер настройки архивации. Нажимаем закрыть.

Настройка удаленного доступа

Один, наверное, из самых сложных этапов настройки Windows Server 2012R2 Essentials. Настройка так же происходит с помощью мастера. Мастер традиционно запускается из панели мониторинга.

Первое что Вам необходимо настроить это ваш маршрутизатор – об этом Вам сообщает мастер. На самом деле Вам необходимо настроить перенаправление портов на маршрутизаторе. Для этого у маршрутизатора должен быть «белый» IP адрес. А на самом сервере лучше настроить статический IP адрес. Перенаправить нужно следующие порты 80, 443, 1723, 987 на IP адрес вашего сервера. В общем то процедуру настройки может выполнить и сам мастер, если ваш маршрутизатор поддерживает UPnP. Я делал настройку ручками, поэтому пропустил данный шаг.

После этого открывается новый мастер настройки доменного имени. Нажимаем далее.

Мастер предложит ввести имя внешнего домена или создать новый. Для собственного домена Вам понадобится сертификат, поэтому рассмотрим тут вариант настройки с использованием домена Microsoft. Выбираем другое имя домена и щелкаем далее.

Рассмотрим вариант с доменом компании Microsoft.

Тут попросит авторизоваться в Microsoft Account.

После авторизации принимаем заявление о конфиденциальности.

Вводим имя домена и проверяем доступность, жмем настроить.

Ну что с именем домена разобрались. Продолжаем — далее.

Выбираем какие именно возможности будут доступны.

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

Ну вот и все можете попробовать зайти на сайт wiseguy.remoteweaccess.com.

C данного веб сайта есть возможность доступа к общим папкам и доступ к рабочим столам пользователей.

Подключение рабочих станций

Если мы и на этот раз откроем панель мониторинга и перейдем на страницу подключение компьютеров, то увидим там лишь инструкцию к действию

Следуя инструкции на клиенте в браузере открываем страничку http:// /connect. Нажимаем ссылку для скачивания.

Выбираем выполнить.

Принимаем лицензию и ждем.

Вводим имя пользователя и пароль пользователя данного компьютера или администратора. Я вводил учетку пользователя.

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

Вводим описание компьютера.

Заходим на компьютер под учетной записью пользователя.

Можно работать. На рабочем столе уже есть все необходимые ярлыки.

Оцените статью