将文件夹复制到列表中的远程主机
$source = "C:\Windows\System32\WindowsPowerShell\v1.0\Modules\Carbon" $target = "\c$\Windows\System32\WindowsPowerShell\v1.0\Modules" $ON_OFF = Import-Csv -Path 'C:\aaa.csv' | select ipaddress, fulldomainname, @{name='ON_OFF';expression={ Test-Path -Path ("\\" + $_.ipaddress + $target) }} #判断目标文件夹是否有效 $ON = $ON_OFF | where ON_OFF -EQ $true $ON | Export-Csv -Path c:\aaa-ON.csv -Force $OFF = $ON_OFF | where ON_OFF -EQ $false $OFF | Export-Csv -Path c:\aaa-OFF.csv -Force #将有效和无效的对象分别保存 $ON | where { (Test-Path -Path ("\\" + $_.ipaddress + $target + "\Carbon")) -eq $false } | ForEach-Object {Copy-Item -Path $source -Destination ("\\" + $_.ipaddress + $target) -Recurse -Force} #找出无carbon文件夹的主机(也就是尚未拷贝carbon的),然后开始拷贝