Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell 复制项:路径中的非法字符_Powershell - Fatal编程技术网

Powershell 复制项:路径中的非法字符

Powershell 复制项:路径中的非法字符,powershell,Powershell,我正在尝试创建一个powershell脚本,该脚本将文件从源复制到多个目标计算机上的同一路径。我在网上找到了这个,并且指向了我的测试数据,但是,我继续收到以下错误(对于它在pc_list.txt中找到的每个系统) 脚本: $Computers = gc "C:\Temp\Script\PC_List.txt" $Source = "C:\Temp\Script\AAAAA.txt" $Destination = "C$\Temp\" foreach ($Computer in $Computer

我正在尝试创建一个powershell脚本,该脚本将文件从源复制到多个目标计算机上的同一路径。我在网上找到了这个,并且指向了我的测试数据,但是,我继续收到以下错误(对于它在pc_list.txt中找到的每个系统)

脚本:

$Computers = gc "C:\Temp\Script\PC_List.txt"
$Source = "C:\Temp\Script\AAAAA.txt"
$Destination = "C$\Temp\"
foreach ($Computer in $Computers) {
    Copy-Item -Path $Source -Destination "\\$Computer\$Destination\" -Recurse
} 
错误:

Copy-Item : Illegal characters in path.
At line:4 char:36
    + ... Computers) {Copy-Item $Source -Destination "\\$Computer\$Destination\ ...
+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : NotSpecified: (:) [Copy-Item], ArgumentException
+ FullyQualifiedErrorId : System.ArgumentException,Microsoft.PowerShell.Commands.CopyItemCommand
PC_List.txt中的PC名称:

DEPT-PC1
DEPT-PC2
DEPT-PC3

有人能给我指出正确的方向吗?

本恩是对的。虽然我在PC_List.txt中没有任何空行,但在每行末尾都有一个空格。。。太棒了

现在我得到“目标帐户名不正确”


我想我需要添加一个$session凭证行,但需要找出如何实现这一部分…

您的txt文件中有空行吗?添加到@BenH的注释中:在
“C$\Temp\”
中使用反勾来转义
$
在概念上更清晰(尽管不是严格必要的)。类似地,
“\\$Computer\$Destination\”
末尾的
\
表示路径以
\\
结尾(同样,没有真正的伤害)。除此之外,您的代码没有明显的问题。查看应用于
复制项目的
-WhatIf
是否显示任何内容。没有空行,我将在早上尝试WhatIf。您的环境中是否启用了WinRM(PSRemoting)?是。我已经通过GPO激活了它。如果启用WinRM,我是否不需要执行新的PSSession?因此我相信新的PSSession可以正常工作,但是我现在发现我的脚本正在将PC列表中的最后一个条目放置在每个副本项路径中。。。e、 g.复制项目:路径“\\Dept-PC1\\\Dept-PC3\C$\Temp\”无效。远程复制操作只支持绝对路径。那么您的最终目标是什么?从一台设备复制到另一台不是您所在主机的设备?我的最终目标是:我们有一家软件供应商,要求将配置文件复制到其软件所在的所有系统上的同一文件夹。我希望运行一个PS脚本,立即将文件复制到列表中的所有pc,而不是手动进入每个pc\\Dept-PC1。