我想使用cmdlet(https://technet.microsoft.com/en-us/library/jj649835(v=wps.630).aspx),例如在C#中的Win10下添加BitLockerKeyProtector:
PowerShell psNew = PowerShell.Create();
psNew.AddCommand("Add-BitLockerKeyProtector");
psNew.AddParameter("MountPoint");
psNew.AddArgument("d:");
psNew.AddParameter("Password");
psNew.AddArgument(SecureString);
psNew.AddParameter("PasswordProtector");
var result = psNew.Invoke();
SecureString的类型为System.Security.String
无论发生什么变化,我总是得到同样的错误:
{“无法对参数'密码'进行参数转换。无法将值\”True \“转换为类型\”System.Security.SecureString \“。错误:\”从'System.Boolean'到'系统的无效转换.Security.SecureString” \ “”}
在powershell中执行此操作,一切都运行良好:
`Add-BitLockerKeyProtector -MountPoint d: -Password $ss -PasswordProtector`
我做错了什么以及如何在c#下正确使用此cmdlet?