【问题标题】:use csv to copy and paste files from remote servers使用 csv 从远程服务器复制和粘贴文件
【发布时间】:2022-11-18 08:04:36
【问题描述】:

我想要一个有两列的 csv,它看起来像这样。我需要一个脚本,该脚本将从旧服务器复制文件并将其粘贴到我的本地目录,然后从我的本地目录粘贴到新服务器。

Old_Server New_Server
OServer1 Nserver939
Oserver2 NServer32

现在我只有一个包含一列的 csv,它有旧的服务器名称。 csv 处于临时状态,所以我有

$servers = Get-Content -Path "C:\Temp\Servers.csv"

温度.csv

Old_Server
OServer1
Oserver2

我有将文件从远程服务器复制到本地服务器的代码。

forEach ($server in $servers){
copy -path "\\$server\D$\topsecret\secret.txt" -destination "C:\Temp\$server\TopSecret\"
} 

我需要使用旧服务器名从我的本地目录复制其中的文件并将其粘贴到新服务器的位置。

【问题讨论】:

    标签: powershell


    【解决方案1】:

    未经测试,使用New-PSSession(和Remove-PSSession)结合Copy-Item-ToSession参数:

    Import-Csv C:TempServers.csv |
      ForEach-Object {
        $toSession = New-PSSession $_.NewServer
        Copy-Item "\$($_.OldServer)D$	opsecretsecret.txt" `
                  -Destination 'C:somelocalpathon	he
    ewserver'
        $toSession | Remove-PSSession
      }
    

    当然,如果您也可以通过 UNC 路径定位新服务器上的目标目录,则不需要创建显式会话,并且可以使用类似
    -Destination "\$($_.NewServer)D$ opsecretsecret.txt"

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-01-11
      • 1970-01-01
      • 1970-01-01
      • 2022-01-17
      • 2012-04-08
      • 2018-08-16
      • 2018-10-06
      相关资源
      最近更新 更多