我正在尝试做一些非常简单的事情,从概念上讲它应该可以工作,但似乎没有,我不知道为什么。我有一个文件需要复制到多台服务器上的多个文件夹中。我整个早上都在寻找和尝试不同的解决方案。这是我认为应该起作用的东西:
$servers = @("\\server1.domain.com","\\server2.domain.com","\\server3.domain.com","\\server4.domain.com")
$dests = @("\E$\path1","\E$\path2","\E$\path3","\E$\path4","\E$\path5")
$file = "C:\Users\user\file.txt"
foreach ($server in $servers)
{net use $server /USER:domain\username password
{foreach ($dest in $dests)
{copy-item -Path $file -Destination $server$dest}}}
逻辑是,它将命中第一个 foreach,获取第一个服务器名称,使用网络将我的凭据缓存在计算机上,命中第二个 foreach,获取第一个路径,然后将文件复制到第一台服务器上的第一个路径,然后将文件复制到第一台服务器上的第二个路径,依此类推。在路径结束时,它将返回到第一个 foreach,移动到第二个服务器上,并遍历第二个服务器上的路径列表, 和上。
我在其他不使用第二个 foreach 的地方也看到过类似的帖子,但我试过了,但没有用,如下所示:
foreach ($server in $servers)
{net use $server /USER:domain\username password
{copy-item -Path $file -Destination $server$dest}}}
感谢您对此提供的任何帮助。我敢肯定,我只是缺少一些非常简单的东西。