通过PowerShell安装受密码保护的网络驱动器

时间:2016-06-16 15:18:16

标签: powershell

我尝试使用此命令挂载网络驱动器

New-PSDrive –Name “C” –PSProvider FileSystem –Root “\\re\Pro\Al\A\V Machines\Vagrant machines” –Persist

但是当您安装此驱动器时,它会要求您输入您的域名和密码。

我尝试使用此命令:

New-PSDrive -Name "P" -PSProvider FileSystem -Root “\\re\Pro\Al\A\V Machines\Vagrant machines” -Credential user\domain -Persist

现在我看到模态窗口,我看到两个字段,“密码”字段为空。

是否有能力使用凭据自动挂载驱动器(我有用户名和密码)?

2 个答案:

答案 0 :(得分:1)

您可以将凭据放入pscredential对象中,将凭据传递给新驱动器。

$secpasswd = ConvertTo-SecureString “PlainTextPassword” -AsPlainText -Force
$mycreds = New-Object System.Management.Automation.PSCredential (“username”, $secpasswd)
New-PSDrive –Name “P” –PSProvider FileSystem –Root “\\re\Pro\Al\A\V Machines\Vagrant machines” –Persist -Credential $mycreds

如果您打算在保存的脚本中使用此凭据,则可以考虑将凭据集保存在本地加密的文件中(不是最好的,但优于明文)。

链接> Use current Powershell credentials for remote call

答案 1 :(得分:0)

另一个选择是将您的凭据添加到Windows保险柜:

#######################################
#Variables:
$target = <domain>
$user = <username>
$Password = <Password>
#######################################
If($Password) 
{ 
    [string]$result = cmdkey /add:$target /user:$UserName /pass:$Password 
} 
Else 
{ 
    [string]$result = cmdkey /add:$target /user:$UserName  
} 
If($result -match "The command line parameters are incorrect") 
{ 
    Write-Error "Failed to add Windows Credential to Windows vault." 
} 
ElseIf($result -match "CMDKEY: Credential added successfully") 
{ 
    Write-Host "Credential added successfully." 
} 
#######################################################