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

powershell

181693 观看

6回复

13536 作者的声誉

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

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

作者: eddiegroves 的来源 发布者: 2008 年 11 月 19 日

回应 (6)


38

0 作者的声誉

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

net use \\server\share /user:<domain\username> <password>

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

作者: Anon 发布者: 19.11.2008 08:23

58

12661 作者的声誉

决定

乍一看,人们真的想要使用New-PSDrive提供凭据。

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

失败!

New-PSDrive:无法检索cmdlet的动态参数。无法为“FileSystem”提供程序检索NewDrive的动态参数。提供程序不支持使用凭据。请在不指定凭据的情况下再次执行操作。

该文档声明您可以提供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-PSDrive cmdlet可以使用凭据映射网络共享!

New-PSDrive -Name P -PSProvider FileSystem -Root \\Server01\Public -Credential user\domain -Persist
作者: Scott Saad 发布者: 20.11.2008 03:59

9

11311 作者的声誉

PowerShell 3现在支持开箱即用。

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

作者: Jaykul 发布者: 25.09.2012 04:01

2

21 作者的声誉

在同一台机器上,我NET USE从常规命令提示符和PowerShell v2命令提示符处尝试相同的命令:

NET USE链接:SharePoint

In CMD 它工作得很好。

In PS,它说工作正常,驱动器映射。但是,当您键入时,列出的驱动器状态大多NET USE为空白,并且驱动器映射不起作用(即您无法从映射驱动器获取数据)。

它可能是一个SharePoint问题,因为NET USE来自powershell有时可以工作,有时不工作,但仍然看起来CMD和PS之间存在差异。

作者: Don L 发布者: 20.12.2012 10:05

0

11 作者的声誉

我想在这里分享我的经验。

我经常使用网络驱动器从远程服务器提取信息。如果您在远程服务器上使用Powershell 2.0。

最好的选择是使用NET USE命令。

Net use \\10.10.10.10\SharedDrive "password@123" /User:Abcd.com\username
作者: Shivakumar 发布者: 23.09.2017 07:01

0

1 作者的声誉

我需要使用NET USE命令,就像这一个(net use \ server \ share / user :),但没有精确的用户和密码,因为它可以是几个不同的用户连接到它。有谁知道这样做的方法?

求你帮忙。

Nilzo

作者: Nilzo Garrido 发布者: 16.11.2018 05:05
32x32