Powershell: invoke-command erg langzaam

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • morphje
  • Registratie: Juni 2001
  • Laatst online: 14-10 21:45

morphje

let's all love lain

Topicstarter
Vrij nieuw op het gebied van powershell, maar hier breek ik mijn hoofd al een paar uur op

Run ik het volgende script vanaf mijn eigen powershell is het echt traag (30 seconden voor grofweg 40 VMs):
code:
1
2
3
4
5
$hyperv = New-PSSession -ComputerName westvleteren
$results = Invoke-Command -Session $hyperv -scriptblock { Get-VM }
Foreach ($res in $results) {
  Write-Host $res.VMName 
}


Als ik een Enter-PSSession doe vanaf mn powershell naar de remote machine, dan razen de resultaten over mn beeldscherm. Enige tips hoe ik dit kan versnellen voor mijn eigen host? Ik heb wel een aantal properties nodig van deze machine, waaronder VMName, Id, State, Path, MemoryStartup. 40 VMs is slechts het begin, er komen straks meer dan 100 op deze bak te staan. (equals kleine ramp met dit soort waittimes :S)

Ik dacht dat ik het had gevonden met een -AsJob, maar dan is eigenlijk net zo traag.
code:
1
Invoke-Command -Session $hyperVConnection  -AsJob -JobName getvm -ScriptBlock { Get-VM }

Acties:
  • 0 Henk 'm!

  • brid
  • Registratie: Januari 2001
  • Laatst online: 29-07-2024

brid

Onze excuses voor het ongemak

geen idee of je de oorzaak hebt gevonden, maar weet je al waar het traag is?

code:
1
2
3
4
Measure-command
{
   Je code
}


Kan hier helaas niks na doen aangezien security managment WinRM onveilig vind :?

DIY NAS, Hoofd PC
Unchain your pc/laptop, buy a SSD!!!!!


Acties:
  • 0 Henk 'm!

  • A_De2
  • Registratie: Oktober 2001
  • Laatst online: 15-10 17:04

A_De2

Liberate tuteme ex inferis

Het is al een oude thread maar voor wat het waard is;

Ik heb mijn kleine teen al een paar keer tegen de write-host steen gestoten. Grote kans dat als je de output naar bijvoorbeeld een textfile smijt, dit een stuk sneller gaat. Overigens kun je met write-host ook niets anders dan de tekst naar het scherm toveren. Probeer het eens met write-output bijvoorbeeld. Zeker met het measure-command wat Brid hierboven al aangeeft. :)

640KB should be enough for everyone


Acties:
  • 0 Henk 'm!

  • Killah_Priest
  • Registratie: Augustus 2001
  • Laatst online: 21:59
Write-host gebruiken is de grootste fout die je kunt maken in een script.
Zelfs Jeffrey Snover (notabene de uitvinder van Powershell) zegt dat je het gebruik ervan moet vermijden als het kan.

Zie http://www.jsnover.com/bl...-host-considered-harmful/

(Af en toe gebruik ik het nog wel om tekst in een bepaalde kleur weer te geven, echter is dat meestal statische tekst - een enkele keer is het een .count van een lijst - echter prefereer ik tegenwoordig toch wel het ouputten naar CliXML omdat alle PS objecten hiermee behouden worden. Csv output of rechtstreeks naar Excel dmv een new-object -comobject excel.application enz.)

[ Voor 41% gewijzigd door Killah_Priest op 11-02-2015 18:54 ]