Security.SecureString参数不接受字符串

时间:2017-03-20 11:21:31

标签: powershell passwords parameter-passing

将字符串作为参数传递给此参数时:

[Parameter(Mandatory=$true)]
[ValidateNotNullOrEmpty()]
[Security.SecureString]$password=$(Throw "Password required.")

使用-password参数时出现此错误。

  

无法将System.String类型转换为System.Security.SecureString

类型

如果我没有传递-password参数,则会显示提示并接受输入。

2 个答案:

答案 0 :(得分:8)

你不能传递一个字符串;你必须传递一个安全的字符串

data = [1, 5, 3, 6, 10];
indices = [1, 2, 2, 2, 4];
result = zeroes(1, 5);

答案 1 :(得分:1)

另一个选择是将密码作为String,然后将其转换为函数中的SecureString。

Function DoSomething {
Param (
    [Parameter(Mandatory=$true)]
    [ValidateNotNullOrEmpty()]
    [String]$password=$(Throw "Password required.")
)

$password = $password | ConvertTo-SecureString -AsPlainText -Force

#your script continues here
}