2010-06-29 6 views

답변

3

당신은 Get-AuthenticodeSignature cmdlet을 예컨대 :

using System.Collections.ObjectModel; 
using System.Management.Automation; 
using System.Management.Automation.Runspaces; 

private bool VerifyPowerShellScriptSignature() 
{ 
    using (var runspaceInvoke = new RunspaceInvoke()) 
    { 
     string path = "C:\\Windows\\system32\\WindowsPowerShell\\v1.0\\" + 
         "Modules\\PSDiagnostics\\PSDiagnostics.psm1"; 
     Collection<PSObject> results = 
      runspaceInvoke.Invoke("Get-AuthenticodeSignature " + path); 
     Signature signature = results[0].BaseObject as Signature; 
     return signature == null ? false : 
            (signature.Status == SignatureStatus.Valid); 
    } 
} 
를 사용하여이 확인하는 PowerShell에서 엔진을 호스팅 할 수 있습니다
0

Get-AuthenticodeSignature cmdlet이 대상 시스템에서 올바르게 확인 (즉, 오류를보고 함)하고 PSH를 사용할 수있는 경우 C# 응용 프로그램에서 PSH를 실행할 수 있습니다.