当前位置:  开发笔记 > 开发工具 > 正文

在Powershell中使用用户名/密码连接到网络文件夹

如何解决《在Powershell中使用用户名/密码连接到网络文件夹》经验,为你挑选了3个好方法。

我经常访问Powershell中的共享网络文件夹以获取文件等.但如果共享需要用户名/密码,那么与Windows资源管理器不同,Powershell不会提示我这些.如果我首先在Windows资源管理器中连接到该文件夹​​,Powershell将允许我连接.

我怎样才能在Powershell中验证自己?



1> Scott Saad..:

乍一看,人们真的想用New-PSDrive它来提供凭据.

> New-PSDrive -Name P -PSProvider FileSystem -Root \\server\share -Credential domain\user

失败!

New-PSDrive : Cannot retrieve the dynamic parameters for the cmdlet. Dynamic parameters for NewDrive cannot be retrieved for the 'FileSystem' provider. The provider does not support the use of credentials. Please perform the operation again without specifying credentials.

文档说明您可以提供PSCredential对象,但如果您仔细观察,cmdlet还不支持此对象.也许在下一个版本我想.

因此你可以使用net use或者WScript.Network对象,调用MapNetworkDrive函数:

$net = new-object -ComObject WScript.Network
$net.MapNetworkDrive("u:", "\\server\share", $false, "domain\user", "password")

在PowerShell 3.0中编辑New-PSDrive

显然,对于较新版本的PowerShell,New-PSDrivecmdlet可以使用凭据映射网络共享!

New-PSDrive -Name P -PSProvider FileSystem -Root \\Server01\Public -Credential user\domain -Persist


请注意[从Powershell 3.0开始](http://technet.microsoft.com/en-us/library/hh849829.aspx),您可以在将驱动器连接到UNC路径时传递凭据,并且如果使用`-Persist `选项,驱动器将创建为普通的Windows映射驱动器.
这是一个开放的错误:https://connect.microsoft.com/feedback/ViewFeedback.aspx?FeedidID = 334084&SiteID = 99

2> 小智..:

这不是PowerShell特定的答案,但您可以先使用"NET USE"对共享进行身份验证:

net use \\server\share /user: 

然后在PowerShell中做任何你需要做的事......


这是我同意Anon的"使用有效"案例之一.通常情况下,我会尽力提供PowerShell答案但不是这次.:)

3> Jaykul..:

PowerShell 3现在支持开箱即用.

如果您遇到PowerShell 2,则基本上必须使用legacy net use命令(如前所述).

推荐阅读
ERIK又
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有