Если у вас имеются скрипты PowerShell, которые были подписаны кем-либо. Даже если этот собственные скрипты, подписанные собственным сертификатом, PowerShell не даст их просто так запустить. Поэтому необходимо выполнить ряд действий, чтобы разрешить запуск скриптов данного автора на всех компьютерах в домене Active Directory. Первое, что необходимо сделать установить политику выполнения на всех компьютерах в AllSigned. Более подробно с необходимыми настройками вы можете ознакомиться в моей статье безопасность PowerShell в Active Directory.
Получение сертификата с публичным ключем
При запуске подписанного скрипта даже сертификатом доверенного центра сертификации, все равно будет всплывать предупреждение о запуске данного скрипта. Происходит это по вполне понятной причине, доверенный центр сертификации может помочь вам определить автора скрипта. Любой может заказать у публичных центров сертификации ключ и подписывать им свои скрипты. Это может сделать даже хакер. Поэтому каждого автора, необходимо будет добавлять в доверенные по отдельности.
Вот пример предупреждения:
1 2 3 4 5 6 |
PS F:\> .\HollyScript.ps1 Do you want to run software from this untrusted publisher? File F:\HollyScript.ps1 is published by CN=Holly Dickson, OU=IT, DC=Adatum, DC=com and is not trusted on your system. Only run scripts from trusted publishers. [V] Never run [D] Do not run [R] Run once [A] Always run [?] Help (default is "D"): A |
Чтобы избежать данного сообщения в дальнейшем необходимо нажать A. При этом публичный ключ будет добавлен в хранилище Trusted Publisher. Более на данном компьютере, скрипты данного автора предупреждения выдавать не будут.
Экспорт сертификата с публичным ключем
Его необходимо будет экспортировать и импотрировать на все компьютеры, на которых предполагается запускать скрипты этого пользователя.
1. В консоле Certificate переходим в Trusted Publisher -> Certificates
2. Щелкаем правой кнопкой по сертификату пользователя, чьи скрипты мы желаем разрешить. И выбираем All Tasks -> Export
3. Пропустив несколько шагов по умолчанию выбираем имя файла и путь где будет сохранен файл. Можно выбрать какую-нибудь «шару». К этому файлу должен быть доступ из редактора групповых политик.
4. Завершаем процесс экспорта.
Полученный файл можно импортировать на любой компьютер в узел «доверенные издатели». После этого и на этом компьютере можно будет запускать скрипты данного автора, без каких-либо предупреждений.
Импорт публичного ключа на все компьютеры в AD
Безусловно если вы желаете, чтобы скрипты автора выполнялись без предубеждения на компьютерах в вашем домене, проще всего для этой цели воспользоваться групповыми политиками.
1. Переходим в Group Policy Manager и изменяем групповую политику, которую мы использовали для установки политики выполнения. Хотя можно создать новую.
2. Переходим в узел Computer Configuration -> Policies -> Windows Settings -> Security Settings -> Public Key Policies -> Trusted Publishers
3. Щелкаем правой кнопкой в пустой области и выбираем Import
4. Пропустив несколько шагов выбираем файл, который был указан на 3 шаге.
5. Проверяем, что импорт будет произовдится в Trusted Publisher
6. Завершаем процесс импорта.
После этого обновляем групповые политики на клиентских компьтерах и на них можно будет спокойно выполнять скрипты данного автора. В эту групповую политику необходимо добавить все сертификаты всех разработчиков, которые у вас есть. Поэтому важно, чтобы сертификаты не плодились и увас был файл содержащий приватный ключ сертификата.
Спасибо! Теперь я знаю что происходит когда отвечаешь «всегда запускать скрипты с этой подписью»
Спасибо, все работает.