powershell - 使用变量将文件从一个位置复制到多个使用 Powershell
问题描述
所以我有一个文件,我想使用 powershell 从一个位置传输到网络上的多台计算机,这就是我目前所拥有的。
robocopy "\\PTFGW-061403573\c$\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup"
"\\$onlineComputers\c$\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup" /mir /r:1 /o:0
当我运行它时,它说找不到位置,我可以确认该变量包含其中的所有在线计算机。有任何想法吗?
解决方案
齐齐,
这是一些应该做你想做的代码。它将 copy-item 命令放入 TRY/Catch 构造中,以捕获和报告复制过程中的任何错误。我假设您的源(启动)上的最后一项是一个文件夹,因此需要 $CIArgs 中的 Recurse 参数。如果它不是文件夹,请删除 Recurse 行。我还打破了您的路径,以减少重复并使事情更容易改变。注意:我在对等 LAN 上进行了测试,应该可以在基于域的 LAN 上运行。
$onlineComputers = "Computer1","ComputerN"
$FSBase = "C$\ProgramData\Microsoft\Windows\Start Menu\Programs"
$OnlineComputers |
ForEach-Object {
Try {
$CIArgs =
@{Path = "\\PTFGW-061403573\$FSBase"
Destination = "\\$_.\$FSBase\Startup"
Force = $True
Recurse = $True
ErrorAction = 'Stop'}
Copy-Item @CIArgs
}
Catch {
Write-Host @"
Could not write to: $_.
"@
} #End Catch
} #End ForEach...
高温高压
推荐阅读
- actionscript-3 - Animate ActionScript 3.0 中的按钮超链接
- ios - 清除视图控制器的导航堆栈
- javascript - 计算中位数 JavaScript
- java - 如何将标题文本放在复选框、单选按钮和滑块的左侧?
- angularjs - 如何在angularjs中的exixting数据下方附加json对象
- interpolation - 如何限制插值的最大缺失间隙
- android - 错误:无法解决:可穿戴
- hadoop - spring 应用程序没有从集群中获取 hbase-site.xml
- typo3 - 关于如何在typo3 4.5 中使用kickstarter 创建扩展的任何资源?
- javascript - 无法使用 ES6 忽略模块