Назад | Перейти на главную страницу

Как получить подписанный сценарий PowerShell в Windows без устаревшего файла makecert.exe?

Я выполнил инструкции здесь Создать сертификат подписи кода в Windows для подписи сценариев PowerShell

но это не работает, поскольку я получаю эту ошибку:

File C:\temp\script.ps1 cannot be loaded. A certificate chain processed, but terminated in a root certificate      
which is not trusted by the trust provider.

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

Google дает мне: https://4sysops.com/archives/sign-your-powershell-scripts-to-increase-security/

и тому подобное, но все они должны установить Windows 10 SDK.

Я просто пытаюсь убежать https://community.spiceworks.com/scripts/show/2998-adamj-clean-wsus?page=51 на моем сервере WSUS Server 2016, не загрязняя его больше, чем необходимо, но я не могу изменить групповую политику, согласно которой скрипты PowerShell должны быть AllSigned.

Помогите?

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

powershell.exe -windowstyle hidden -noprofile -executionpolicy bypass -file "C:\powershell script.ps1"