1

我是 power-shell 的新手,正在尝试编写 VMreset 脚本。我一切正常,但对某些事情有一些疑问。

下面是运行几乎所有命令的函数

我注意到有时代码需要永远运行,在我添加 End-Process、Remove-Item 和 Copy-Item 命令之前它没有

现在似乎在所有命令执行后都显示了 Write-Output。

有没有更好的方法让我这样做?

function OS-Windows7 {
    Foreach ($Computer in $global:ComputerList) {

    Write-Output "Starting VMReset on $Computer"
    Write-Output "Looking for active VMWare Processes to kill on $Computer"
    End-Process 'vmware-vmx'
    End-Process 'vmware'
    End-Process 'vmware-tray'
    Write-Output "Removing altered virtual machines on $Computer"
    Remove-Item \\$Computer\C$\"My Virtual Machines\*" -Force -Recurse
    Write-Output "Replacing altered virtual machines on $Computer"
    Copy-Item "\\$Computer\C$\Program Files (x86)\VMware\VMware Workstation\VM\Child\*" "\\$Computer\C$\My Virtual Machines\" -recurse -force
    Write-Output "VMReset Finished on $Computer"
    }
}
4

1 回答 1

1

使用 WS-Management 处理副本和删除会更快,因为所有任务都将在远程运行。当通过远程共享而不是本地完成时,对 VM 等大文件的操作非常昂贵。

WS-管理

于 2012-09-20T10:57:31.873 回答