Я хочу выполнить powershell, используя SDK .net Powershell. У меня это нормально работает. Прежде чем выполнить его, я хочу проверить, подписан ли скрипт моим сертификатом подписи кода - этого достаточно легко сделать из самой powershell с помощью Get-AuthenticodeSignature, но я хотел бы сделать это в коде, прежде чем выбирать этот скрипт ,Как проверить, подписан ли скрипт powershell из управляемого API?
Решение:
Runspace runSpace = RunspaceFactory.CreateRunspace();
runSpace.Open();
Pipeline shell = runSpace.CreatePipeline();
shell.Commands.AddScript(String.Format("Get-AuthenticodeSignature '{0}'", Filename));
Signature sig = (shell.Invoke()[0]).BaseObject as Signature;
bool isValid = sig.Status == SignatureStatus.Valid;
достаточно близко! Добавлено решение по моему вопросу –
ах, я вижу, что вы на v1.0 powershell (объект powershell - только v2) – x0n