Die Foren-SW läuft ohne erkennbare Probleme. Sollte doch etwas nicht funktionieren, bitte gerne hier jederzeit melden und wir kümmern uns zeitnah darum. Danke!

Bei Programmstart: Automatisch zu VMs auf Server verbinden?

Hilfe bei Problemen mit der Installation und Benutzung der VMware Workstation und VMware Workstation Pro.

Moderatoren: irix, Dayworker

Member
Beiträge: 143
Registriert: 07.01.2017, 04:25

Bei Programmstart: Automatisch zu VMs auf Server verbinden?

Beitragvon jgreil » 25.10.2017, 08:07

Guten Morgen,

ich verwende VMware Workstation 14 um mich per "Connect to Server" auf die VMs auf meinem ESXi zu verbinden. Das klappt sehr gut und ist dank der optionalen "Thumbnail Bar" am unteren Bildschirmrand auch halbwegs übersichtlich, wenn man immer mehrere VMs offen hat.

Aktuell ist es halt nur etwas umständlich, da ich mich nach jedem Start der VMware Workstation zum Server verbinden muss und dann ca. 10 VMs einzeln anklicken muss um eine Verbindung zu bekommen.

Gibt es hier eine komfortable Möglichkeit, wie ich bei jedem Start des Programms VMware Workstation automatisch eine Verbindung zu meinem ESXi herstellen lassen kann und auch automatisch VM1 - VM10 öffne? Laufen tun die VMs am Server sowieso rund um die Uhr. Ich möchte halt nicht jedes mal alle einzeln anklicken müssen. Geht das irgendwie automatisch? Vielleicht über Kommandozeile?
Lokal läuft gar keine VM bei mir.

Danke für eure Hilfe!

EDIT:
Ich habe jetzt folgende Parameter für vmware.exe gefunden, leider bringt mir das aber nichts wie es aussieht, oder?

Bild

Wenn ich z.B. folgenden Befehl starte:

Code: Alles auswählen

vmware.exe -H 192.168.1.10 -U root -P test123

Dann öffnet sich leider nur VMware Workstation ganz normal ohne irgendwas zusätzlich. Aslo einfach so, wie wenn iches über die Verknöpfung per Doppelklick gestartet hätte.

Guru
Beiträge: 2731
Registriert: 23.02.2012, 12:26

Re: Bei Programmstart: Automatisch zu VMs auf Server verbinden?

Beitragvon ~thc » 25.10.2017, 08:48

Es ist ja nicht das erste Mal, dass du etwas in dieser Richtung erfragst. Daher mal eine Gegenfrage, weil es mich interessiert: Welche Art von VMs brauchen bei dir eine Live-Überwachung in dieser Form? Läuft da etwas drauf, dass man dann im kleinen Live-Bild erkennen kann? Oder ist das einfach Arbeitsplatz-Ästhetik?

Member
Beiträge: 143
Registriert: 07.01.2017, 04:25

Re: Bei Programmstart: Automatisch zu VMs auf Server verbinden?

Beitragvon jgreil » 25.10.2017, 08:52

Ist eigentlich beides.
Also es sind Programme die Daten aus dem Web sammeln / auswerten und da kommt es manchmal zu Fehlern, wo dann ein Pop-Up aufgeht oder das Programm komplettgeschlossen ist.
In der Thumbnail vorschau würde ich schnell erkennen, wenn so etwas geschehen ist und außerdem muss ich sehr oft auf den VMs etwas manuell machen, deshalb ist es auch sehr hilfreich, wenn diese immer sofort mit einem Klick geöffnet werden können.
Das funktioniert ja auchschon prima mit VMware Workstation, aber nur ist es halt mühselig, nach jedem Neustart erst mal alle 10 oder mehr VMs anzuklicken, das hätte ich einfach gerne autoatisiert so geöffnet.

Member
Beiträge: 143
Registriert: 07.01.2017, 04:25

Re: Bei Programmstart: Automatisch zu VMs auf Server verbinden?

Beitragvon jgreil » 25.10.2017, 09:03

Dieser Befehl scheint dem Ziel schon näher zu kommen:

Code: Alles auswählen

vmware -H 192.168.1.10 -U root -P test123 -X -M B1


Also das Programm VMware Workstation wird geöffnet und auch erfolgreich eine Verbindung zum ESXi geöffnet, dann kommt jedoch diese Fehlermeldung:
Bild

Wenn ich es statt dem Namen mit dem Datastore Path versuche, funktioniert es leider auch nicht, gleicher Fehler:

Code: Alles auswählen

vmware -H 192.168.1.10 -U root -P test123 -X -M "[SSD1] B1/B1.vmx"


Die VM am Server heißt "B1". Muss man hier in der Kommandozeile de Namen evtl. anders schreiben?

Mich wundert es sowieso, dass die Option "-M" funktioniert, obwohl siegar nicht in der Liste der möglichen Parameter angeführt wird (siehe Screenshot im ersten Post).

Kennt sich jemand damit aus und kann mir bitte weiterhelfen?

Guru
Beiträge: 2731
Registriert: 23.02.2012, 12:26

Re: Bei Programmstart: Automatisch zu VMs auf Server verbinden?

Beitragvon ~thc » 25.10.2017, 09:29

Ich kann dir nur empfehlen, statt einer Workstation-Behelfslösung mal ein offizielles Tool auszuprobieren.

Aktiviere in allen VMs den Remote Desktop und verwalte alle VMs gleichzeitig mit dem Remote Desktop Connection Manager von Microsoft: https://www.microsoft.com/en-us/download/details.aspx?id=44989

Beispiel:
rdm.png

Guru
Beiträge: 3085
Registriert: 27.12.2004, 22:17

Re: Bei Programmstart: Automatisch zu VMs auf Server verbinden?

Beitragvon rprengel » 25.10.2017, 09:31

jgreil hat geschrieben:Ist eigentlich beides.
Also es sind Programme die Daten aus dem Web sammeln / auswerten und da kommt es manchmal zu Fehlern, wo dann ein Pop-Up aufgeht oder das Programm komplettgeschlossen ist.
In der Thumbnail vorschau würde ich schnell erkennen, wenn so etwas geschehen ist und außerdem muss ich sehr oft auf den VMs etwas manuell machen, deshalb ist es auch sehr hilfreich, wenn diese immer sofort mit einem Klick geöffnet werden können.
Das funktioniert ja auchschon prima mit VMware Workstation, aber nur ist es halt mühselig, nach jedem Neustart erst mal alle 10 oder mehr VMs anzuklicken, das hätte ich einfach gerne autoatisiert so geöffnet.


Die Überwachung kannst du mit einem zentrale Monitoring erledigen.
Wenn das produktive Systeme sind gehören die auf einen seperaten ESX Host.
Kleine Microserver für schlanke Systeme bekommst du mit etwas mehr Ram ab grob 300 Euro.

Gruss

Member
Beiträge: 143
Registriert: 07.01.2017, 04:25

Re: Bei Programmstart: Automatisch zu VMs auf Server verbinden?

Beitragvon jgreil » 25.10.2017, 11:53

~thc hat geschrieben:Ich kann dir nur empfehlen, statt einer Workstation-Behelfslösung mal ein offizielles Tool auszuprobieren.

Danke für den Tipp mit dem Remote Desktop Connection Manager. Das sieht auch ganz gut aus, Nachteil ist halt, dass eine durchgehend geöffnete RDP Verbindung durchaus Last verursacht und vor allem ein anderes "Verhalten" bewirkt, als wenn per VMware Remote Console direkt draufgeschaut wird.
Als Behelfs-Lösung bzw. inoffizielles Tool würde ich VMware Workstation jetzt nicht bezeichnen. Es ist von VMware und bietet offiziell die Verbindung auf einen Remote Server an. Es funktioniert ja auch wirklich perfekt, nur ist es halt leider sehr mühsam, jedes mal alle VMs anzuklicken.
Ein zusätzlicher Nachteil von RDP ist auch, dass man die VM erst ab Windows steuern kann.
Vielleicht sind meine Anforderungen nicht 0815, aber genau deshalb versuche ich ja hier eine Lösung mit ein paar Ideen von euch zu finden.

rprengel hat geschrieben:
jgreil hat geschrieben:Die Überwachung kannst du mit einem zentrale Monitoring erledigen.

Was wäre das zum Beispiel?

Guru
Beiträge: 3085
Registriert: 27.12.2004, 22:17

Re: Bei Programmstart: Automatisch zu VMs auf Server verbinden?

Beitragvon rprengel » 25.10.2017, 12:08

jgreil hat geschrieben:
~thc hat geschrieben:Ich kann dir nur empfehlen, statt einer Workstation-Behelfslösung mal ein offizielles Tool auszuprobieren.

Danke für den Tipp mit dem Remote Desktop Connection Manager. Das sieht auch ganz gut aus, Nachteil ist halt, dass eine durchgehend geöffnete RDP Verbindung durchaus Last verursacht und vor allem ein anderes "Verhalten" bewirkt, als wenn per VMware Remote Console direkt draufgeschaut wird.
Als Behelfs-Lösung bzw. inoffizielles Tool würde ich VMware Workstation jetzt nicht bezeichnen. Es ist von VMware und bietet offiziell die Verbindung auf einen Remote Server an. Es funktioniert ja auch wirklich perfekt, nur ist es halt leider sehr mühsam, jedes mal alle VMs anzuklicken.
Ein zusätzlicher Nachteil von RDP ist auch, dass man die VM erst ab Windows steuern kann.
Vielleicht sind meine Anforderungen nicht 0815, aber genau deshalb versuche ich ja hier eine Lösung mit ein paar Ideen von euch zu finden.

rprengel hat geschrieben:
jgreil hat geschrieben:Die Überwachung kannst du mit einem zentrale Monitoring erledigen.

Was wäre das zum Beispiel?



check_mk z.B. wird unter Linux installiert
das was du da mit der Workstation machst ist nichtd er richtige Weg.
Zersägst du dir den Arbeistplatz ist bestenfals nur alles Weg und muss aus der Sicherung hergestellt werden die daber nur sauber schreiben kannst wenn die Vms aus sind.
Im weniger gute Fall stehst du übel im Regen.

Gruss

Member
Beiträge: 143
Registriert: 07.01.2017, 04:25

Re: Bei Programmstart: Automatisch zu VMs auf Server verbinden?

Beitragvon jgreil » 25.10.2017, 12:23

rprengel hat geschrieben:check_mk z.B. wird unter Linux installiert
das was du da mit der Workstation machst ist nichtd er richtige Weg.
Zersägst du dir den Arbeistplatz ist bestenfals nur alles Weg und muss aus der Sicherung hergestellt werden die daber nur sauber schreiben kannst wenn die Vms aus sind.
Im weniger gute Fall stehst du übel im Regen.

Sorry, dass ich das sage, aber Rechtschreibung und Satzzeichen würden der Lesbarkeit echt gut tun.

Zum Thema: Also entweder stehe ich komplett auf der Leitung, oder du hast meine Frage falsch verstanden?
Warum bitte sollen meine VMs ein Problem bekommen, welche ja am ESXi laufen, wenn ich mir den Arbeitsplatz zersäge? :?

Guru
Beiträge: 3085
Registriert: 27.12.2004, 22:17

Re: Bei Programmstart: Automatisch zu VMs auf Server verbinden?

Beitragvon rprengel » 25.10.2017, 12:54

jgreil hat geschrieben:
rprengel hat geschrieben:check_mk z.B. wird unter Linux installiert
das was du da mit der Workstation machst ist nichtd er richtige Weg.
Zersägst du dir den Arbeistplatz ist bestenfals nur alles Weg und muss aus der Sicherung hergestellt werden die daber nur sauber schreiben kannst wenn die Vms aus sind.
Im weniger gute Fall stehst du übel im Regen.

Sorry, dass ich das sage, aber Rechtschreibung und Satzzeichen würden der Lesbarkeit echt gut tun.

Zum Thema: Also entweder stehe ich komplett auf der Leitung, oder du hast meine Frage falsch verstanden?
Warum bitte sollen meine VMs ein Problem bekommen, welche ja am ESXi laufen, wenn ich mir den Arbeitsplatz zersäge? :?


Ok,
da bin ich durcheinander gekommen. Ich war auf dem Trip das sie lokal laufen.
Gruss

Guru
Beiträge: 2731
Registriert: 23.02.2012, 12:26

Re: Bei Programmstart: Automatisch zu VMs auf Server verbinden?

Beitragvon ~thc » 25.10.2017, 16:58

jgreil hat geschrieben:Nachteil ist halt, dass eine durchgehend geöffnete RDP Verbindung durchaus Last verursacht und vor allem ein anderes "Verhalten" bewirkt, als wenn per VMware Remote Console direkt draufgeschaut wird.

Gegen die "Last" kann man nichts tun - falls du mit dem "Verhalten" meinst, dass es nicht die "Konsole" ist - auch das kann man per RDP erzwingen.

jgreil hat geschrieben:Als Behelfs-Lösung bzw. inoffizielles Tool würde ich VMware Workstation jetzt nicht bezeichnen. Es ist von VMware und bietet offiziell die Verbindung auf einen Remote Server an. Es funktioniert ja auch wirklich perfekt, nur ist es halt leider sehr mühsam, jedes mal alle VMs anzuklicken.

Das "Mühsame" kommt ja gerade daher, dass du eine Workstation, die primär für die Desktop-Virtualisierung gedacht ist, ausschließlich für die Fernwartung eines ESXi mit den VMs einsetzt. Würdest du die Workstation für ihre eigentliche Aufgabe einsetzen, hättest du das Problem nicht. Dann haben wir verschiedene Definitionen des Begriffs "Behelfs-Lösung".

jgreil hat geschrieben:Ein zusätzlicher Nachteil von RDP ist auch, dass man die VM erst ab Windows steuern kann.

Deswegen habe ich ja oben gefragt, was du mit den VMs bezweckst. Und da war von einer Steuerung außerhalb von Windows keine Rede.

jgreil hat geschrieben:Vielleicht sind meine Anforderungen nicht 0815, aber genau deshalb versuche ich ja hier eine Lösung mit ein paar Ideen von euch zu finden.

Deine Anforderungen sind extrem speziell. Da kann ich dir nicht weiterhelfen.

Member
Beiträge: 143
Registriert: 07.01.2017, 04:25

Re: Bei Programmstart: Automatisch zu VMs auf Server verbinden?

Beitragvon jgreil » 25.10.2017, 17:48

~thc hat geschrieben:Das "Mühsame" kommt ja gerade daher, dass du eine Workstation, die primär für die Desktop-Virtualisierung gedacht ist, ausschließlich für die Fernwartung eines ESXi mit den VMs einsetzt. Würdest du die Workstation für ihre eigentliche Aufgabe einsetzen, hättest du das Problem nicht. Dann haben wir verschiedene Definitionen des Begriffs "Behelfs-Lösung".

Das kann ich so nicht gelten lassen. Denn wenn ich VMware Workstation für den eigentlich gedachten Zweck einsetze, also die VMs lokal auf meiner Workstation laufen lasse, dann habe ich ganz genau das gleiche Problem!! Ich müsste beim Programmstart jede VM anklicken, damit sie geöffnet wird. Ich möchte einfach nur das automatisieren, dann wären auch alle anderen Punkte sofort damit gelöst.

Und ich finde jetzt absolut nicht, dass das eine "extrem spezielle Anforderung" ist, wenn man sich diese Clicks ersparen will.

Guru
Beiträge: 2731
Registriert: 23.02.2012, 12:26

Re: Bei Programmstart: Automatisch zu VMs auf Server verbinden?

Beitragvon ~thc » 26.10.2017, 08:23

Eigentliche Verwendung der Workstation: Wenige VMs (< 5) einschalten, damit arbeiten und wieder ausschalten.

Die "extrem spezielle Anforderung" ist im Gesamtkontext zu sehen: 10 Konsolenfenster der VMs, die den Status live anzeigen und das alles dann vollautomatisch nach dem Start der Anwendung.

King of the Hill
Beiträge: 12944
Registriert: 02.08.2008, 15:06
Wohnort: Hannover/Wuerzburg
Kontaktdaten:

Re: Bei Programmstart: Automatisch zu VMs auf Server verbinden?

Beitragvon irix » 26.10.2017, 12:47

Also ich wuerde hingehen und einfach die Screenshot des Konsolenfensters in 5min. Intervalen erstellen lassen (vCenter oder Host) und diese dann in einem HTML Dashboard zusammen fassen inkl. Zeitstempel so das man die Chance hat zu erkennen wenn da das Bild nicht mehr aktualisiert wird oder was auch immer.

Ich bilde mir ein das man damals per URL direkt auf den Screenshot zugreifen konnte und per Parameter auch die Groesse mitbestimmen konnte.

Gruss
Joerg

Member
Beiträge: 143
Registriert: 07.01.2017, 04:25

Re: Bei Programmstart: Automatisch zu VMs auf Server verbinden?

Beitragvon jgreil » 31.10.2017, 00:48

Ich habs inzwischen per Windows Batch File hinbekommen, vielleicht hilfts ja mal irgendwem.
Den Namen hinter "-M" (also z.B. "vm-39") konnte ich jetzt nur rausfinden, in dem ich den Link zu einer VM aus dem Workstation Programm auf den Desktop gezogen habe, wo dann eine Verknüpfung erstellt wurde (vmrc://vCenter/?moid=vm-39) und dieser Name enthalten war.
Kann mir vielleicht jemand sagen, wie man einfacher zu diesem Namen kommt bzw. ob der irgendwo angezeigt wird?

Code: Alles auswählen

start "" "C:\Program Files (x86)\VMware\VMware Workstation\vmware.exe" -H vCenter -U Administrator@vCenter.DOMAIN -P password -M vm-39
timeout /t 5
start "" "C:\Program Files (x86)\VMware\VMware Workstation\vmware.exe" -H vCenter -U Administrator@vCenter.DOMAIN -P password -M vm-40
timeout /t 1
start "" "C:\Program Files (x86)\VMware\VMware Workstation\vmware.exe" -H vCenter -U Administrator@vCenter.DOMAIN -P password -M vm-41
timeout /t 1
start "" "C:\Program Files (x86)\VMware\VMware Workstation\vmware.exe" -H vCenter -U Administrator@vCenter.DOMAIN -P password -M vm-42
timeout /t 1
start "" "C:\Program Files (x86)\VMware\VMware Workstation\vmware.exe" -H vCenter -U Administrator@vCenter.DOMAIN -P password -M vm-128
timeout /t 1
start "" "C:\Program Files (x86)\VMware\VMware Workstation\vmware.exe" -H vCenter -U Administrator@vCenter.DOMAIN -P password -M vm-44
timeout /t 1
start "" "C:\Program Files (x86)\VMware\VMware Workstation\vmware.exe" -H vCenter -U Administrator@vCenter.DOMAIN -P password -M vm-143
timeout /t 1
start "" "C:\Program Files (x86)\VMware\VMware Workstation\vmware.exe" -H vCenter -U Administrator@vCenter.DOMAIN -P password -M vm-145
timeout /t 1
start "" "C:\Program Files (x86)\VMware\VMware Workstation\vmware.exe" -H vCenter -U Administrator@vCenter.DOMAIN -P password -M vm-146
timeout /t 1
start "" "C:\Program Files (x86)\VMware\VMware Workstation\vmware.exe" -H vCenter -U Administrator@vCenter.DOMAIN -P password -M vm-51

Experte
Beiträge: 1006
Registriert: 30.10.2004, 12:41

Re: Bei Programmstart: Automatisch zu VMs auf Server verbinden?

Beitragvon mbreidenbach » 31.10.2017, 09:15

Kann man mit PowerCLI auslesen. Hab gerade mal etwas rumgespielt; Get-VM liefert ja diverse Infos zur VM und im Feld 'Id' steht sowas wie VirtualMachine-vm-25221. Das 'Virtualmachine-' rausnehmen und man hat die Id.

Code: Alles auswählen

(get-vm 'NameDerVM').id -replace "Virtualmachine-",""


Von PowerCLI aus startet das dann die Konsole:

Code: Alles auswählen

& 'C:\Program Files (x86)\VMware\VMware Workstation\vmware.exe' -H vCenter -U User -P Kennwort -M ((get-vm 'NameDerVM').id -replace 'Virtualmachine-',''


Für mehrere VMs kann man das dann etwa so machen:

Code: Alles auswählen

$vCenter = 'vCenter'
$User = 'User'
$Password = 'Password'
$VMList = @('VM1','VM2')

Connect-VIServer -Server $vCenter -User $User -Password $Password

ForEach ($VM in $VMList) {
   $VMId = ((get-vm $VM).id -replace 'Virtualmachine-','')
   & 'C:\Program Files (x86)\VMware\VMware Workstation\vmware.exe' -H $vCenter -U $User -P $Password -M $VMid
}


<insert obligatorische Kommentare warum Paßwörter in Skripten hartkodiert irgendwie doof sind...>

Member
Beiträge: 143
Registriert: 07.01.2017, 04:25

Re: Bei Programmstart: Automatisch zu VMs auf Server verbinden?

Beitragvon jgreil » 31.10.2017, 10:01

Cool, vielen Danke :)
Muss man PowerCLI extra installieren, oder ist das schon irgendwie mitinstalliert?

Experte
Beiträge: 1006
Registriert: 30.10.2004, 12:41

Re: Bei Programmstart: Automatisch zu VMs auf Server verbinden?

Beitragvon mbreidenbach » 31.10.2017, 10:16

PowerCLI muß man installieren. Wenn man bereits die aktuellste PowerShell hat (also W10, W2016 oder was älteres mit Windows Management Framework 5.1) dann kann man das aus der PowerShell Gallery installieren:

PowerShell als Administrator öffnen

Code: Alles auswählen

Find-Module -Name VMware.PowerCLI
Install-Module -Name VMware.PowerCLI –Scope AllUsers


Aktualisieren kann man dann mit:

Code: Alles auswählen

Update-Module VMware.PowerCLI



Module laden (falls das nicht automatisch geschieht):

Code: Alles auswählen

Import-Module VMware.PowerCLI


Versionen der PowerCLI Module prüfen:

Code: Alles auswählen

Get-Module -Name VMware.* -ListAvailable | Select-Object -Property Name,Version


Damit kann man so ziemlich alles skripten was man vom vCenter aus so anstellen kann.

Link zum Cmdlet Reference:
http://pubs.vmware.com/vsphere-65/index.jsp?topic=%2Fcom.vmware.powercli.cmdletref.doc%2FOverview.html
VMware PowerCLI Community Forum:
https://communities.vmware.com/community/vmtn/automationtools/powercli

Hab eben eine PowerCLI Funktion gefunden die VMRC aufruft und mal eingebaut für die Leute die keine Workstation haben:

Code: Alles auswählen

function Open-VMRC {
    <#
      .Synopsis
      Function to replicate Open-VMConsoleWindow but use the VMware Remote Console Application
      .Description 
      Connect to the virtual machine using the currently connected server object.
      .Example
      Get-VM "MyVM" | Open-VMRC
      .Parameter VirtualMachine
      Virtual Machine object
    #>
   #[CmdletBinding()]
    param (
        [Parameter(Mandatory=$true,ValueFromPipeline=$True)][VMware.VimAutomation.ViCore.Impl.V1.Inventory.InventoryItemImpl]$vm
    )
    $ServiceInstance = Get-View -Id ServiceInstance
    $SessionManager = Get-View -Id $ServiceInstance.Content.SessionManager
    $vmrcURI = "vmrc://clone:" + ($SessionManager.AcquireCloneTicket()) + "@" + $global:DefaultVIServer.Name + "/?moid=" + $vm.ExtensionData.MoRef.Value
    Start-Process -FilePath $vmrcURI
}

# Open-VMRC taken from https://communities.vmware.com/thread/539980

$vCenter = 'vCenter'
$User = 'User'
$Password = 'Password''
$VMList = @('vm1',vm2')

Connect-VIServer -Server $vCenter -User $User -Password $Password

ForEach ($VM in $VMList) { Open-VMRC(Get-VM($VM)) }

Member
Beiträge: 143
Registriert: 07.01.2017, 04:25

Re: Bei Programmstart: Automatisch zu VMs auf Server verbinden?

Beitragvon jgreil » 31.10.2017, 11:13

Geil, vielen Dank für all die hilfreichen Sachen!!

King of the Hill
Beiträge: 13561
Registriert: 01.10.2008, 12:54
Wohnort: laut USV-Log am Ende der Welt...

Re: Bei Programmstart: Automatisch zu VMs auf Server verbinden?

Beitragvon Dayworker » 31.10.2017, 15:08


Profi
Beiträge: 875
Registriert: 18.03.2005, 14:05
Wohnort: Ludwigshafen

Re: Bei Programmstart: Automatisch zu VMs auf Server verbinden?

Beitragvon Martin » 01.11.2017, 11:42

Wenn Du erstmal nur die Übersicht über die "Bildschirme" brauchst und nicht gleich vollständige Remote Konsolen, könnte auch folgendes helfen:
https://github.com/eslindsey/esx-inventory
(gefunden über https://blogs.vmware.com/vsphere/2013/0 ... phere.html )

Experte
Beiträge: 1006
Registriert: 30.10.2004, 12:41

Re: Bei Programmstart: Automatisch zu VMs auf Server verbinden?

Beitragvon mbreidenbach » 02.11.2017, 20:10

Ich habe eben mal gegoggelt nach etwas PowerShelliges womit man etwas via GUI aus einer Liste auswählen kann.... das tun wir in einen Topf, geben Open-VMRC und ein Get-VM hinzu, schlürfen etwas Ledaig, rühren einmal um und erhalten ein Skript welches eine Liste der VMs anzeigt und dann VMRC für die ausgewählte startet. Tadaa.

Vermutlich nicht elegant aber es tut. :D

Vorher Connect-VIServer ausführen.

Quellen dieses Plagiats in den Kommentaren.

Code: Alles auswählen

# ListBox: https://technet.microsoft.com/en-us/library/ee176968.aspx
# Open-VMRC: https://communities.vmware.com/thread/539980

function Open-VMRC {
    <#
      .Synopsis
      Function to replicate Open-VMConsoleWindow but use the VMware Remote Console Application
      .Description
      Connect to the virtual machine using the currently connected server object.
      .Example
      Get-VM "MyVM" | Open-VMRC
      .Parameter VirtualMachine
      Virtual Machine object
    #>
    #[CmdletBinding()]
    param (
        [Parameter(Mandatory=$true,ValueFromPipeline=$True)][VMware.VimAutomation.ViCore.Impl.V1.Inventory.InventoryItemImpl]$vm
    )
    $ServiceInstance = Get-View -Id ServiceInstance
    $SessionManager = Get-View -Id $ServiceInstance.Content.SessionManager
    $vmrcURI = "vmrc://clone:" + ($SessionManager.AcquireCloneTicket()) + "@" + $global:DefaultVIServer.Name + "/?moid=" + $vm.ExtensionData.MoRef.Value
    Start-Process -FilePath $vmrcURI
}

[void] [System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
[void] [System.Reflection.Assembly]::LoadWithPartialName("System.Drawing")

$objForm = New-Object System.Windows.Forms.Form
$objForm.Text = "Select a Computer"
$objForm.Size = New-Object System.Drawing.Size(300,200)
$objForm.StartPosition = "CenterScreen"

$objForm.KeyPreview = $True
$objForm.Add_KeyDown({if ($_.KeyCode -eq "Enter")
{$x=$objListBox.SelectedItem;$objForm.Close()}})
$objForm.Add_KeyDown({if ($_.KeyCode -eq "Escape")
{$objForm.Close()}})

$OKButton = New-Object System.Windows.Forms.Button
$OKButton.Location = New-Object System.Drawing.Size(75,120)
$OKButton.Size = New-Object System.Drawing.Size(75,23)
$OKButton.Text = "OK"
$OKButton.Add_Click({$x=$objListBox.SelectedItem;$objForm.Close()})
$objForm.Controls.Add($OKButton)

$CancelButton = New-Object System.Windows.Forms.Button
$CancelButton.Location = New-Object System.Drawing.Size(150,120)
$CancelButton.Size = New-Object System.Drawing.Size(75,23)
$CancelButton.Text = "Cancel"
$CancelButton.Add_Click({$objForm.Close()})
$objForm.Controls.Add($CancelButton)

$objLabel = New-Object System.Windows.Forms.Label
$objLabel.Location = New-Object System.Drawing.Size(10,20)
$objLabel.Size = New-Object System.Drawing.Size(280,20)
$objLabel.Text = "Please select a Virtual Machine:"
$objForm.Controls.Add($objLabel)

$objListBox = New-Object System.Windows.Forms.ListBox
$objListBox.Location = New-Object System.Drawing.Size(10,40)
$objListBox.Size = New-Object System.Drawing.Size(260,20)
$objListBox.Height = 80

$VMs = (Get-VM).Name | Sort-Object

ForEach ($VM in $VMs) {
   [void] $objListBox.Items.Add($VM)
}

$objForm.Controls.Add($objListBox)

$objForm.Topmost = $True

$objForm.Add_Shown({$objForm.Activate()})
[void] $objForm.ShowDialog()

if ($objListBox.SelectedItem) {open-vmrc(Get-VM($objListBox.SelectedItem))}


Zurück zu „VMware Workstation und VMware Workstation Pro“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 5 Gäste