powershell - 设置用户名和密码 VPN powershell
问题描述
我有一个 powershell 脚本,可以在其中将 VPN 添加到本地计算机。它会提示用户输入凭据,然后创建 VPN 连接并添加凭据。当我在自己的计算机上尝试此操作时,它工作得非常好,但是当我在另一台计算机上尝试此操作时,它会给出错误提示 Set-VpnConnectionUsernamePassword 不是命令。
有谁知道这是什么原因或如何解决这个问题。
$creds = $host.ui.PromptForCredential("Need credentials", "Voer de inloggegevens in van de VPN gebruiker", "", "")
$name = "name of vpn"
$username = $creds.username
$plainpassword = $creds.password
Add-VpnConnection -Name $name -ServerAddress $name -RememberCredential -TunnelType Pptp
Set-VpnConnectionUsernamePassword -connectionname $name -username $username -password $plainpassword
解决方案
该错误消息表明在另一台计算机上,未安装模块VPNCredentialsHelper 。
除此之外,使用您的代码
$plainpassword = $creds.password
该变量$plainpassword
将接收密码为System.Security.SecureString
,但代码需要一个纯文本字符串(因此是变量名)。
你应该把它改成
$plainpassword = $creds.GetNetworkCredential().Password
推荐阅读
- datatables-1.10 - 数据表 - 7 列中的 3 列请求未知参数
- python - 有没有办法对谷歌或工具 pywrapknapsack_solver 施加内存限制?
- javascript - 我可以使用反应钩子从导入的函数中执行 setValue 函数吗?
- android - 我尝试编写一个按钮来打开一个新的意图并将数据保存在一个动态创建的按钮中,但是当我点击它时没有任何反应
- javascript - 如何使用功能组件在 React 中创建具有活动类的选项卡
- ocaml - 类型与列表操作不匹配
- react-native - 反应原生元素复选框使用反应钩子选择多个项目
- ruby-on-rails - 难以实现一对一的关系
- c - 在 Visual Studio 代码中编译时编译终止
- sql-server - 如果 LaborCostId 只有 1 行,我想输入一个新行。如果有两行,则忽略