Author Archives: Oliver Sommer

Erste Schritte mit Nanoserver von Windows Server 2016

Das NanoServer Team hat unter https://technet.microsoft.com/en-us/library/mt126167.aspx?f=255&MSPPError=-2147217396 eine Anleitung veröffentlicht, nach der man NanoServer testen kann.
Allerdings sind Teile davon nicht trivial umzusetzen bzw. Fehlermeldungen erscheinen die in dem Blog nicht behandelt werden.

Ich hatte, unter anderem, beim Versuch auf einem Server mit aktivierter deutscher Sprache beim Versuch nach der obigen Anleitung ein neues Nano Image zu erstellen folgende Warnung:

WARNING: The ‘de-de’ directory does not exist in the ‘Packages’ directory (‘D:\NanoServer\Packages’).
WARNING: Terminating due to an error. See log file at:
C:\Users\ADMINI~1\AppData\Local\Temp\2\New-NanoServerImage.log

 

image

 

Das Problem lässt sich beheben, indem man zusätzlich das  -Language Attribute mit .\en-us\ angibt und so das Image in englisch erstellen lässt.

New-NanoServerImage -MediaPath D:\ -BasePath .\Base -TargetPath .\Nano1 -ComputerName Nano01 -GuestDrivers -Storage -Clustering -Compute -Language .\en-us\

 

Dann führt das Beispiel PS Skripte von der oben genannten TechNet Site auch zum gewünschten Ergebnis, dem Erstellen eines NanoImages/einer Nano VHD Datei, welche, wegen –GuestDrivers zur Verwendung in einer Hyper-V basierten Virtuellen Maschine geeignet ist:

 

image

 

plus –Storage

New-NanoServerImage überschreibt auch nicht einfach zuvor bereits erstellte Images, sondern bringt die Warnung, das man das Verzeichnis mit dem vorhandenen Image zuvor löschen sollte:

image

 

Natürlich reicht es auch einfach ein anderes Verzeichnis anzugeben und dort das Image erstellen zu lassen.

 

[…] Fortsetzung/Erweiterung folgt…

Windows 10: Maus Stottern/ Hänger/ Ruckeln/ springt/ zuckt/…

Ich hatte seit einiger Zeit das interessante Phänomen, dass immer wenn ich meinen Rechner neugestartet, aus dem Ruhezustand oder Energiesparmodus aufgeweckt habe (oder einfach auch quasi gefühlt immer wenn ich anfing den Rechner zu benutzen), der Mauszeiger sich nur stotternd und mit starken Verzögerungen über den Bildschirm bewegt hat. Dabei war es egal, ob ich die Funkmaus (Microsoft Arc Touch Bluetooth) oder das Touchpad oder den TrackPoint verwendet habe. Auch ein Ausschalten einzelner oder mehrerer Zeigegeräte (Maus, Pad, Point) zeigte keine Wirkung, das Stottern blieb.
Das Problem verschwand aber sobald ich den Taskmanager (taskmgr) aufrief, z.B. über STRG+ALT+ENTF oder rechtsklick auf die Taskleiste, und im Vordergrund, also als aktive Anwendung) laufen hatte.
Sobald der Taskmanager im Hintergrund war, fing die Maus umgehend wieder an zu stottern.

image

Symptome:

  • Mauszeiger bleibt im Takt von 0,3-0,5 Sekunden “hängen” und springt dann weiter
  • Mauszeiger bleibt stehen und bewegt sich dann soweit weiter wie die Maus bewegt wurde
  • Mauszeiger bewegt sich verzögert immer noch weiter bis zur Endposition, obwohl das Zeigegerät schon lange in Ruhe ist (nicht mehr bewegt wurde)
  • sobald der Taskmanager aufgerufen wird und als aktive Anwendung fokussiert ist, verschwindet das Stottern kurzzeitig, kehrt aber zurück sobald der Fokus nicht mehr auf dem Taskmanager liegt

Erinnert gefühlt habe ich mich dabei an frühere Erfahrungen mit Remote KVM Lösungen wie iLO/IRMC/VNC/RDP/Teamviewer/etc., wenn eine sehr langsame bzw. mit hohen Latenzen behaftete Internetverbindung oder WAN Verbindung wie ISDN zu dem entfernten Rechner bestand.
Ein Arbeiten mit diesen Sprüngen und Verzögerungen der Maus war nahezu unmöglich bzw. erforderte sehr viel Geduld bei der Positionierung derselben.

Nachdem das Problem auch mit dem Windows 10 TH2 nicht verschwand, sondern eher (gefühlt) noch schlimmer wurde fand ich dann heute, nach einiger Recherche, die Lösung zu meinem Problem, welches wohl auch viele andere, unter anderem viele Besitzer von Acer PCs/AllinOne, HP und Lenovo Geräten haben, in diesem englisch sprachigen Forumsbeitrag:
http://www.tenforums.com/drivers-hardware/14107-windows-10-mouse-lagging.html

Kurz gesagt ist eine App des Soundkarten Treibers der Firma Realtek für das Problem verantwortlich, die FMAPP.exe unter c:\Program Files\Realtek\Audio\HDA\.

Diese fand ich im Taskmanager unter den Prozessen:

image

 

per Rechtsklick mit der, dort ja nicht stotternden, Maus kann man den Task beenden, was bei mir zu einer umgehenden Normalisierung der Mausbewegungen führte:

image

 

Damit die App nicht beim nächsten Windows Start automatisch wieder gestartet wurde, habe ich die ausführbare Datei im oben genannten Pfad (c:\Program Files\Realtek\Audio\HDA\) in FMAPP.exe.org, also um die Endung .org erweitert, umbenannt.

Ich habe, so wie viele Benutzer des Forums auch berichteten, bisher keine Nachteile festgestellt, insbesondere die Soundausgabe funktioniert bisher weiterhin wie gewünscht und erwartet.

Servermanager in Windows Server 2016 TP3 Core installieren

In der aktuellen TP3 von Windows Server 2016 gibt es (leider) die MinimalGUI Setupoption nicht mehr, sondern nur noch “Core” oder “Full GUI”, wobei letzteres alles mögliche installiert, also z.B. auch Handschrifterkennung und Mediageschichten, die für eine RemoteDesktop (Terminalserver) Installation sinnvoll sein mögen, aber nicht für die meisten anderen Server:

image

image

Bei Core gibt es den Servermanager nicht, der in der MinimalGUI Variante vorheriger Betaversionen autoamtisch installiert wurde.
ich habe die MinimalGUI Variante zu schätzen gelernt, da man damit eigentlich alles administrative machen konnte was ich bisher benötigt habe, ohne viel Ballast in der Installation zu haben.

Also habe ich mit dem aktuellen TP3 Build 10514 einfach wieder die Variante ohne GUI (Core) installiert und mit folgendem Befehl die Servermanager GUI nachinstalliert:

Install-WindowsFeature -Name RSAT -Source wim:D:\sources\install.wim:4

clip_image001

Dann z.B. mittels “shutdown –r –t 0” neustarten und nach dem Anmelden erscheint nicht nur die administrative CMD.exe, sondern auch der ServerManager:

image

Von hier ausgehend kann man dann wie bisher gewohnt (MinimalGUI) den lokalen und remote Server administrieren.

Powershell: Automatisiertes Eintragen aller Baseboard Management Controller (BMC) in VMM

oder:
“Basispowermanagement und Grundlage für so vieles weiteres in System Center und VMM …”

Aufgabenstellung:
Starte mal alle Hosts der xyz Umgebung nach der Wartung der Stromversorgung am Wochenende wieder an!

Supi, per Browser auf jeden der zig Hosts gehen, dort anmelden und dann “Einschalten” drücken… Trauriges Smiley
Besser als jeden einzelnen Server im RZ besuchen, aber bleibt trotzdem ein stupide, langweiliger Praktikantenjob:

pic03122

(Fujitsu hat da auch eine zentralisierte Lösung, werden einige jetzt sagen, aber auch die ist leider nicht im Einsatz)

Aber VMM kann hier ja sicher helfen, denn genauso wie man VMs einschalten kann, kann man ausgeschaltete Hosts über einen einfachen Rechtsklick auf den Host auch einschalten:

image

Zumindest in der Theorie, weil bei dem Kunden sah das in VMM wie folgt aus:

image

Trauriges Smiley

Also alles außer “Restart” ausgegraut…schade eigentlich, ist aber leicht erklärt:
Diese Funktionalität ist abhängig von einem konfigurieren Baseboard Management Controller (BMC) in VMM und/oder hardwareseitig von einem vorhandenen iRMC (z.B. bei Fujitsu) oder iLO (z.B. bei HP) oder anderen IPMI bzw. SMASH kompatiblen Management Boards in den Hosts/Hardwareservern.

Einzutragen ist die IP des jeweiligen BMC dafür in den Eigenschaften jedes Hosts unter Hardware –> Advanced –> BMC Settings:

pic10585

An der Stelle kann über “Browse” hinter dem RunAs Account Feld und “Create Run As Account” auch gleich, wenn nicht schon vorher in VMM unter “Settings” erledigt, der entsprechend auf dem BMC konfigurierte und berechtigte “RunAs Account” erstellt werden. Dabei muss “User name” und “Password” dem im BMC (iRMC/iLO) konfiguriertem entsprechen.

Leider habe ich die Erfahrung gemacht, dass VMM 2012 R2 hier anscheinend immer noch (Stand: Juni 2015) einen kleinen Bug hat, der verhindert, dass die BMC Einstellungen aus der GUI auch wirklich übernommen werden.
Ein Klick auf “OK” führt also zuverlässig zum Zurücksetzen der BMC Settings auf  den unkonfigurierten Zustand, was etwas nervig ist. Mir ist es zwar nach mehrmaligem Versuchen dann gelungen die BMC IP und den User über die GUI zu Konfigurieren, aber es geht mit Powershell auch relativ einfach und ist, nicht nur wenn man das für zig Systeme machen will, auch deutlich praktischer und hat immer funktioniert, sprich wurde auch wirklich übernommen!

Ok, also wie kommt man am einfachsten an den entsprechenden Befehl?

Suchmaschine?
Viel zu aufwändig, da muss man ja wissen, wonach man sucht! Smiley

Nein, über die VMM GUI, indem man die gewünschte Konfiguration einstellt, dann aber nicht, durch einen klick auf OK ausführen lässt, sondern sich über den kleinen oft übersehenen Button unten Links “View Skript” das Powershell Skript anzeigen lässt, welches die gewünschte Konfiguration umsetzen würde!
Weil die GUI übersetzt auch nur alles in Powershell und lässt dann ein entsprechendes, automatisch erstelltes Skript für die eigentliche Konfiguration ablaufen!
(ist in Exchange und Co übrigens genauso und auch dort sehr praktisch um sich Skripte für automatisierte Konfigurationen zu “Klauen”)

Aber da wir nur die BMC Eigenschaften ändern wollen, reduzieren wir alles andere und überflüssige IDs einfach mal raus:

$vmHost = “Computername-des-Hardware-Hosts”
$bmcRunAsAccount = Get-SCRunAsAccount -Name “iRMC Adm”
Set-SCVMHost -VMHost $vmHost  -BMCProtocol “IPMI” -BMCAddress “192.168.34.11″ -BMCPort “623″
-BMCRunAsAccount $bmcRunAsAccount

Im Wesentlichen also der Set-SCVMHost Befehl mit Variablen gefüttert und gut ist.

Darauf aufbauend habe ich das Skript etwas erweitert, da ich ja nicht nur einen, sondern alle Hosts einer Domäne eintragen will.
Dabei habe ich mir Zunutze gemacht, dass der Kunde ein Namenskonzept für die Hosts und deren BMC hat:
Alle Host fangen mit C an und gehen mit einer Nummer weiter, die zugehörigen BMC Adapter mit einem I und dahinter dieselbe Nummer.
Also musste ich “nur” das C durch ein I ersetzen und dazu dann die passende IP abfragen! Ok…

# Alle Hosts einer Domain abfragen und in $Hosts speichern
$Hosts = Get-SCVMHost | ForEach-Object {$_.Computername}

# Für jeden dieser $Server in $Hosts folgende Schleife durchlaufen
ForEach ($Server in $Hosts)
{
# Windows Hostnamen in iRMC Hostnamen umwandeln (führendes “C”/”c” durch “I” ersetzen:
$irmc = $Server.ToUpper().Replace(“C”,”I”)

# IP Adressen des iRMC Adapters auslesen und in $ipAddresses speichern
$ipAddresses = [System.Net.Dns]::GetHostAddresses($irmc)
}

Soweit so gut.
Dann noch den SCVMhost Befehl oben in die Schleife einsetzen und mit den entsprechenden Variablen bei jedem Durchlauf füttern, sowie generell etwas “hübsch” machen:

<#
———————————————————————————
Add-BMCSet Skript
Fügt in SC VMM die Einstellungen für den iRMC Adapter der Hosts hinzu

#>

Clear-Host

# Dienstekonto “iRMC Administrator” muss in VMM vorhanden sein!
$bmcRunAsAccount = Get-SCRunAsAccount -Name “iRMC Adm”

# Alle Hosts einer Domain abfragen und in $Hosts speichern
$Hosts = Get-SCVMHost | ForEach-Object {$_.Computername}

# nur ein spezifischer Host (z.B. zum Testen des Skripts)
# $Hosts = “Host01″

# Für jeden dieser $Server in $Hosts folgende Schleife durchlaufen
ForEach ($Server in $Hosts)
{
# Windows Hostnamen in iRMC Hostnamen umwandeln (führendes “C”/”c” durch “I” ersetzen:
$irmc = $Server.ToUpper().Replace(“C”,”I”)

# IP Adressen des iRMC Adapters auslesen und in $ipAddresses speichern
$ipAddresses = [System.Net.Dns]::GetHostAddresses($irmc)

Write-Host iRMC Adresse von $Server lautet $irmc mit der IP $ipAddresses… -ForegroundColor Yellow
Write-Host

#iRMC Adapter in SC VMM Konfig des jeweiligen Host/Servers eintragen
Write-Host Setze iRMC Adresse für $Server auf $ipAddresses[0].IPAddressToString :  -ForegroundColor Yellow
Set-SCVMHost -VMHost $Server -BMCProtocol “IPMI” -BMCAddress $ipAddresses[0].IPAddressToString -BMCPort “623″ -BMCRunAsAccount $bmcRunAsAccount

}

Die Konfiguration eines BMC in VMM ist übrigens auch Voraussetzung für Bare Metal Deployment von Hosts und weiteren coolen Funktionalitäten die ein RZ erst richtig dynamisch und weitestgehend automatisierbar machen… aber dazu irgendwann später hoffentlich mal mehr an dieser Stelle! Smiley

Powershell: Umstellung von dynamischer (per DHCP vergebener) auf statische IP Konfiguration

Mit dem folgenden, nicht invasivem, also nur lesendem Skript kann man alle “Computername*” Systeme auf dynamische IP Konfiguration überprüfen:

Clear-Host

# ggf. für Vorarbeiten: Alle Clusternodes der Domain bestimmen
get-cluster -Domain QS | get-clusternode

# da Cluster auf eine IP Änderung evtl mit einem Clusterdown aufgrund von Heartbeatverlust reagieren,
# wenn die Änderungen bei zwei Knoten des Cluster kurz hintereinander durchgeführt werden
# daher sollten Knoten mit dynamischer IP Konfiguration ggf manuell, bzw.durch Ändern des
# “Name -like” Suchparamters weiter unten, einzeln umgestellt werden

# Array $ServerVMs mit zu prüfenden VMs füllen, hier alle mit Server* OS und Computernamen die mit Computername* anfangen
$ServerVMs = Get-ADComputer -Filter {OperatingSystem -Like ‘*Server*’ -and Name -like ‘Computername*’} | select -Expand DNSHostName

#Schleife die jede der VMs des Arrays durchgeht
foreach ($ServerVM in $ServerVMs)
{
Write-Host Teste auf DHCP NICs in $ServerVM …

# Listet alle Systeme in $ServerVMs mit dynamischer IP Konfiguration
Get-WmiObject Win32_NetworkAdapterConfiguration -ComputerName $ServerVM | where{$_.IPEnabled -eq $true -and $_.DHCPEnabled -eq $true}

}

 

Weiterhin kann das erweiterte Skript dann Systeme mit dynamischer auf statische IP Konfiguration umstellen und behält dabei die ehemals dynamischen Werte bei:

Clear-Host

# ggf. für Vorarbeiten: Alle Clusternodes der Domain bestimmen
get-cluster -Domain QS | get-clusternode

# da Cluster auf eine IP Änderung evtl mit einem Clusterdown aufgrund von Heartbeatverlust reagieren,
# wenn die Änderungen bei zwei Knoten des Cluster kurz hintereinander durchgeführt werden
# daher sollten Knoten mit dynamischer IP Konfiguration ggf manuell, bzw.durch Ändern des
# “Name -like” Suchparamters weiter unten, einzeln umgestellt werden

# Array $ServerVMs mit zu prüfenden VMs füllen, hier alle mit Server* OS und Computernamen die mit Computername* anfangen
$ServerVMs = Get-ADComputer -Filter {OperatingSystem -Like ‘*Server*’ -and Name -like ‘Computername*’} | select -Expand DNSHostName

#Schleife die jede der VMs des Arrays durchgeht
foreach ($ServerVM in $ServerVMs)
{
Write-Host Teste auf DHCP NICs in $ServerVM …

# Array mit allen Netzwerkkarten mit dynamischer IP der spezifischen VM aufbauen
# durch weglassen von “$NICs =” an anfagng, bekommt man die betroffenen Systeme (mit dynamischer IP) aufgelistet
# dann sollte aber auch die (äußere) ForEach Schleife mit <# #> auskommentiert werden
$NICs = Get-WmiObject Win32_NetworkAdapterConfiguration -ComputerName $ServerVM | where{$_.IPEnabled -eq $true -and $_.DHCPEnabled -eq $true}

# Für jede dieser Netzwerkkarten die  Umstellung auf statische IP Konfiguration
# unter Beibehaltung der Daten der dynamischen Konfiguration (IP, Subnetz, Gateway, DNS Server)
ForEach ($NIC in $NICs)
{
# bisherige IP Daten in $ip, $subnet, $gateway, $dns schreiben
$ip = ($NIC.IPAddress[0])
$subnet = $NIC.IPSubnet[0]
$gateway = $NIC.DefaultIPGateway
$dns = $NIC.DNSServerSearchOrder

# statische Konfiguration aktivieren, mit den Daten aus der dynamischen Konfiguration
$NIC.EnableStatic($ip,$subnet)
$NIC.SetGateways($gateway,1)
$NIC.SetDNSServerSearchOrder($dns)
$NIC.SetDynamicDNSRegistration(“FALSE”)
}
}

Change domain password of current user in a cascaded Remote Desktop session, where you could not get to CRTL+ALT+DEL or CRTl+ALT+END

Today I was facing the issue to have to change my users password in a Active Directory Domain where I was not DomainAdmin.
Usually you just hit CRTL+ALT+DEL (STRG+ALT+ENTF on a german keyboard)  and get to the Windows Security screeen where you can click on

“Change a password”,

now in a RDP Session this doesn’t help, as you’d get the original/source computers (the one that you are physically sitting in fromt of) Windows Security screen and would change the password of the user you logged on to this computer with, which does not need to be the same. For example in an administrators world, where you log on to the computer on your desk/lap using non admin credentials and from there RDP into an admin hop workstation or Terminalserver and do your job from there. (quite common setup actually)
That said with just one RDP session it’s quite easy to solve, as instead of CRTL+ALT+DEL you just press CRTL+ALT+END (STRG+ALT+ENDE on a german keyboard)  and the computer you RDP into Windows Security Screen pops up and you can click “change a password”.

Now if you RDP into the Admin Hop and from there RDP into another server (cascading RDP sessions) I have not found an easy way to get to the Windows Security screeen using CRTL+ALT+DEL or +END as those will bring us the first two hop computers screens, not the final ones.

With that: How to change the (domain) users password on that last session in the chain?

Quite easy actually, use the command line aka CMD.EXE (non administrative as you’d like to change the current users password) and type

net user yourusername * /domain

Got to use /domain only if it is an Active Directory based user account you’re logged on with.

This did the trick for me today , still have not found a way to get to the Windows Security screen in such a cascaded RDP session though…

We are hiring: mITdenker gesucht

 

clip_image004
Als qualitäts- und serviceorientiertes Unternehmen unterstützt die TrinityComputer.de GmbH als Microsoft GOLD-Partner seit fast 20 Jahren erfolgreich Unternehmen in allen Größenordnungen. Unsere Schwerpunkte bilden die Bereiche IT-Consulting und IT-Services. Wir sind ein wachstumsstarkes Unternehmen und legen besonderen Wert auf eine langfristige und vertrauensvolle Zusammenarbeit mit unseren Mitarbeitern(innen) und mit unseren Kunden. Durch unsere umfangreichen Weiterbildungsangebote fördern und entwickeln wir unsere

Mitarbeiter nachhaltig weiter – makeITbetter

Für den Bereich IT-Service und/oder IT-Consulting suchen wir Dich

Deine Aufgaben

  • • Aufbau, Betrieb und Wartung von IT-Infrastrukturen im gesamten Microsoft Serverumfeld
  • • Planung und Betreuung technischer Projekte im IT-Umfeld
  • • Organisation und Durchführung von Rollouts im Bereich Infrastruktur
  • • Ansprechpartner für Kunden und externe Dienstleister, sowie für die entsprechenden Fachbereiche
  • • 1st und 2nd Level Support im direkten Kontakt mit unseren Kunden

Deine Benefits

  • • Du bekommst Spielraum für Entwicklungen an vorderster Front
  • • Wir sind Dein Partner für Deine persönliche Weiterentwicklung und helfen Dir Dein Expertenwissen weiter auszubauen und Deine Person im Markt zu stärken
  • • Deine Kollegen sind Spezialisten in verschiedensten Bereichen und lernen voneinander und miteinander
  • • Flexible Arbeitszeitmodelle für eine ausgeglichene Work-Life-Balance
  • • Tolle Kollegen und jede Menge Spaß bei der Arbeit

Unsere Erwartung

  • • Du hast fundierte Berufserfahrung in der Systemadministration im Microsoft Umfeld (inkl. Microsoft Exchange)
  • • Du hast Erfahrung in der Administration von komplexen IT-Strukturen
  • • Du hast idealerweise auch ITIL oder vergleichbare Kenntnisse
  • • Begriffe wie AD, Hyper-V, SCCM, SCVMM, SCDPM, etc. sind für dich keine böhmischen Dörfer

Hast Du Lust auf neue Herausforderungen in einem tollen Team? Dann schick uns Deine vollständigen Bewerbungsunterlagen an:
work@trinitycomputer.de – Wir freuen uns auf Dich!
TrinityComputer.de GmbH | Consulting Services | Cheruskerweg 60 | 32760 Detmold | Germany

TreatYourServerLikeCattleNotlikePet.com online

During a recent talk in Redmond the presenter used the phrase “treat your Server like cattle, not like Pet!”
which in my mind totaly sums up the whole idea of automation and for example bare metal deployment in this new and cloudy datacenter world.

Looking that phrase up, I found this article below, that I’d want to link here, which basically says the same, including a funny picture of the swedish Muppets chef:
http://www.computerweekly.com/blogs/open-source-insider/2014/05/chef-your-server-is-not-a-pet-think-of-it-as-cattle.html

Quoting the article above:
Chef: a server is cattle, not a pet

“We used to think of our servers and operating system as something delicate that we need to look after — this is the model where we consider servers at pets. But the fact is that we now have more flexibility in terms of where we want to deploy workloads — these are just lumps of computing power that we can direct as needed that can be spun up and spun down. This commodity approach means we can start to treat servers like cattle now,” said Chef’s Arbuckle.”

Adding 48 nodes to a Hyper-V cluster

now for the fun part of this:

Using VMM 2012 R2 to add the Nodes:

clip_image001

 

clip_image001[5]

 

Or as Powershell script:

$credential = Get-SCRunAsAccount -Name “hypercluster\administrator” -ID “25619a62-0650-4953-9f03-70d89c918e5c”
$hostCluster = Get-SCVMHostCluster -Name “TheHive.hypercluster.de”
$hostsList = @()
$hostsList += Get-SCVMHost -ID “6b6aa352-5698-48f9-91da-0ff9bc1446e6″
$hostsList += Get-SCVMHost -ID “7bc6ded0-606b-4e39-8496-06b8a53f7b4c”
$hostsList += Get-SCVMHost -ID “b1e24b7a-728f-429a-bea6-0d8633787aa0″
$hostsList += Get-SCVMHost -ID “544433b1-5ba6-4eff-bc57-19853933cc68″
$hostsList += Get-SCVMHost -ID “f22d4fcb-37a4-40be-a4fe-22cccec92411″
$hostsList += Get-SCVMHost -ID “bf1a5ae3-444f-4a76-9350-23f07b17a67a”
$hostsList += Get-SCVMHost -ID “58c86c8b-8f52-48d8-8fee-31b368e9a558″
$hostsList += Get-SCVMHost -ID “dcea4991-4ca0-4c38-9d95-397325fa9315″
$hostsList += Get-SCVMHost -ID “3b775ede-f268-4251-894a-3b374b1619ca”
$hostsList += Get-SCVMHost -ID “fea47853-8a3e-4a81-9c40-3c1a0c446db2″
$hostsList += Get-SCVMHost -ID “afa2617f-2e18-4828-805f-3d8b6a777c14″
$hostsList += Get-SCVMHost -ID “ea95d84b-6aef-4dea-9590-5c1cb9a90cb8″
$hostsList += Get-SCVMHost -ID “cd52da19-376f-427e-94ba-6499749c85c5″
$hostsList += Get-SCVMHost -ID “8cec83e1-dc8e-4a84-9ef9-66ddc523f678″
$hostsList += Get-SCVMHost -ID “af638822-4077-47c9-8083-69af6b872912″
$hostsList += Get-SCVMHost -ID “74165941-460b-45b6-a87a-6f50c11469a4″
$hostsList += Get-SCVMHost -ID “155a65b0-1b15-4ab6-b935-71874d215eca”
$hostsList += Get-SCVMHost -ID “34cd11b5-4495-4494-b5ef-71e9f33c7139″
$hostsList += Get-SCVMHost -ID “8513c522-0bc1-4a72-b209-739b21508e8e”
$hostsList += Get-SCVMHost -ID “77e95699-a9bb-4aff-9c93-73d24558b580″
$hostsList += Get-SCVMHost -ID “d6cf66dc-868a-43df-a2b5-78aa917c24b1″
$hostsList += Get-SCVMHost -ID “47560482-c2c6-490a-9178-7b288d12d088″
$hostsList += Get-SCVMHost -ID “59712b0a-f05a-43f6-a3e0-7c73d7ea0309″
$hostsList += Get-SCVMHost -ID “ab57c1a8-a445-4ebb-8c9f-7dcf467d1c55″
$hostsList += Get-SCVMHost -ID “b74663a0-c288-4085-b30e-81939af9e987″
$hostsList += Get-SCVMHost -ID “5e24b471-1182-4959-ae6d-864b599e8f34″
$hostsList += Get-SCVMHost -ID “6b4741d5-6129-4486-9c2b-8adc80302d7d”
$hostsList += Get-SCVMHost -ID “5e96dbf0-5875-4f25-8341-8b635d9a5283″
$hostsList += Get-SCVMHost -ID “04af5293-bcba-43f4-8a99-995f9394e209″
$hostsList += Get-SCVMHost -ID “4225f0d7-f125-4492-bdf4-9ff147b81d8d”
$hostsList += Get-SCVMHost -ID “92db557f-b1c6-4fe3-a1bb-b7a47cbc5969″
$hostsList += Get-SCVMHost -ID “1ba850fa-a833-49a2-b510-b95abc16eb0f”
$hostsList += Get-SCVMHost -ID “f4350bb9-8753-431f-9fea-bdff9777c6ff”
$hostsList += Get-SCVMHost -ID “53e604aa-91c5-4623-885c-c33f0eddef67″
$hostsList += Get-SCVMHost -ID “b32fcab9-7969-410f-bbf1-c7d0c9838b28″
$hostsList += Get-SCVMHost -ID “64aadf38-08e8-452d-9453-c8c3d0cb1958″
$hostsList += Get-SCVMHost -ID “a8c2d5cf-52cb-42b5-a2ea-da33b7be26a1″
$hostsList += Get-SCVMHost -ID “f03484b3-e2e8-4554-880c-e01d2f379768″
$hostsList += Get-SCVMHost -ID “7fbae8e0-03fb-4acb-96a9-e077f4c82257″
$hostsList += Get-SCVMHost -ID “503eb680-10ee-49b6-b7c0-e32d7778b151″
$hostsList += Get-SCVMHost -ID “c0467a0b-40dc-4725-8d5d-e87c90306a81″
$hostsList += Get-SCVMHost -ID “24a6532c-d5f2-4c20-af00-ea51e71363fc”
$hostsList += Get-SCVMHost -ID “34f728ea-54c2-4177-a593-eabd53338739″
$hostsList += Get-SCVMHost -ID “a336954e-8d66-4bdb-968b-eebaf402c605″
$hostsList += Get-SCVMHost -ID “7d636d85-ffac-4a01-83c9-eeeafea9d6f1″
$hostsList += Get-SCVMHost -ID “41550fc3-9969-4491-a415-f56ba38aa100″
$hostsList += Get-SCVMHost -ID “35a965c7-ede3-4bf8-a98b-ff3423ab5547″
$hostsList += Get-SCVMHost -ID “7b769fec-264a-4724-969e-e86c2701c0a8″
Install-SCVMHostCluster -VMHost $hostsList -VMHostCluster $hostCluster -Credential $credential -RunAsynchronously

Category: 42