多台计算机可以使用PowerShell将数据写入一台远程计算机中的单个文件吗?

多台计算机可以使用PowerShell将数据写入一台远程计算机中的单个文件吗?,powershell,Powershell,我正在编写一些在Hyper-V群集上运行的powershell脚本,以检索群集中每个主机上的VM统计信息,并使用Add Contentcmdlet将数据写入主服务器中的HTML文件。根据虚拟机的数量,每个集群需要20到30分钟来完成写入 我想知道的是主服务器是否可以容纳这些多个连接。检索数据本身不是问题,因为该过程在每个集群上运行。但是我担心由于多个服务器到单个文件的并发连接而可能出现崩溃或其他情况。当然,主服务器的CPU和内存资源足够了 我可以让集群上的程序立即运行吗,还是必须在服务器之间留出

我正在编写一些在Hyper-V群集上运行的powershell脚本,以检索群集中每个主机上的VM统计信息,并使用
Add Content
cmdlet将数据写入主服务器中的HTML文件。根据虚拟机的数量,每个集群需要20到30分钟来完成写入

我想知道的是主服务器是否可以容纳这些多个连接。检索数据本身不是问题,因为该过程在每个集群上运行。但是我担心由于多个服务器到单个文件的并发连接而可能出现崩溃或其他情况。当然,主服务器的CPU和内存资源足够了


我可以让集群上的程序立即运行吗,还是必须在服务器之间留出一些间隔?提前感谢。

允许多个进程同时将操作写入一个文件通常不是一个好主意。允许这样一个过程需要仔细规划。通常会获取一个文件,因此一次只能有一个进程更新该文件。如果没有,进程可能会写入文件,因此结果会非常混乱。以锁定方式处理P和Q写入内容

p p p
q q q
q q q
p p p
一切都很好,很整洁。现在,让我们允许多次写入,我们可能-可能,这里没有保证像这样获取数据

p p q q q 
p
q q q
p p p
这里发生的是,在两次
p
写入之后,
q
写入三次并添加一个换行符。现在文件结构已经被破坏,一行有五个条目。然后第三个
p
用换行符写入。哎呀,一行中只有一个条目。然后,程序继续写入,很偶然地,接下来的两行按正确的顺序写入


正确的方法是获取一个锁,这样一次只有一个进程可以更新文件。

我们谈论的是多少个虚拟机?每个虚拟机有多少数据?长达30分钟的时间听起来太长了,以至于这个过程非常低效,除非文件是在数千GB的范围内。我想我必须找到一些方法来锁定这个过程。谢谢你给出了一个好的答案。多个作者是一个问题,因此已经存在许多解决方案。例如,反转控件。使集群生成一个日志文件,例如,文件名中包含集群名称和时间戳。然后将日志推送到控制服务器,并在所有日志到达后使用控制服务器合并日志。