2012-08-09 89 views
1

我是新來的power-shell並嘗試編寫VMreset腳本。我有一切工作,但有一些事情有幾個問題。電源外殼輸出和優化

下面是實際運行的功能相當的所有命令

我注意到,有時需要永遠的代碼運行,它沒有之前我加完進程,刪除,項目和禁止複製項目命令

此外它現在似乎通​​過寫輸出顯示所有命令執行後。

有沒有更好的辦法讓我這樣做?

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

最終過程不是一個標準PowerShell命令。顯然這是你寫的一個函數?函數(這裏沒有顯示)是否有可能導致延遲?它是否比內置的Stop-Process cmdlet做更多的事情? – 2012-08-09 16:39:53

+0

function End-Process {[string []] $ ProcessName) Stop-Process -Process $ ProcessName } – ondrovic 2012-08-10 14:16:24

回答