我对powershell有一个小问题,这可能很容易......如果我从控制台运行命令而不是从.ps1文件运行命令,我会得到不同的行为。命令;
New-PSDrive -PSProvider FileSystem -Name X -Root \\computer_name\x -Persist
如果我从控制台运行它,我会得到我想要的行为,即文件管理器中出现的持久X:驱动器。如果我从脚本运行它,只包含这一行,我没有持久驱动器。
有什么想法?
答案 0 :(得分:2)
将-Scope Global
添加到New-PSDrive参数中。
New-PSDrive -PSProvider FileSystem -Name X -Root \\computer_name\x -Persist -Scope Global
如documentation中所述,默认情况下,范围是本地的。如果您阅读about_Scope,您会看到本地意味着当前的范围,对于脚本来说,这就是脚本本身。