Workflowstudio -> ForEach?!?

Post Reply
mIsixth
Posts: 282
Joined: 07. May 2008, 08:38
Contact:

Workflowstudio -> ForEach?!?

Post by mIsixth » 29. Sep 2015, 14:55

Hallo Leute,

ich versuche folgendes:

Über Powershell eine Liste generieren die im ResourcePool mit dem Namen "STAGING" liegen.

Soweit wunderbar. Das Portshell:
Set-executionpolicy unrestricted -force
$ErrorActionPreference="SilentlyContinue"
Add-PSSnapin VMware.VimAutomation.Core
Connect-VIServer -server $VIServer -user $VIUserName -Password $VIPassWord -Force
$MyStagingPoolVMS=Get-ResourcePool -Name STAGING | Get-VM

in der "$MyStagingPoolVMS", stehen nun alle VMS drinnen. Perfekt!

Nun wollte ich im Workflowstudio, für jede VM in der Liste einen Task erstellen lassen, welcher an die verantwortlichen geht...

Ich dachte nun an einen ForEach. Allerdings meckert mich das Ding immer wegen den Datentypen an. Egal welchen ich nun auch verwende...

Was übersehe ich denn nu schon wieder?

Danke!!


Danke!

Sven_Puth
Posts: 461
Joined: 07. Apr 2011, 15:55
Contact:

Re: Workflowstudio -> ForEach?!?

Post by Sven_Puth » 29. Sep 2015, 16:01

was gibt er denn bei $MyStagingPoolVMS.GetType() zurück?
Hatte mal ähnliche Probleme, da musste ich vor die Variable den Typ (String Array) explizit festlegen.

Also

[string[]] $MyStagingPoolVMS=Get-ResourcePool -Name STAGING | Get-VM
Tria-media - IT Solutions

mIsixth
Posts: 282
Joined: 07. May 2008, 08:38
Contact:

Re: Workflowstudio -> ForEach?!?

Post by mIsixth » 30. Sep 2015, 09:38

Sven_Puth wrote:was gibt er denn bei $MyStagingPoolVMS.GetType() zurück?
Hatte mal ähnliche Probleme, da musste ich vor die Variable den Typ (String Array) explizit festlegen.

Also

[string[]] $MyStagingPoolVMS=Get-ResourcePool -Name STAGING | Get-VM
Hi,

Danke für die Anwort. Werde den mal angehen.

Das WF, konnte ich aber dazu bewegen, zumindest kein rotex X auszugeben, nachdem ich den datentyp auf "System.Management.Automation.PSObject"

Dann war aber der Feierabend schon erreicht. Habe alos nicht weiter gemacht...

mIsixth
Posts: 282
Joined: 07. May 2008, 08:38
Contact:

Re: Workflowstudio -> ForEach?!?

Post by mIsixth » 28. Dec 2015, 12:26

Hallo,

hatte nun endlich Zeit hier weiter zu machen. Soweit so gut. Kann nun für jede VM in dem SATGING POOL einen Task generieren.

Ohne dem Tip von Sven_Puth, gings aber nicht.

Kann mir nun einer sagen, wie ich im WF, auf die Daten des Arrays zu greifen kann?
Ich müsste jetzt noch für jedes Item aus dem Array Details aus dem VC abholen...

In der Powershell, mache ich das so:
$MyVM=Get-ResourcePool -Name STAGING | Get-VM | Select Name
ForEach ($PSItem in $MyVM)
{
$MyVM=Get-VM $PSItem.Name | Select-Object -Property *
$VMUUID=Get-VM $PSItem.Name| %{(Get-View $_.Id).config.uuid}
$VISerialTemp= $VMUUID.Replace("-",$Null).Insert(2," ").Insert(5," ").Insert(8," ").Insert(11," ").Insert(14," ").Insert(17," ").Insert(20," ").Insert(23,"-").Insert(26," ").Insert(29," ").Insert(32," ").Insert(35," ").Insert(38," ").Insert(41," ").Insert(44," ")
$VISerial="VMware-"+"$VISerialTemp"
$MyVMName=$MyVM.name
$MyVMVersion=$MyVm.Version
Write-Host $MyVMName + $MyVMVersion + $VISerial
}

Ich müsste es jetzt noch schaffen, das dem WF bei zu bringen, damit ich dann sinnvolle Tasks generieren kann.
-> Pro VM, einen task, mit den detailierten Informationen zu dieser VM.

Im WF, wird mir die Variable so ausgespuckt:
@{Name=trlsrv}, @{Name=TH0310WIN7X86},...

Ich müsste pro Item auf den Namen kommen und den an ein weiteres Powershell übergeben, welches sich dann die Details abholt.

Kann einer helfen?

Danke!!

Post Reply

Return to “Service Catalog”

Who is online

Users browsing this forum: No registered users and 5 guests