copy-item - 将项目复制到多台计算机
问题描述
我的脚本的 Copy-Item 部分有问题。当我在 $Computers 变量中指定一台远程 PC 时,我能够很好地复制项目,但是当我尝试添加多台计算机时,我遇到了问题。有没有一种特定的方式我需要格式化它,以便我可以从源复制到多台远程计算机?我尝试了一些变体来包含一个 foreach,但我使用以下代码收到的错误是:
Copy-Item:无法将“System.Object[]”转换为参数“ToSession”所需的类型 System.Management.Automation.Runspaces.PSSession。不支持指定的方法。在行:7 字符:49
- 复制项目 $Source -Destination $Dest -ToSession $Session -Recurse
使用此代码,我可以安装到所有计算机,但只能在我一次复制一个项目之后。如果可能,我希望 Copy-Item 一次出现在所有远程计算机上。
$Computers = Get-Content "C:\Server_List.txt"
$Source = "\\networkdrive\Microsoft\SQL\Source"
$Dest = "E:\Microsoft\SQL\Source"
$Session = New-PSSession -ComputerName $Computers
Copy-Item $Source -Destination $Dest -ToSession $Session -Recurse
Invoke-Command -ComputerName $Computers -ScriptBlock {Start-Process "E:\Microsoft\SQL\Source\setup.exe" -ArgumentList "/action=patch /quiet /IAcceptSQLServerLicenseTerms /AllInstances" -Wait
} `
解决方案
推荐阅读
- julia - 将 RGB 值矩阵保存为图像
- python - Python编辑多个工作表
- udp - 在特定 IP 地址 ERLANG 上绑定 UDP 服务器
- javascript - 我有带有粒子的sketch.js,但粒子在我的导航栏上,所以链接不可点击
- python - 按频率对列表进行排序
- reactjs - 变量 JSX 进入危险地渲染 SetInnerHTML()
- c++ - 如何使 C++ #define 语句在 VScode 格式化后不换行?
- sql-server - 如何在 tSQLt 中查看测试结果?
- openstack - Ussuri:QCOW2-Win10-Client 导入 OpenStack 后无法启动
- ios - Corelocation - didUpdateLocations 永远不会被调用