Я хочу выполнить powershell с помощью .net Powershell SDK. У меня это работает нормально.
Прежде чем выполнить его, я хочу проверить, что скрипт был подписан моим сертификатом для подписи кода - это достаточно легко сделать из самого powershell с помощью Get-AuthenticodeSignature, но я хотел бы сделать это в коде, прежде чем выбрать выполнение этого скрипта.
Решение:
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;