问题标签 [new-psdrive]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
389 浏览

linux - New-PSDrive:找不到与参数名称“Persist”匹配的参数

如何PSDrive在 Linux 上创建持久化?

如上所述,创建一个临时驱动器显然可以正常工作。我希望如果可以创建这样的驱动器,那么创建一个新的持久驱动器应该可以正常工作。

也许我只是没有正确使用语法。

0 投票
1 回答
124 浏览

powershell - 检查是否已使用 if else 语句设置了 PowerShell 驱动器

我正在尝试制作一个 PowerShell 脚本来修改为.ps1文件扩展名设置默认应用程序的注册表值。遗憾的是,由于 PSDrive 没有不存在的路径,所以我无法对脚本进行深入了解HKEY_CLASSES_ROOT

在 Microsoft 网站上使用以下方法找到解决方案后:

然后我考虑在继续之前包含一些代码来检查是否已设置此 PSDrive 路径,因此现在它出现在脚本的顶部,如下所示:

不幸的是,我无法使以下 IF 语句起作用:

在运行命令时,我总是会看到以下消息(“Else”语句),每次我重新运行脚本时,我都看不到“If”语句:

更新 1

第 2 行的一行代码是使用管理员权限提升 PowerShell 脚本。第 3 行和第 4 行是让用户知道脚本已被提升。

我尝试了你的代码Write-Output而不是冗长的代码,但我仍然无法看到与“If”语句匹配的响应。

但是,如果我手动设置 PSDrive:

然后检查它是否存在:

这工作得很好。我只想让我的脚本检查这一点,如果尚未设置 PSDrive,请设置它。

0 投票
1 回答
277 浏览

powershell - 如何在 New-PSDrive 中使用 -Path:Powershell 网络驱动器

我一直在阅读很多不同的帖子,描述如何在 Powershell 中访问网络驱动器,其中大多数建议使用 New-PSDrive,然后包含一些通常看起来有点像的格式 New-PSDrive -Name K -PSProvider FileSystem -Root "\\Server01\Public"

作为最近开始学习powershell的人,-Root的格式还不是很清楚,因为在这一行之后从来没有任何关于如何使用这个驱动器的例子。我正在尝试访问名为 Groups 的共享驱动器 G:,并将文件移入和移出它。当我之前一直在移动文件时,路径和目的地的写法类似于"C:\Users\..."

为什么在根定义的开头有两个 \\'s?Server01 是指 G:、Groups 还是其他什么东西?如果 New-PSDrive 工作并且创建了 K:,我可以像使用 C: 一样在命令中使用 K:吗?

0 投票
2 回答
324 浏览

powershell - 如何在 New-PSDrive 中使用变量?

我正在编写一个小脚本来映射和重命名网络驱动器。我想在驱动器号中使用变量(用户输入),但由于某种原因,脚本只接受静态驱动器号。请帮忙

错误信息如下

New-PSDrive : 无法处理驱动器名称,因为驱动器名称包含以下一个或多个无效字符: ; 〜/ \ 。: 在 C:\Users\Axel\Desktop\TESTY\Szmery Bajery.ps1:9 char:21 + ... New-PSDrive -Name $textBox -PSProvider FileSystem -Root " ... + ~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidArgument: (:) [New-PSDrive], PSArgumentException + FullyQualifiedErrorId : Argument,Microsoft.PowerShell.Commands.NewPSDriveCommand

0 投票
0 回答
44 浏览

powershell - 使用 powershell 访问远程文件系统 - PSDrive 的问题

我正在尝试自动化每天早上在远程系统上编辑文本文件的过程。

我的脚本:

现在,这起初完美无缺,但几天后我遇到了这个错误:

几个使这变得棘手的关键因素:

  • 远程系统不是windows。(AS400 的 IFS)
  • IFS 可从运行脚本的 Windows 机器访问。(我可以通过输入IP使用Windows资源管理器浏览IFS。)
  • 远程系统需要凭据才能访问。(AS400 用户的凭据。)
  • 我无法从 IFS 中提取文件,在 Windows 上进行本地编辑,然后将其放回原处。

有一个更好的方法吗?如果没有,我该如何纠正多连接错误并防止它再次发生?

我肯定有人会问“你为什么不在 400 上编辑文件??” 我很可能会。有一些问题,这就是我首先尝试 powershell 的原因。这本来是一个5 分钟的交易,但我认为我只是把事情复杂化了。

0 投票
1 回答
40 浏览

powershell - PowerShell:使用凭据时将项目从网络共享复制到远程服务器

我将文件存储在网络共享\\domain.company.com\Server01\Folder1\Path上,我希望将其递归复制到远程服务器\\RemoteServer1\D$\Temp\Folder1

最初,我看着使用Copy-Item -Path "\\domain.company.com\Server01\Folder1\Path\*" -Destination "\\RemoteServer1\D$\Temp\Folder1" -Recurse -Force. 但是,由于脚本是从对 RemoteServer 没有管理访问权限的机器上运行的,所以我需要为Copy-Item.

众所周知,这是不可能的,因为 FileSystem 导致我使用New-PSDrive.

所以在这里我正在编写以下代码块:

现在,当我传入凭据时,我的下一个问题出现在该New-PSDrive错误中,即使我完全知道传入的凭据对此网络共享和远程服务器具有完全权限,也会通知我“找不到网络路径”。

我的问题是,在我的机器上以及将传入的凭据用于不同帐户时,将这些文件夹中的项目、文件夹和项目复制到远程服务器的最佳方法是什么。

0 投票
1 回答
197 浏览

powershell - New-PSDrive“找不到网络路径”

我对“New-PSDrive -Root”有疑问

当我尝试使用数组映射 New-PSDrive -Root $patch 和 $path 时,cmd 不会映射驱动器但给我一个错误:“找不到网络路径”。

如果我在 Windows 中使用资源管理器,则该路径有效。

我该如何解决?

非常感谢

例子:

问题

这是整个脚本:

编辑1:如果我尝试通过具有相同凭据的Windows资源管理器直接访问该文件,然后我运行脚本,它就可以工作

0 投票
0 回答
30 浏览

function - PowerShell 安装的驱动器似乎无法安装

我有一个脚本,我正在尝试使用 PowerShell 挂载 Windows 共享驱动器,然后我希望相同的脚本能够访问此位置以在挂载的驱动器中创建文件/文件夹并将文件移动到挂载的驱动器。挂载命令似乎可以正常工作,但此后脚本似乎无法访问它。我尝试使用 -persistent 选项,但没有任何区别。我认为可能的唯一另一件事是该命令在函数中被调用。

在下面的示例中,$Domain、$Year 和 $Month 都在我的脚本中进一步定义。

上面的代码会挂载驱动,但是 Make_Dir 函数不起作用。同样,如果我使用 -persistent 选项,我无法在 Windows 中看到驱动器。所以我认为它仅限于函数内的逻辑。

如果我注释掉挂载函数,而是通过 Windows GUI 挂载驱动器,脚本运行良好。

“姐妹”系统上的另一个脚本运行相同的挂载命令,但不使用函数;它像缩进一样工作。所以我希望有人能证实我的理论;因为我无法访问我试图让它运行的系统,除非在极少数情况下。<-- 是的,我知道这是一种可怕的做事方式,但它超出了我的控制范围:(