首页 > 解决方案 > 设置用户名和密码 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

标签: powershell

解决方案


该错误消息表明在另一台计算机上,未安装模块VPNCredentialsHelper 。

除此之外,使用您的代码

$plainpassword = $creds.password

该变量$plainpassword将接收密码为System.Security.SecureString,但代码需要一个纯文本字符串(因此是变量名)。

你应该把它改成

$plainpassword = $creds.GetNetworkCredential().Password

推荐阅读