Power-shell输出和优化

时间:2012-08-09 01:43:09

标签: powershell foreach richtextbox

我是power-shell的新手并尝试编写VMreset脚本。我有一切工作,但对某些事情有一些问题。

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

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

现在看来,所有命令执行后都会显示写输出。

我有更好的方法来做这件事吗?

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"
    }
}

1 个答案:

答案 0 :(得分:1)

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

WS管理