从变量创建映射驱动器

时间:2018-07-18 06:49:38

标签: powershell

我已经进行了所有这些工作,但是必须更改某些内容,因为现在还不行!我想传递变量,然后从中创建一个映射驱动器。

$d = "O:";
$s = "\\Server\Folder";
$u = "/user:DOMAIN\UserId password";
net use $d $s $u;

现在运行该命令时,powershell会挂起。我没有任何错误,也没有任何错误,只是“运行”但没有完成。我必须点击停止脚本按钮。如果我选中net use,则那里没有条目。

如果我手动键入net use O: \\Server\Folder /user:DOMAIN\UserId password,它将起作用并创建映射的驱动器。

我尝试按如下所示转义反斜杠:

$d = "O:";$s = "\\\\Server\Folder";$u = "/user:DOMAIN\\UserId password";

还可以像这样构建字符串(带有和不带有转义的反斜杠):

$n = $d+' '+$s+' '+$u;
net use n;

此方法建议,无论是否有转义的反斜杠,都无法找到该网络。如果我echo $n粘贴代码会创建驱动器,那么我完全茫然了!

1 个答案:

答案 0 :(得分:1)

在PowerShell脚本中调用CMD命令,应该使用Invoke-Expression。

$d = "O:";
$s = "\\Server\Folder";
$u = "/user:DOMAIN\UserId password";

Invoke-Expression "C:\Windows\System32\net.exe use $d $s $u"