<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Hyper-V &#8211; Haikos Blog</title>
	<atom:link href="https://www.hertes.net/tag/hyper-v/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.hertes.net</link>
	<description>Blog von Haiko Hertes zu allen Themen rund um Microsoft, Cloud und Datacenter</description>
	<lastBuildDate>Thu, 22 Feb 2024 14:49:07 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
	<item>
		<title>Hyper-V Umgebung hat merkwürdige Netzwerkprobleme</title>
		<link>https://www.hertes.net/2024/02/hyper-v-umgebung-hat-merkwuerdige-netzwerkprobleme/</link>
					<comments>https://www.hertes.net/2024/02/hyper-v-umgebung-hat-merkwuerdige-netzwerkprobleme/#respond</comments>
		
		<dc:creator><![CDATA[Haiko]]></dc:creator>
		<pubDate>Thu, 22 Feb 2024 17:30:00 +0000</pubDate>
				<category><![CDATA[Arbeit]]></category>
		<category><![CDATA[Hyper-V]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[IP]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Netzwerk]]></category>
		<category><![CDATA[Probleme]]></category>
		<category><![CDATA[TCP]]></category>
		<guid isPermaLink="false">https://www.hertes.net/?p=4306</guid>

					<description><![CDATA[In einer meiner Lab-Umgebungen hatte ich jüngst sehr merkwürdige Netzwerk-Probleme. TCP-Verbindungen ließen sich entweder gar nicht erst aufbauen oder brachen ständig zusammen, insbesondere HTTP-Sitzungen und RDP-Verbindungen waren davon betroffen. Ich hatte zunächst die Netzwerkkarten der betroffenen Hosts im Verdacht, konnte hier aber selbst beim Wechsel auf eine andere Karte keine Besserung feststellen. Da einige der Systeme sich im Netzwerk von manchen Quellen anpingen ließen, von anderen nicht, hatte ich einen Blick auf die ARP-Tabelle eines der Hosts, von wo aus ein Ping nicht möglich war, geworfen: Dort war mir dann etwas aufgefallen &#8211; nämlich dass eine konkrete MAC-Adresse mehreren IP-Adressen&#8230;]]></description>
										<content:encoded><![CDATA[
<p>In einer meiner Lab-Umgebungen hatte ich jüngst sehr merkwürdige Netzwerk-Probleme. TCP-Verbindungen ließen sich entweder gar nicht erst aufbauen oder brachen ständig zusammen, insbesondere HTTP-Sitzungen und RDP-Verbindungen waren davon betroffen. Ich hatte zunächst die Netzwerkkarten der betroffenen Hosts im Verdacht, konnte hier aber selbst beim Wechsel auf eine andere Karte keine Besserung feststellen.</p>



<p>Da einige der Systeme sich im Netzwerk von manchen Quellen anpingen ließen, von anderen nicht, hatte ich einen Blick auf die ARP-Tabelle eines der Hosts, von wo aus ein Ping nicht möglich war, geworfen:</p>



<figure class="wp-block-image size-large"><a href="https://www.hertes.net/wp-content/uploads/2024/02/image-3.png"><img fetchpriority="high" decoding="async" width="1024" height="598" src="https://www.hertes.net/wp-content/uploads/2024/02/image-3-1024x598.png" alt="" class="wp-image-4307" srcset="https://www.hertes.net/wp-content/uploads/2024/02/image-3-1024x598.png 1024w, https://www.hertes.net/wp-content/uploads/2024/02/image-3-300x175.png 300w, https://www.hertes.net/wp-content/uploads/2024/02/image-3-768x449.png 768w, https://www.hertes.net/wp-content/uploads/2024/02/image-3.png 1113w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<p>Dort war mir dann etwas aufgefallen &#8211; nämlich dass eine konkrete MAC-Adresse mehreren IP-Adressen zugeordnet war &#8211; mit anderen Worten: Mehrere Hosts im Netzwerk hatten scheinbar die selbe MAC-Adresse!</p>



<p>Um dies zu verifizieren, habe ich mir dann die MACs aller VMs auf den betroffenen Hosts anzeigen lassen:</p>



<figure class="wp-block-image size-large"><a href="https://www.hertes.net/wp-content/uploads/2024/02/Screenshot-2024-02-22-142454.png"><img decoding="async" width="1024" height="597" src="https://www.hertes.net/wp-content/uploads/2024/02/Screenshot-2024-02-22-142454-1024x597.png" alt="" class="wp-image-4308" srcset="https://www.hertes.net/wp-content/uploads/2024/02/Screenshot-2024-02-22-142454-1024x597.png 1024w, https://www.hertes.net/wp-content/uploads/2024/02/Screenshot-2024-02-22-142454-300x175.png 300w, https://www.hertes.net/wp-content/uploads/2024/02/Screenshot-2024-02-22-142454-768x448.png 768w, https://www.hertes.net/wp-content/uploads/2024/02/Screenshot-2024-02-22-142454.png 1114w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<pre class="wp-block-code"><code>Get-VMNetworkAdapter -VMName * -ComputerName "HOST01","HOST02","HOST03" | Select-Object VMName,MacAddress | Sort-Object MacAddress</code></pre>



<p>Hier bestätigt sich die vorherige Erkenntnis: 4 der verwendeten MACs werden durch mehr als eine VM genutzt! Aber woher kommt das?</p>



<p>Alle Hyper-V-Hosts wurden im selben Netzwerk und nacheinander aufgesetzt. Dennoch zeigt sich, dass zwei der Hosts den selben MAC Address Pool verwenden:</p>



<figure class="wp-block-image size-large"><a href="https://www.hertes.net/wp-content/uploads/2024/02/image-4.png"><img decoding="async" width="1024" height="492" src="https://www.hertes.net/wp-content/uploads/2024/02/image-4-1024x492.png" alt="" class="wp-image-4309" srcset="https://www.hertes.net/wp-content/uploads/2024/02/image-4-1024x492.png 1024w, https://www.hertes.net/wp-content/uploads/2024/02/image-4-300x144.png 300w, https://www.hertes.net/wp-content/uploads/2024/02/image-4-768x369.png 768w, https://www.hertes.net/wp-content/uploads/2024/02/image-4-1536x738.png 1536w, https://www.hertes.net/wp-content/uploads/2024/02/image-4.png 1814w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<p>Die Lösung besteht also aus 2 Teilen:</p>



<ul class="wp-block-list">
<li>MAC Address Pool auf mindestens einem der beiden Hosts ändern</li>



<li>Betroffenen VMs eine neue MAC-Adresse (oder einfach eine neue NIC) verpassen</li>
</ul>



<p>Ich habe keine Ahnung, wie dieser Fehler zustande gekommen ist, denn eigentlich prüfen Hyper-V Hosts beim Setup, ob der MAC-Address-Bereich von anderen Hosts verwendet wird, aber diese Prüfung war hier wohl irgendwie wenig erfolgreich&#8230; Naja, egal. Fehler gefunden, behoben, alles gut <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.hertes.net/2024/02/hyper-v-umgebung-hat-merkwuerdige-netzwerkprobleme/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>CPU-Kompatibilität in Hyper-V-Cluster mittels PowerShell steuern</title>
		<link>https://www.hertes.net/2023/10/cpu-kompatibilitaet-in-hyper-v-cluster-mittels-powershell-steuern/</link>
					<comments>https://www.hertes.net/2023/10/cpu-kompatibilitaet-in-hyper-v-cluster-mittels-powershell-steuern/#respond</comments>
		
		<dc:creator><![CDATA[Haiko]]></dc:creator>
		<pubDate>Mon, 02 Oct 2023 16:00:00 +0000</pubDate>
				<category><![CDATA[Hyper-V]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[Cluster]]></category>
		<category><![CDATA[CPU]]></category>
		<category><![CDATA[Failover-Cluster]]></category>
		<category><![CDATA[Kompatibilität]]></category>
		<category><![CDATA[Prozessor]]></category>
		<category><![CDATA[S2D]]></category>
		<category><![CDATA[Virtuelle Maschine]]></category>
		<category><![CDATA[VM]]></category>
		<guid isPermaLink="false">https://www.hertes.net/?p=4225</guid>

					<description><![CDATA[Zu einem bestehenden 2-Knoten S2D-Hyper-V-Failover-Cluster aus 2 exakt gleichen Hosts hatte ich vor kurzem einen dritten Knoten hinzugefügt. Es handelte sich hierbei um das selbe HP-Server-Modell. Bei den ersten Live-Migrationen traten jedoch Fehler auf und eine Analyse brachte zu Tage, dass die CPUs am dritten Knoten geringfügig andere sind. Für dieses Problem gibt es im Allgemeinen das Feature &#8222;Processor compatibility&#8220; in Hyper-V (Im Deutschen als &#8222;Prozessorkompatibilitätsmodus&#8220; bezeichnet, in der GUI heisst es dann &#8222;Zu einem physischen Computer mit einer anderen Prozessorversion migrieren&#8220; bzw. &#8222;Migrate to physical computer with a different processor version&#8220;). Dieses Feature kann man natürlich problemlos über die&#8230;]]></description>
										<content:encoded><![CDATA[
<p>Zu einem bestehenden 2-Knoten S2D-Hyper-V-Failover-Cluster aus 2 exakt gleichen Hosts hatte ich vor kurzem einen dritten Knoten hinzugefügt. Es handelte sich hierbei um das selbe HP-Server-Modell. Bei den ersten Live-Migrationen traten jedoch Fehler auf und eine Analyse brachte zu Tage, dass die CPUs am dritten Knoten geringfügig andere sind.</p>



<p>Für dieses Problem gibt es im Allgemeinen das Feature &#8222;Processor compatibility&#8220; in Hyper-V (Im Deutschen als &#8222;Prozessorkompatibilitätsmodus&#8220; bezeichnet, in der GUI heisst es dann &#8222;Zu einem physischen Computer mit einer anderen Prozessorversion migrieren&#8220; bzw. &#8222;Migrate to physical computer with a different processor version&#8220;). Dieses Feature kann man natürlich problemlos über die GUI ein- und ausschalten:</p>



<figure class="wp-block-image size-full"><a href="https://www.hertes.net/wp-content/uploads/2023/10/image.png"><img loading="lazy" decoding="async" width="872" height="266" src="https://www.hertes.net/wp-content/uploads/2023/10/image.png" alt="" class="wp-image-4226" srcset="https://www.hertes.net/wp-content/uploads/2023/10/image.png 872w, https://www.hertes.net/wp-content/uploads/2023/10/image-300x92.png 300w, https://www.hertes.net/wp-content/uploads/2023/10/image-768x234.png 768w" sizes="auto, (max-width: 872px) 100vw, 872px" /></a></figure>



<p>Allerdings ergeben sich hier schnell 2 Herausforderungen:</p>



<ul class="wp-block-list">
<li>Das Feature lässt sich nur ändern, während die VM ausgeschaltet ist</li>



<li>In einem Cluster laufen schnell mal eine 2-stellige Anzahl VMs</li>
</ul>



<p>Das kann man natürlich wie so vieles sehr elegant per PowerShell lösen, also habe ich dafür ein passendes Skript geschrieben. Dieses kann entweder zum ein- oder ausschalten des Features benutzt werden und iteriert dabei über einen Cluster und behandelt dabei dann alle VMs im Cluster, bei denen das Feature noch nicht korrekt eingestellt ist, in dem die VMs bei Bedarf zuerst gestoppt, das Feature gesetzt und dann falls vorher laufend die VM wieder startet. Am Ende wird dann noch der Gesamtzustand ausgegeben.</p>



<p>Das Skript findet ihr auf meinem GitHub Repo, siehe hier:</p>



<p><a href="https://github.com/HaikoHertes/scripts/blob/master/HyperV/EnableOrDisableCPUCompatibilityOnHyperVCluster.ps1">scripts/HyperV/EnableOrDisableCPUCompatibilityOnHyperVCluster.ps1 at master · HaikoHertes/scripts (github.com)</a></p>



<p>Damit kann man nun also entweder bei unterschiedlicher Hardware die CPU-Kompatibilität für alle VMs erhöhen oder, nachdem man z.B. die CPUs überall auf den selben Stand gebracht hat, das Feature wieder deaktivieren.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.hertes.net/2023/10/cpu-kompatibilitaet-in-hyper-v-cluster-mittels-powershell-steuern/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Hyper-V &#038; PowerShell &#8211; Kerberos Delegierung f&#252;r LiveMigration f&#252;r mehrere Server gegenseitig eintragen</title>
		<link>https://www.hertes.net/2018/01/hyper-v-powershell-kerberos-delegierung-fr-livemigration-fr-mehrere-server-gegenseitig-eintragen/</link>
					<comments>https://www.hertes.net/2018/01/hyper-v-powershell-kerberos-delegierung-fr-livemigration-fr-mehrere-server-gegenseitig-eintragen/#respond</comments>
		
		<dc:creator><![CDATA[Haiko]]></dc:creator>
		<pubDate>Fri, 26 Jan 2018 22:39:00 +0000</pubDate>
				<category><![CDATA[ActiveDirectory]]></category>
		<category><![CDATA[Hyper-V]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Active Directory]]></category>
		<category><![CDATA[Hyper-V Server]]></category>
		<category><![CDATA[Kerberos]]></category>
		<category><![CDATA[LiveMigraton]]></category>
		<category><![CDATA[VM]]></category>
		<guid isPermaLink="false">https://www.hertes.net/?p=3525</guid>

					<description><![CDATA[Hinweis: Wer mehr zu diesem Thema wissen möchte, kann gerne meinen ausführlichen Artikel zu diesem Thema lesen! Nichts neues, aber da es mir heute wieder über den Weg gelaufen ist: Wenn man mittels Hyper-V Manager eine VM von einem Host auf einen anderen live verschieben, dann gibt es im Wesentlichen zwei mögliche Protokolle: CredSSP und Kerberos. CredSSP ist in der Anendung grundsätzlich einfach, hat aber einen entscheidenden Nachteil: Man muss interaktiv (!) an dem Host angemeldet sein, von dem man die VM (weg) verschieben will. Andernfalls bekommt man einen hübschen Fehler: Der Fehlertext lautet: Fehler beim Herstellen einer Verbindung mit&#8230;]]></description>
										<content:encoded><![CDATA[<p>Hinweis: Wer mehr zu diesem Thema wissen möchte, kann gerne <a href="https://www.hertes.net/2016/12/hyper-v-auf-windows-server-2012-r2-2016-vms-mittels-kerberos-verschieben/">meinen ausführlichen Artikel zu diesem Thema</a> lesen!</p>
<p>Nichts neues, aber da es mir heute wieder über den Weg gelaufen ist: Wenn man mittels Hyper-V Manager eine VM von einem Host auf einen anderen live verschieben, dann gibt es im Wesentlichen zwei mögliche Protokolle: CredSSP und Kerberos.</p>
<p><a href="https://www.hertes.net/wp-content/uploads/2018/01/kerberos1.png"><img loading="lazy" decoding="async" style="background-image: none; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; margin-right: auto; border: 0px;" title="kerberos1" src="https://www.hertes.net/wp-content/uploads/2018/01/kerberos1_thumb.png" alt="kerberos1" width="529" height="484" border="0" /></a></p>
<p>CredSSP ist in der Anendung grundsätzlich einfach, hat aber einen entscheidenden Nachteil: Man muss interaktiv (!) an dem Host angemeldet sein, von dem man die VM (weg) verschieben will. Andernfalls bekommt man einen hübschen Fehler:</p>
<p><a href="https://www.hertes.net/wp-content/uploads/2018/01/kerberos2.png"><img loading="lazy" decoding="async" style="background-image: none; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; margin-right: auto; border: 0px;" title="kerberos2" src="https://www.hertes.net/wp-content/uploads/2018/01/kerberos2_thumb.png" alt="kerberos2" width="404" height="274" border="0" /></a><a href="https://www.hertes.net/wp-content/uploads/2018/01/kerberos3.png"><img loading="lazy" decoding="async" style="background-image: none; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; margin-right: auto; border: 0px;" title="kerberos3" src="https://www.hertes.net/wp-content/uploads/2018/01/kerberos3_thumb.png" alt="kerberos3" width="404" height="276" border="0" /></a></p>
<p>Der Fehlertext lautet:</p>
<blockquote>
<p>Fehler beim Herstellen einer Verbindung mit dem Host “DERHOSTNAME”: Die Anmeldeinformationen, die dem Paket übergeben wurden, wurden nicht erkannt. (0x8009030D).</p>
</blockquote>
<blockquote>
<p>Failed to establish a connection with host “THEHOSTNAME”: No credentials are available in the security package (0x8009030E)</p>
</blockquote>
<p>Insbesondere auf Core-Servern bleibt hier also nur eine Möglichkeit: Man muss auf Kerberos umstellen! Dazu jedoch müssen sich die Server, zwischen denen man verschieben möchte, für das Protokoll “cifs” und “Microsoft Virtual System Migration Service” vertrauen.</p>
<p>Das könnte man jetzt im ActiveDirectory manuell konfigurieren – aber spätestens bei einer zweistelligen Anzahl an Hosts ist das eine sehr mühsame Klickerei. Also warum nicht PowerShell bemühen? Ich habe mir dazu schon vor einer ganzen Weile ein recht kurzes Skript geschrieben, was jeden der aufgeführten Host gegen jeden anderen berechtigt bzw. die Kerberos-Delegierung einrichtet.</p>
<p>Hier das Skript im Textlaut. Viel Spaß damit!</p>
<pre lang="PowerShell" line="1">$Domain = 'domain.local'

# Actually not needed anymore, but who knows...
Import-Module ActiveDirectory
# Put the NetBIOS names of your hosts here
$HyperVHosts = "HOST1","HOST2","HOST3","HOST4","HOST5"

ForEach($Host1 in $HyperVHosts)
{
    ForEach($Host2 in $HyperVHosts)
    {
        If($Host1 -ne $Host2)
        {
            "Delegating from $Host1 to $Host2..."
            Get-ADComputer $Host1 | Set-ADObject -Add @{"msDS-AllowedToDelegateTo" = "Microsoft Virtual System Migration Service/$($Host2).$($Domain)", "cifs/$($Host2).$($Domain)", "Microsoft Virtual System Migration Service/$Host2", "cifs/$Host2"}
            Get-ADComputer $Host1 | Set-ADAccountControl -TrustedForDelegation:$false -TrustedToAuthForDelegation:$true
        }
    }
}

</pre>


<p>Download des Skriptes siehe hier:</p>



<p><a href="https://github.com/HaikoHertes/scripts/blob/master/HyperV/SetTrustedForDelegationOnAllHyperVHosts.ps1">https://github.com/HaikoHertes/scripts/blob/master/HyperV/SetTrustedForDelegationOnAllHyperVHosts.ps1</a></p>



<p><br></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.hertes.net/2018/01/hyper-v-powershell-kerberos-delegierung-fr-livemigration-fr-mehrere-server-gegenseitig-eintragen/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>PowerShell &#8211; Geeigneten Host für neue VM finden</title>
		<link>https://www.hertes.net/2018/01/powershell-geeigneten-host-fr-neue-vm-finden/</link>
					<comments>https://www.hertes.net/2018/01/powershell-geeigneten-host-fr-neue-vm-finden/#respond</comments>
		
		<dc:creator><![CDATA[Haiko]]></dc:creator>
		<pubDate>Tue, 23 Jan 2018 22:33:00 +0000</pubDate>
				<category><![CDATA[Hyper-V]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Informationen]]></category>
		<category><![CDATA[Ressourcen]]></category>
		<guid isPermaLink="false">https://www.hertes.net/?p=3503</guid>

					<description><![CDATA[Wer kennt das nicht? Da will man eine neue VM installieren und stellt sich dabei unweigerlich folgende Frage: Welcher meiner Hyper-V Hosts ist dafür am besten geeignet? Klar, jetzt könnte man einfach im SCVMM nachsehen, ja gar die Bereitstellung darüber abwickeln und sich den besten Host vorschlagen lassen. Was aber, wenn man keinen SCVMM hat (so wie wir)? Dann hilft einem zum Glück die PowerShell – und mein kleines Script! Dieses fragt alle aufgelisteten Hyper-V-Hosts nach deren Hardware-Ressourcen ab und listet diese dann auf. Dabei werden folgende Informationen ausgegeben: Anzahl physischer und logischer Cores Anzahl bereits verwendeter vCores Verhältnis zwischen&#8230;]]></description>
										<content:encoded><![CDATA[<p>Wer kennt das nicht? Da will man eine neue VM installieren und stellt sich dabei unweigerlich folgende Frage:</p>
<blockquote><p>Welcher meiner Hyper-V Hosts ist dafür am besten geeignet?</p></blockquote>
<p>Klar, jetzt könnte man einfach im SCVMM nachsehen, ja gar die Bereitstellung darüber abwickeln und sich den besten Host vorschlagen lassen. Was aber, wenn man keinen SCVMM hat (so wie wir)? Dann hilft einem zum Glück die PowerShell – und mein kleines Script!</p>
<p>Dieses fragt alle aufgelisteten Hyper-V-Hosts nach deren Hardware-Ressourcen ab und listet diese dann auf. Dabei werden folgende Informationen ausgegeben:</p>
<ul>
<li>Anzahl physischer und logischer Cores</li>
<li>Anzahl bereits verwendeter vCores</li>
<li>Verhältnis zwischen logischen und virtuellen Cores (Sollte 1:8 nicht übersteigen)</li>
<li>Vorhandener RAM gesamt</li>
<li>Belegter RAM</li>
</ul>
<p>Im Script enthalten ist eine Funktion, die entsprechende Objekt liefert, wodurch sich das Script auch in andere Automatisierungen einbauen lässt. Ihr findet das Script als Download weiter unten. Hier erstmal das Listing:</p>
<pre lang="PowerShell" line="1">$AllHyperVHosts = "HOST1","HOST2","HOST3","HOST4"

function Get-HyperVHostInfo([string]$HyperVHost)
{

    $vCores = ((Get-VM -ComputerName $HyperVHost).ProcessorCount | Measure-Object -Sum).Sum

    $Property = "numberOfCores", "NumberOfLogicalProcessors"
    $CPUs = Get-Ciminstance -class Win32_Processor -Property  $Property -ComputerName $HyperVHost| Select-Object -Property $Property 
    $Cores = ($CPUs.numberOfCores | Measure-Object -Sum).Sum
    $logCores = ($CPUs.NumberOfLogicalProcessors | Measure-Object -Sum).Sum

    $os = Get-Ciminstance Win32_OperatingSystem -ComputerName $HyperVHost
    $MemFreePct = [math]::Round(($os.FreePhysicalMemory/$os.TotalVisibleMemorySize)*100,2)

    $object = New-Object -TypeName PSObject
    $object | Add-Member –MemberType NoteProperty –Name PhysicalCores –Value $Cores
    $object | Add-Member –MemberType NoteProperty –Name LogicalCores –Value $logCores
    $object | Add-Member –MemberType NoteProperty –Name VirtualCores –Value $vCores
    $object | Add-Member –MemberType NoteProperty –Name MemTotalGB -Value ([int]($os.TotalVisibleMemorySize/1mb))
    $object | Add-Member –MemberType NoteProperty –Name MemFreeGB -Value ([math]::Round($os.FreePhysicalMemory/1mb,2))
    $object | Add-Member –MemberType NoteProperty –Name MemFreePct -Value $MemFreePct

    Return $object
}

ForEach($OneHost in $AllHyperVHosts)
{
    $HostData = Get-HyperVHostInfo -HyperVHost $OneHost

    Write-Host "$OneHost has $($Hostdata.PhysicalCores) physical cores, $($Hostdata.LogicalCores) logical cores and $($Hostdata.VirtualCores) virtual cores are used in all VMs overall." -ForegroundColor Yellow
    Write-Host "The Core:vCore ratio is `t`t1:$([math]::Round(($Hostdata.VirtualCores) /  ($Hostdata.PhysicalCores),2))"
    Write-Host "The Log.Core:vCore ratio is `t1:$([math]::Round(($Hostdata.VirtualCores) /  ($Hostdata.LogicalCores),2))"
    Write-Host "The system has $($Hostdata.MemFreeGB)GB of free memory and $($Hostdata.MemTotalGB)GB memory at all, which is $($Hostdata.MemFreePct)% free"
    Write-Host ""

}
Write-Host "The conservative approach for logical cores is `t1:8 "</pre>
<p><a href="https://www.hertes.net/wp-content/uploads/2018/01/VM_CPU_Ratio.png"><img loading="lazy" decoding="async" class="aligncenter wp-image-3517 size-full" src="https://www.hertes.net/wp-content/uploads/2018/01/VM_CPU_Ratio.png" alt="" width="732" height="278" srcset="https://www.hertes.net/wp-content/uploads/2018/01/VM_CPU_Ratio.png 732w, https://www.hertes.net/wp-content/uploads/2018/01/VM_CPU_Ratio-300x114.png 300w" sizes="auto, (max-width: 732px) 100vw, 732px" /></a></p>
<p><u>Das Script als *.ps1 Datei gibt es hier: </u></p>
<p><a href="https://gallery.technet.microsoft.com/scriptcenter/PowerShell-Get-vCore-507be5dc">https://gallery.technet.microsoft.com/scriptcenter/PowerShell-Get-vCore-507be5dc</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.hertes.net/2018/01/powershell-geeigneten-host-fr-neue-vm-finden/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Hyper-V: Welcher Host ist am besten f&#252;r eine neue VM geeignet?</title>
		<link>https://www.hertes.net/2017/11/hyper-v-welcher-host-ist-am-besten-fr-eine-neue-vm-geeignet/</link>
					<comments>https://www.hertes.net/2017/11/hyper-v-welcher-host-ist-am-besten-fr-eine-neue-vm-geeignet/#respond</comments>
		
		<dc:creator><![CDATA[Haiko]]></dc:creator>
		<pubDate>Wed, 22 Nov 2017 14:58:10 +0000</pubDate>
				<category><![CDATA[Hyper-V]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[Windows Server]]></category>
		<category><![CDATA[CPU]]></category>
		<category><![CDATA[Free]]></category>
		<category><![CDATA[Frei]]></category>
		<category><![CDATA[Hyper-V Server]]></category>
		<category><![CDATA[Memory]]></category>
		<category><![CDATA[RAM]]></category>
		<category><![CDATA[Speicher]]></category>
		<guid isPermaLink="false">https://www.hertes.net/?p=3478</guid>

					<description><![CDATA[Mir stellt sich im Administrations-Alltag immer wieder die Frage, welcher unserer Hyper-V-Hosts derzeit am besten für eine neue VM geeignet ist (Nein, wir verwenden leider kein VMM…). Anstatt aber dabei jedes Mal jeden Host hinsichtlich seiner freien Ressourcen “abzuklappern”, habe ich mir ein entsprechendes PowerShell-Skript geschrieben, was eine passende Function bereithält. Ihr könnt das Skript gerne für eure Zwecke anpassen oder direkt so übernehmen. $AllHyperVHosts = "HostNr1","HostNr2","HostNr3" function Get-HyperVHostInfo([string]$HyperVHost) { $vCores = ((Get-VM -ComputerName $HyperVHost).ProcessorCount &#124; Measure-Object -Sum).Sum $Property = "numberOfCores", "NumberOfLogicalProcessors" $CPUs = Get-Ciminstance -class Win32_Processor -Property $Property -ComputerName $HyperVHost&#124; Select-Object -Property $Property $Cores = ($CPUs.numberOfCores &#124; Measure-Object -Sum).Sum&#8230;]]></description>
										<content:encoded><![CDATA[<p>Mir stellt sich im Administrations-Alltag immer wieder die Frage, welcher unserer Hyper-V-Hosts derzeit am besten für eine neue VM geeignet ist (Nein, wir verwenden leider kein VMM…). Anstatt aber dabei jedes Mal jeden Host hinsichtlich seiner freien Ressourcen “abzuklappern”, habe ich mir ein entsprechendes PowerShell-Skript geschrieben, was eine passende Function bereithält. Ihr könnt das Skript gerne für eure Zwecke anpassen oder direkt so übernehmen.</p>
<pre lang="PowerShell" line="1">
$AllHyperVHosts = "HostNr1","HostNr2","HostNr3"

function Get-HyperVHostInfo([string]$HyperVHost)
{

    $vCores = ((Get-VM -ComputerName $HyperVHost).ProcessorCount | Measure-Object -Sum).Sum

    $Property = "numberOfCores", "NumberOfLogicalProcessors"
    $CPUs = Get-Ciminstance -class Win32_Processor -Property  $Property -ComputerName $HyperVHost| Select-Object -Property $Property 
    $Cores = ($CPUs.numberOfCores | Measure-Object -Sum).Sum
    $logCores = ($CPUs.NumberOfLogicalProcessors | Measure-Object -Sum).Sum

    $os = Get-Ciminstance Win32_OperatingSystem -ComputerName $HyperVHost
    $MemFreePct = [math]::Round(($os.FreePhysicalMemory/$os.TotalVisibleMemorySize)*100,2)

    $object = New-Object -TypeName PSObject
    $object | Add-Member –MemberType NoteProperty –Name PhysicalCores –Value $Cores
    $object | Add-Member –MemberType NoteProperty –Name LogicalCores –Value $logCores
    $object | Add-Member –MemberType NoteProperty –Name VirtualCores –Value $vCores
    $object | Add-Member –MemberType NoteProperty –Name MemTotalGB -Value ([int]($os.TotalVisibleMemorySize/1mb))
    $object | Add-Member –MemberType NoteProperty –Name MemFreeGB -Value ([math]::Round($os.FreePhysicalMemory/1mb,2))
    $object | Add-Member –MemberType NoteProperty –Name MemFreePct -Value $MemFreePct

    Return $object
}

ForEach($OneHost in $AllHyperVHosts)
{
    $HostData = Get-HyperVHostInfo -HyperVHost $OneHost

    Write-Host "$OneHost has $($Hostdata.PhysicalCores) physical cores, $($Hostdata.LogicalCores) logical cores and $($Hostdata.VirtualCores) virtual cores are used in all VMs overall." -ForegroundColor Yellow
    Write-Host "The Core:vCore ratio is `t`t1:$([math]::Round(($Hostdata.VirtualCores) /  ($Hostdata.PhysicalCores),2))"
    Write-Host "The Log.Core:vCore ratio is `t1:$([math]::Round(($Hostdata.VirtualCores) /  ($Hostdata.LogicalCores),2))"
    Write-Host "The system has $($Hostdata.MemFreeGB)GB of free memory and $($Hostdata.MemTotalGB)GB memory at all, which is $($Hostdata.MemFreePct)% free"
    Write-Host ""

}
Write-Host "The conservative approach for logical cores is `t1:8 "
</pre>
<p>&#160;</p>
<p>Eine Beispielausgabe sieht dann so aus: </p>
<p><a href="https://www.hertes.net/wp-content/uploads/2017/11/hyperv1.png"><img loading="lazy" decoding="async" title="hyperv1" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; border-top-width: 0px; margin-right: auto" border="0" alt="hyperv1" src="https://www.hertes.net/wp-content/uploads/2017/11/hyperv1_thumb.png" width="644" height="192" /></a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.hertes.net/2017/11/hyper-v-welcher-host-ist-am-besten-fr-eine-neue-vm-geeignet/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Hyper-V Server 2012 R2 / 2016 bzw. Server Core: SNMP-Dienst konfigurieren</title>
		<link>https://www.hertes.net/2017/03/hyper-v-server-2012-r2-2016-bzw-server-core-snmp-dienst-konfigurieren/</link>
					<comments>https://www.hertes.net/2017/03/hyper-v-server-2012-r2-2016-bzw-server-core-snmp-dienst-konfigurieren/#respond</comments>
		
		<dc:creator><![CDATA[Haiko]]></dc:creator>
		<pubDate>Sun, 05 Mar 2017 12:51:58 +0000</pubDate>
				<category><![CDATA[Hyper-V]]></category>
		<category><![CDATA[Windows Server]]></category>
		<category><![CDATA[Windows Server 2012 R2]]></category>
		<category><![CDATA[Windows Server 2016]]></category>
		<category><![CDATA[Dienste]]></category>
		<category><![CDATA[Hyper-V Server]]></category>
		<category><![CDATA[Service]]></category>
		<category><![CDATA[SNMP]]></category>
		<guid isPermaLink="false">https://www.hertes.net/?p=3406</guid>

					<description><![CDATA[Wenn man auf einem Hyper-V Server (gemeint ist der kostenlose Server, der ohne GUI, also vergleichbar einer Server Core Installation, und nur mit Hyper-V as Rolle betrieben werden kann) den SNMP-Dienst installiert hat, muss diese noch konfiguriert werden. Die Installation selber kann remote über den Servermanager oder lokal über PowerShell erfolgen: Add-WindowsFeature -Name SNMP-Service,SNMP-WMI-Provider Nach der Installation würde man auf einem grafischen Server jetzt einfach die Dienste-Konsole oder die Computerverwaltung öffnen und den Dienst dort entsprechend konfigurieren. Die grafischen Werkzeuge stehen aber lokal nicht zur Verfügung. Verwendet man jetzt bspw. die Computerverwaltung von einem grafischen Server aus und verbindet sich&#8230;]]></description>
										<content:encoded><![CDATA[<p>Wenn man auf einem Hyper-V Server (gemeint ist der kostenlose Server, der ohne GUI, also vergleichbar einer Server Core Installation, und nur mit Hyper-V as Rolle betrieben werden kann) den SNMP-Dienst installiert hat, muss diese noch konfiguriert werden.</p>
<p>Die Installation selber kann remote über den Servermanager oder lokal über PowerShell erfolgen:</p>
<p><a href="https://www.hertes.net/wp-content/uploads/2017/03/snmp0.png"><img loading="lazy" decoding="async" title="snmp0" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; border-left: 0px; display: block; padding-right: 0px; margin-right: auto" border="0" alt="snmp0" src="https://www.hertes.net/wp-content/uploads/2017/03/snmp0_thumb.png" width="644" height="338" /></a></p>
<blockquote>
<p align="justify"> Add-WindowsFeature -Name SNMP-Service,SNMP-WMI-Provider</p>
</blockquote>
<p align="justify"><a href="https://www.hertes.net/wp-content/uploads/2017/03/snmp0b.png"><img loading="lazy" decoding="async" title="snmp0b" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; border-left: 0px; display: block; padding-right: 0px; margin-right: auto" border="0" alt="snmp0b" src="https://www.hertes.net/wp-content/uploads/2017/03/snmp0b_thumb.png" width="644" height="84" /></a></p>
<p>Nach der Installation würde man auf einem grafischen Server jetzt einfach die Dienste-Konsole oder die Computerverwaltung öffnen und den Dienst dort entsprechend konfigurieren. Die grafischen Werkzeuge stehen aber lokal nicht zur Verfügung. Verwendet man jetzt bspw. die Computerverwaltung von einem grafischen Server aus und verbindet sich von dort mit dem Hyper-V Server bzw. dem als Server Core installierten Server, wird man leider feststellen, dass dort einige Optionen im SNMP-Dienst fehlen:</p>
<p><a href="https://www.hertes.net/wp-content/uploads/2017/03/snmp1.png"><img loading="lazy" decoding="async" title="snmp1" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; border-left: 0px; display: block; padding-right: 0px; margin-right: auto" border="0" alt="snmp1" src="https://www.hertes.net/wp-content/uploads/2017/03/snmp1_thumb.png" width="428" height="484" /></a></p>
<p>Abhilfe schafft hier <strong>die Installation des SNMP-Features auch auf der Maschine, von der aus man mit dem grafischen Werkzeug arbeiten möchte</strong>. Danach kann man auch remote die passenden Einstellungen vornehmen:</p>
<p><a href="https://www.hertes.net/wp-content/uploads/2017/03/snmp2.png"><img loading="lazy" decoding="async" title="snmp2" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; border-left: 0px; display: block; padding-right: 0px; margin-right: auto" border="0" alt="snmp2" src="https://www.hertes.net/wp-content/uploads/2017/03/snmp2_thumb.png" width="417" height="484" /></a></p>
<p>Viel Spaß beim Ausprobieren!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.hertes.net/2017/03/hyper-v-server-2012-r2-2016-bzw-server-core-snmp-dienst-konfigurieren/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Windows Server NIC-Teaming: Problem mit doppelter MAC beheben</title>
		<link>https://www.hertes.net/2016/12/windows-server-nic-teaming-problem-mit-doppelter-mac-beheben/</link>
					<comments>https://www.hertes.net/2016/12/windows-server-nic-teaming-problem-mit-doppelter-mac-beheben/#respond</comments>
		
		<dc:creator><![CDATA[Haiko]]></dc:creator>
		<pubDate>Fri, 02 Dec 2016 15:02:16 +0000</pubDate>
				<category><![CDATA[Hyper-V]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[Windows Server 2016]]></category>
		<category><![CDATA[NIC-Teaming]]></category>
		<category><![CDATA[Teaming]]></category>
		<category><![CDATA[Windows Server]]></category>
		<category><![CDATA[Windows Server vNext / 2016]]></category>
		<guid isPermaLink="false">http://www.hertes.net/?p=3313</guid>

					<description><![CDATA[Auf einem Test-Host unter Windows Server 2016 mit Hyper-V ist mir heute folgende Fehlermeldung im Eventlog aufgefallen: (MAC Conflict: A port on the virtual switch has the same MAC as one of the underlying team members on Team Nic Microsoft Network Adapter Multiplexor Driver) – Source: MsLbfoSysEvtProvider / Event-ID 16945 Wenn man mittels PowerShell nach den MACs schaut bestätigt sich das auch schnell: Get-NetAdapter &#124; Sort MacAddress Als Lösung habe ich die MAC des Teams (mittels PowerShell, da es ein Core-Server ist) geändert: Get-NetAdapter “Name” &#124; Set-NetAdapter –MacAddress 00-00-00-00-00-00]]></description>
										<content:encoded><![CDATA[<p>Auf einem Test-Host unter Windows Server 2016 mit Hyper-V ist mir heute folgende Fehlermeldung im Eventlog aufgefallen:</p>
<p><a href="https://www.hertes.net/wp-content/uploads/2016/12/lbfo1.png"><img loading="lazy" decoding="async" title="lbfo1" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; border-left: 0px; display: block; padding-right: 0px; margin-right: auto" border="0" alt="lbfo1" src="https://www.hertes.net/wp-content/uploads/2016/12/lbfo1_thumb.png" width="644" height="449" /></a></p>
<p>(MAC Conflict: A port on the virtual switch has the same MAC as one of the underlying team members on Team Nic Microsoft Network Adapter Multiplexor Driver) – Source: MsLbfoSysEvtProvider / Event-ID 16945</p>
<p>Wenn man mittels PowerShell nach den MACs schaut bestätigt sich das auch schnell:</p>
<blockquote>
<p>Get-NetAdapter | Sort MacAddress</p>
</blockquote>
<p><a href="https://www.hertes.net/wp-content/uploads/2016/12/lbfo2.png"><img loading="lazy" decoding="async" title="lbfo2" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; border-left: 0px; display: block; padding-right: 0px; margin-right: auto" border="0" alt="lbfo2" src="https://www.hertes.net/wp-content/uploads/2016/12/lbfo2_thumb.png" width="644" height="172" /></a></p>
<p>Als Lösung habe ich die MAC des Teams (mittels PowerShell, da es ein Core-Server ist) geändert:</p>
<blockquote>
<p>Get-NetAdapter “Name” | Set-NetAdapter –MacAddress 00-00-00-00-00-00</p>
</blockquote>
<p><a href="https://www.hertes.net/wp-content/uploads/2016/12/lbfo3.png"><img loading="lazy" decoding="async" title="lbfo3" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; border-left: 0px; display: block; padding-right: 0px; margin-right: auto" border="0" alt="lbfo3" src="https://www.hertes.net/wp-content/uploads/2016/12/lbfo3_thumb.png" width="644" height="108" /></a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.hertes.net/2016/12/windows-server-nic-teaming-problem-mit-doppelter-mac-beheben/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Hyper-V-Server / Windows Server Core: Treiber via PowerShell installieren</title>
		<link>https://www.hertes.net/2016/06/hyper-v-server-windows-server-core-treiber-via-powershell-installieren/</link>
					<comments>https://www.hertes.net/2016/06/hyper-v-server-windows-server-core-treiber-via-powershell-installieren/#respond</comments>
		
		<dc:creator><![CDATA[Haiko]]></dc:creator>
		<pubDate>Thu, 23 Jun 2016 18:53:25 +0000</pubDate>
				<category><![CDATA[Hyper-V]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[Windows Server]]></category>
		<category><![CDATA[Windows Server 2012 R2]]></category>
		<category><![CDATA[Driver]]></category>
		<category><![CDATA[Script]]></category>
		<category><![CDATA[Skript]]></category>
		<category><![CDATA[Treiber]]></category>
		<guid isPermaLink="false">http://www.hertes.net/?p=3190</guid>

					<description><![CDATA[Wer einen Windows Server 2012 R2 als Core-Server oder den kostenfreien Hyper-V-Server 2012 R2 einsetzt, dem könnte folgendes Problem begegnen: Auf dem Server selber gibt es bekanntlich keine GUI und demnach auch keinen Gerätemanager. Und seit 2012 R2 lässt sich dieser auch nicht remote von einem grafischen Server aus ansprechen! Was nun also tun, wenn man Treiber installieren/aktualisieren/entfernen will? Dazu möchte ich hier einige Kommandos als Hilfestellung zusammentragen: &#160; Installation aller Treiber des aktuellen Verzeichnisses in das Treiber-Repository: Get-ChildItem -Recurse -Filter *.inf &#124; Select-Object FullName &#124; ForEach-Object {pnputil -a $_.FullName} Installation eines bestimmten Treibers: pnputil.exe -i -a C:\Pfad\zum\Treiber.inf (ACHTUNG: Installiert&#8230;]]></description>
										<content:encoded><![CDATA[<p>Wer einen Windows Server 2012 R2 als Core-Server oder den kostenfreien Hyper-V-Server 2012 R2 einsetzt, dem könnte folgendes Problem begegnen: Auf dem Server selber gibt es bekanntlich keine GUI und demnach auch keinen Gerätemanager. Und seit 2012 R2 lässt sich dieser auch nicht remote von einem grafischen Server aus ansprechen!</p>
<p>Was nun also tun, wenn man Treiber installieren/aktualisieren/entfernen will? Dazu möchte ich hier einige Kommandos als Hilfestellung zusammentragen:</p>
<p>&nbsp;</p>
<p><strong>Installation aller Treiber des aktuellen Verzeichnisses in das Treiber-Repository:</strong></p>
<p>Get-ChildItem -Recurse -Filter *.inf | Select-Object FullName | ForEach-Object {pnputil -a $_.FullName}</p>
<p><strong>Installation eines bestimmten Treibers:</strong></p>
<p>pnputil.exe -i -a C:\Pfad\zum\Treiber.inf</p>
<p>(ACHTUNG: Installiert diesen Treiber für alle &#8222;passenden&#8220; Geräte!)</p>
<p><strong>Auflisten aller Treiber im Repository (3rd Party):</strong></p>
<p>pnputil.exe -e</p>
<p><strong>Entfernen eines Treibers aus dem Repository:</strong></p>
<p>pnputil.exe -d oemX.inf (Name der INF-Datei über pnputil -e)</p>
<p><strong>Entfernen aller Treiber aus dem Repository:</strong></p>
<p>1..40 | ForEach-Object {pnputil.exe -d &#8222;oem$_.inf&#8220;} (Die Zahl 40 muss ausgetauscht werden durch die höchste Zahl aus pnputil -e)</p>
<p><strong>Ermitteln der Hardware-ID der Geräte einer bestimmten Geräteklasse (hier: Netzwerkkarten)</strong></p>
<p>devcon.exe listclass net</p>
<p><strong>Anzeigen des von einem Gerät benutzten Treibers:</strong></p>
<p>devcon.exe driverfiles &#8222;@PCI\VEN_8086&amp;DEV_10D3&amp;SUBSYS_040D15D9&amp;REV_00\4&amp;60B4255&amp;0&amp;00E4&#8220;</p>
<p><strong>Installation eines bestimmten Treibers für ein bestimmtes Gerät:</strong></p>
<p>devcon.exe /r install C:\Pfad\zum\Treiber.inf &#8222;@PCI\VEN_8086&amp;DEV_10D3&amp;SUBSYS_040D15D9&amp;REV_00\4&amp;60B4255&amp;0&amp;00E4&#8220;</p>
<p><strong>Entfernen eines konkreten Gerätes (nicht nur der Treiber!):</strong></p>
<p>devcon.exe /r remove &#8222;@PCI\VEN_8086&amp;DEV_10D3&amp;SUBSYS_040D15D9&amp;REV_00\4&amp;60B4255&amp;0&amp;00E4&#8220;</p>
<p><strong>Nach neuen Geräten suchen:</strong></p>
<p>devcon.exe rescan</p>
<p>&nbsp;</p>
<p><em>Für einige Varianten ist DevCon.exe nötig. Siehe dazu hier:</em></p>
<p>https://msdn.microsoft.com/de-de/library/windows/hardware/ff544707(v=vs.85).aspx</p>
<p>http://www.wintotal.de/tipparchiv/?id=2075</p>
<p>Der Artikel wird künftig weiter ergänzt&#8230;</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.hertes.net/2016/06/hyper-v-server-windows-server-core-treiber-via-powershell-installieren/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Hyper-V: PowerShell-Skript um nicht benutzte bzw. verwaiste VHD / VHDX Dateien zu finden</title>
		<link>https://www.hertes.net/2016/06/hyper-v-powershell-skript-um-nicht-benutzte-bzw-verwaiste-vhd-vhdx-dateien-zu-finden/</link>
					<comments>https://www.hertes.net/2016/06/hyper-v-powershell-skript-um-nicht-benutzte-bzw-verwaiste-vhd-vhdx-dateien-zu-finden/#respond</comments>
		
		<dc:creator><![CDATA[Haiko]]></dc:creator>
		<pubDate>Tue, 07 Jun 2016 18:13:38 +0000</pubDate>
				<category><![CDATA[Hyper-V]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[VHD]]></category>
		<category><![CDATA[VHDX]]></category>
		<guid isPermaLink="false">http://www.hertes.net/?p=3180</guid>

					<description><![CDATA[Auf einem Hyper-V System sammeln sich über die Jahre einige virtuelle Festplatten-Dateien im VHD- bzw. VHDX-Format an. Aber werden diese wirklich noch alle gebraucht? Das ist häufig schwer zu sagen, da insbesondere durch das Löschen von VMs nur deren Beschreibungs-Dateien, nicht aber die Festplatten gelöscht werden. Ähnliches kann passieren, wenn man die Replikation einer VM beendet. Um nun diejenigen VHDs, die von keiner VM mehr genutzt werden, zu finden, habe ich ein Skript geschrieben. Dieses berücksichtigt auch, dass sich mehrere VHD/VHDX Dateien in einer Differenzierungskette befinden könnten. Das Skript sowie eine Beschreibung findet ihr hier: https://gallery.technet.microsoft.com/scriptcenter/Get-AbandonedVHDs-V1-to-8bfb28d9 Dem Skript kann neben&#8230;]]></description>
										<content:encoded><![CDATA[<p>Auf einem Hyper-V System sammeln sich über die Jahre einige virtuelle Festplatten-Dateien im VHD- bzw. VHDX-Format an. Aber werden diese wirklich noch alle gebraucht? Das ist häufig schwer zu sagen, da insbesondere durch das Löschen von VMs nur deren Beschreibungs-Dateien, nicht aber die Festplatten gelöscht werden. Ähnliches kann passieren, wenn man die Replikation einer VM beendet.</p>
<p>Um nun diejenigen VHDs, die von keiner VM mehr genutzt werden, zu finden, habe ich ein Skript geschrieben. Dieses berücksichtigt auch, dass sich mehrere VHD/VHDX Dateien in einer Differenzierungskette befinden könnten.</p>
<p>Das Skript sowie eine Beschreibung findet ihr hier:</p>
<p><a title="https://gallery.technet.microsoft.com/scriptcenter/Get-AbandonedVHDs-V1-to-8bfb28d9" href="https://gallery.technet.microsoft.com/scriptcenter/Get-AbandonedVHDs-V1-to-8bfb28d9">https://gallery.technet.microsoft.com/scriptcenter/Get-AbandonedVHDs-V1-to-8bfb28d9</a></p>
<p>Dem Skript kann neben einem oder mehreren Suchordnern auch u.a. eine Option übergeben werden, die direkt die nicht benötigten Dateien löscht. Das ist aber nicht ganz ungefährlich, ggf. haben die VHDs ja eine andere Funktion und sind gar nicht für Hyper-V. Denkbar wäre z.B., dass ein iSCSI-Software-Target im Einsatz ist, oder aber auch die Windows Server Sicherung.</p>
<p><a href="https://www.hertes.net/wp-content/uploads/2016/06/script.png"><img loading="lazy" decoding="async" style="background-image: none; float: none; padding-top: 0px; padding-left: 0px; margin-left: auto; display: block; padding-right: 0px; margin-right: auto; border: 0px;" title="script" src="https://www.hertes.net/wp-content/uploads/2016/06/script_thumb.png" alt="script" width="636" height="480" border="0" /></a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.hertes.net/2016/06/hyper-v-powershell-skript-um-nicht-benutzte-bzw-verwaiste-vhd-vhdx-dateien-zu-finden/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Windows Server 2016 &#8211; Technical Preview 4</title>
		<link>https://www.hertes.net/2015/11/windows-server-2016-technical-preview-4/</link>
					<comments>https://www.hertes.net/2015/11/windows-server-2016-technical-preview-4/#respond</comments>
		
		<dc:creator><![CDATA[Haiko]]></dc:creator>
		<pubDate>Fri, 20 Nov 2015 06:39:00 +0000</pubDate>
				<category><![CDATA[Hyper-V]]></category>
		<category><![CDATA[System Center]]></category>
		<category><![CDATA[Windows Server]]></category>
		<category><![CDATA[Windows Server 2016]]></category>
		<category><![CDATA[Container]]></category>
		<category><![CDATA[Nested Virtualization]]></category>
		<category><![CDATA[Windows Server vNext / 2016]]></category>
		<guid isPermaLink="false">http://www.hertes.net/?p=3073</guid>

					<description><![CDATA[Seit ein paar Stunden ist die TP4 des künftigen Windows Server 2016 für die Öffentlichkeit verfügbar. Der Download kann u.a. über die MSDN oder das Eval-Center erfolgen: https://technet.microsoft.com/de-de/evalcenter/dn781243.aspx Eine der großen neu verfügbaren Funktionen ist “Hyper-V Container”. Damit das funktionieren kann, muss die Nested Virtualization möglich sein, die bereits seit kurzem in Windows 10 (Fast Ring) verfügbar ist. Weitere Informationen auf diesem Blog-Post des Lead Program Managers des Windows Server Programms: http://blogs.technet.com/b/virtualization/archive/2015/11/19/announcing-the-release-of-hyper-v-containers-in-windows-server-2016-technical-preview-4.aspx Weiterhin werden heute TP4-Releases der System Center Produkte erwartet. Es bleibt also spannend!]]></description>
										<content:encoded><![CDATA[<p>Seit ein paar Stunden ist die TP4 des künftigen Windows Server 2016 für die Öffentlichkeit verfügbar. Der Download kann u.a. über die MSDN oder das Eval-Center erfolgen:</p>
<p><a title="https://technet.microsoft.com/de-de/evalcenter/dn781243.aspx" href="https://technet.microsoft.com/de-de/evalcenter/dn781243.aspx">https://technet.microsoft.com/de-de/evalcenter/dn781243.aspx</a></p>
<p>Eine der großen neu verfügbaren Funktionen ist “Hyper-V Container”. Damit das funktionieren kann, muss die Nested Virtualization möglich sein, die bereits seit kurzem in Windows 10 (Fast Ring) verfügbar ist.</p>
<p>Weitere Informationen auf diesem Blog-Post des Lead Program Managers des Windows Server Programms:</p>
<p><a title="http://blogs.technet.com/b/virtualization/archive/2015/11/19/announcing-the-release-of-hyper-v-containers-in-windows-server-2016-technical-preview-4.aspx" href="http://blogs.technet.com/b/virtualization/archive/2015/11/19/announcing-the-release-of-hyper-v-containers-in-windows-server-2016-technical-preview-4.aspx">http://blogs.technet.com/b/virtualization/archive/2015/11/19/announcing-the-release-of-hyper-v-containers-in-windows-server-2016-technical-preview-4.aspx</a></p>
<p>Weiterhin werden heute TP4-Releases der System Center Produkte erwartet. Es bleibt also spannend!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.hertes.net/2015/11/windows-server-2016-technical-preview-4/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
