我想在另一个ps1文件中传递参数,但我有问题发送参数
我代码:
#loginWindow.ps1
$userName=$var_txt_username.Text
[SecureString] $password=ConvertTo-SecureString $var_txt_password.Password -AsPlainText -Force
$myPath="$pathMainWindow.ps1"
$window.Close()
Invoke-Expression "$myPath $userName $password"
#MainWindow.ps1
param(
[string]$userName ,
[secureString]$password
)
和我的错误:
不能处理参数'password'的参数转换。无法转换"System.Security.SecureString"type"System.String"输入"System.Security.SecureString"
谢谢你的帮助
这里的问题是Invoke-Expression
,这是一个您应该尽量避免的cmdlet。看到这个
你可以运行你的MainWindow脚本:
. $myPath $userName $password
或使用调用操作符
& $myPath $userName $password