<?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>PowerShell Archive - Maximilian Krieg</title>
	<atom:link href="https://maximiliankrieg.de/tag/powershell/feed/" rel="self" type="application/rss+xml" />
	<link>https://maximiliankrieg.de/tag/powershell/</link>
	<description>Wissen, Technik &#38; Erfahrungen</description>
	<lastBuildDate>Fri, 29 May 2026 08:16:07 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://maximiliankrieg.de/wp-content/uploads/2026/05/cropped-20260524_logo_2_512-2-32x32.png</url>
	<title>PowerShell Archive - Maximilian Krieg</title>
	<link>https://maximiliankrieg.de/tag/powershell/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>PowerShell &#8211; NetTCPIP-Cmdlets</title>
		<link>https://maximiliankrieg.de/2026/05/powershell-nettcpip-cmdlets/</link>
					<comments>https://maximiliankrieg.de/2026/05/powershell-nettcpip-cmdlets/#respond</comments>
		
		<dc:creator><![CDATA[Maximilian]]></dc:creator>
		<pubDate>Wed, 13 May 2026 18:00:00 +0000</pubDate>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[NIC]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[troubleshooting]]></category>
		<category><![CDATA[windows]]></category>
		<guid isPermaLink="false">https://maximiliankrieg.de/?p=2096</guid>

					<description><![CDATA[<p>Im vorherigen Beitrag PowerShell – NIC-Konfiguration auslesen habe ich bereits einige nützliche PowerShell-Befehle vorgestellt und dabei eine Variable als Filter verwendet, um gezielt Informationen zu&#8230;</p>
<p>Der Beitrag <a href="https://maximiliankrieg.de/2026/05/powershell-nettcpip-cmdlets/">PowerShell &#8211; NetTCPIP-Cmdlets</a> erschien zuerst auf <a href="https://maximiliankrieg.de">Maximilian Krieg</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Im vorherigen Beitrag <a href="https://maximiliankrieg.de/2026/05/powershell-nic-konfiguration-auslesen/" type="post" id="1381">PowerShell – NIC-Konfiguration auslesen</a> habe ich bereits einige nützliche PowerShell-Befehle vorgestellt und dabei eine Variable als Filter verwendet, um gezielt Informationen zu einer bestimmten Netzwerkschnittstelle auszulesen. In diesem Artikel möchte ich die wichtigsten Cmdlets aus dem NetTCPIP-Modul nochmals gesammelt auflisten und kurz beschreiben</p>



<h2 class="wp-block-heading">Auflistung aller NetTCPIP-Cmdlets</h2>



<p class="wp-block-paragraph">Die folgenden Cmdlets decken zahlreiche Aufgaben rund um die TCP/IP-Konfiguration ab, darunter das Auslesen und Verwalten von IP-Adressen, Routingtabellen, Netzwerkinterfaces, TCP- und UDP-Einstellungen sowie Diagnose- und Verbindungsprüfungen. Sie eignen sich für Administratoren im täglichen Betrieb als auch für Troubleshooting- und Automatisierungsaufgaben.</p>



<p class="wp-block-paragraph">Zur besseren Orientierung sind alle Cmdlets alphabetisch nach dem jeweiligen Verb am Anfang des Befehls sortiert, beispielsweise <code>Get</code>, <code>Set</code>, <code>New</code>, <code>Remove</code> oder <code>Test</code>. Dadurch lassen sich passende Befehle schnell finden und logisch nach ihrer Funktion einordnen.</p>



<figure class="wp-block-table"><table><thead><tr><th>Cmdlet</th><th>Beschreibung</th></tr></thead><tbody><tr><td><code>Find-NetRoute</code></td><td>Findet die beste lokale IP-Adresse und die beste Route, um eine entfernte Adresse zu erreichen.</td></tr><tr><td><code>Get-NetCompartment</code></td><td>Ruft alle Netzwerk-Compartments im Protokollstack ab.</td></tr><tr><td><code>Get-NetIPAddress</code></td><td>Ruft die IP-Adresskonfiguration ab.</td></tr><tr><td><code>Get-NetIPConfiguration</code></td><td>Ruft die IP-Netzwerkkonfiguration ab.</td></tr><tr><td><code>Get-NetIPInterface</code></td><td>Ruft eine IP-Schnittstelle ab.</td></tr><tr><td><code>Get-NetIPv4Protocol</code></td><td>Ruft die IPv4-Protokollkonfigurationen ab.</td></tr><tr><td><code>Get-NetIPv6Protocol</code></td><td>Ruft die IPv6-Protokollkonfigurationen ab.</td></tr><tr><td><code>Get-NetNeighbor</code></td><td>Ruft Einträge des Neighbor-Cache ab.</td></tr><tr><td><code>Get-NetOffloadGlobalSetting</code></td><td>Ruft die globalen TCP/IP-Offload-Einstellungen ab.</td></tr><tr><td><code>Get-NetPrefixPolicy</code></td><td>Ruft die Präfixrichtlinie ab.</td></tr><tr><td><code>Get-NetRoute</code></td><td>Ruft die IP-Routeninformationen aus der Routingtabelle ab.</td></tr><tr><td><code>Get-NetTCPConnection</code></td><td>Ruft TCP-Verbindungen ab.</td></tr><tr><td><code>Get-NetTCPSetting</code></td><td>Ruft Informationen zu TCP-Einstellungen und -Konfigurationen ab.</td></tr><tr><td><code>Get-NetTransportFilter</code></td><td>Ruft Transportfilter ab.</td></tr><tr><td><code>Get-NetUDPEndpoint</code></td><td>Ruft aktuelle UDP-Endpunkt-Statistiken ab.</td></tr><tr><td><code>Get-NetUDPSetting</code></td><td>Ruft UDP-Einstellungen ab.</td></tr><tr><td><code>New-NetIPAddress</code></td><td>Erstellt und konfiguriert eine IP-Adresse.</td></tr><tr><td><code>New-NetNeighbor</code></td><td>Erstellt einen Neighbor-Cache-Eintrag.</td></tr><tr><td><code>New-NetRoute</code></td><td>Erstellt eine Route in der IP-Routingtabelle.</td></tr><tr><td><code>New-NetTransportFilter</code></td><td>Erstellt einen Transportfilter.</td></tr><tr><td><code>Remove-NetIPAddress</code></td><td>Entfernt eine IP-Adresse und deren Konfiguration.</td></tr><tr><td><code>Remove-NetNeighbor</code></td><td>Entfernt Neighbor-Cache-Einträge.</td></tr><tr><td><code>Remove-NetRoute</code></td><td>Entfernt IP-Routen aus der IP-Routingtabelle.</td></tr><tr><td><code>Remove-NetTransportFilter</code></td><td>Entfernt Transportfilter.</td></tr><tr><td><code>Set-NetIPAddress</code></td><td>Ändert die Konfiguration einer IP-Adresse.</td></tr><tr><td><code>Set-NetIPInterface</code></td><td>Ändert eine IP-Schnittstelle.</td></tr><tr><td><code>Set-NetIPv4Protocol</code></td><td>Ändert Informationen zur IPv4-Protokollkonfiguration.</td></tr><tr><td><code>Set-NetIPv6Protocol</code></td><td>Ändert die IPv6-Protokollkonfiguration.</td></tr><tr><td><code>Set-NetNeighbor</code></td><td>Ändert einen Neighbor-Cache-Eintrag.</td></tr><tr><td><code>Set-NetOffloadGlobalSetting</code></td><td>Ändert die globalen TCP/IP-Offload-Einstellungen.</td></tr><tr><td><code>Set-NetRoute</code></td><td>Ändert einen oder mehrere Einträge in der IP-Routingtabelle.</td></tr><tr><td><code>Set-NetTCPSetting</code></td><td>Ändert eine TCP-Einstellung.</td></tr><tr><td><code>Set-NetUDPSetting</code></td><td>Ändert UDP-Einstellungen.</td></tr><tr><td><code>Test-NetConnection</code></td><td>Zeigt Diagnoseinformationen für eine Verbindung an.</td></tr></tbody></table></figure>



<h2 class="wp-block-heading">Vergleich PowerShell zu klassischer CMD</h2>



<p class="wp-block-paragraph">Bei der Durchsicht und Ausführung der Befehle ist mir dabei aufgefallen, dass viele PowerShell-Befehle ähnliche Informationen liefern wie die klassischen Netzwerkbefehle aus der Windows-Eingabeaufforderung CMD. Die folgende Tabelle liefert daher eine Gegenüberstellung zwischen klassischen Netzwerkbefehlen und den entsprechenden PowerShell-Cmdlets.</p>



<figure class="wp-block-table"><table><thead><tr><th>Klassischer CMD-Befehl</th><th>PowerShell-Cmdlet</th><th>Beschreibung</th></tr></thead><tbody><tr><td><code>ipconfig</code></td><td><code>Get-NetIPConfiguration</code></td><td>Zeigt die Netzwerkkonfiguration eines Systems an.</td></tr><tr><td><code>ipconfig /all</code></td><td><code>Get-NetIPConfiguration</code> <br><code>Get-NetIPAddress</code></td><td>Zeigt detaillierte Informationen zu Adaptern, IP-Adressen, DNS und Gateways.</td></tr><tr><td><code>netstat</code></td><td><code>Get-NetTCPConnection</code></td><td>Zeigt aktive TCP-Verbindungen und deren Status an.</td></tr><tr><td><code>route print</code></td><td><code>Get-NetRoute</code></td><td>Zeigt die Routingtabelle des Systems an.</td></tr><tr><td><code>arp -a</code></td><td><code>Get-NetNeighbor</code></td><td>Zeigt ARP- bzw. Neighbor-Cache-Einträge an.</td></tr><tr><td><code>ping</code></td><td><code>Test-NetConnection</code></td><td>Prüft die Erreichbarkeit eines Systems oder Dienstes.</td></tr><tr><td><code>tracert</code></td><td><code>Test-NetConnection -TraceRoute</code></td><td>Führt eine Traceroute zu einem Zielsystem aus.</td></tr><tr><td><code>hostname</code></td><td><code>$env:COMPUTERNAME</code></td><td>Zeigt den Computernamen an.</td></tr><tr><td><code>nslookup</code></td><td><code>Resolve-DnsName</code></td><td>Führt DNS-Abfragen durch.</td></tr><tr><td><code>netsh interface ipv4 show interfaces</code></td><td><code>Get-NetIPInterface</code></td><td>Zeigt IP-Interfaces und deren Eigenschaften an.</td></tr><tr><td><code>netsh interface ipv4 show config</code></td><td><code>Get-NetIPConfiguration</code></td><td>Zeigt die IPv4-Konfiguration der Netzwerkschnittstellen an.</td></tr><tr><td><code>netsh wlan show profiles</code></td><td><code>Get-NetAdapter</code> <em>(teilweise vergleichbar)</em></td><td>Zeigt Netzwerkadapter an. WLAN-Profile selbst benötigen meist weiterhin <code>netsh</code>.</td></tr><tr><td><code>systeminfo</code></td><td><code>Get-ComputerInfo</code></td><td>Zeigt allgemeine Systeminformationen an.</td></tr></tbody></table></figure>



<h2 class="wp-block-heading">Quelle</h2>



<ul class="wp-block-list">
<li><a href="https://learn.microsoft.com/en-us/powershell/module/nettcpip/?view=windowsserver2025-ps">NetTCPIP Module | Microsoft Learn</a></li>
</ul>
<p>Der Beitrag <a href="https://maximiliankrieg.de/2026/05/powershell-nettcpip-cmdlets/">PowerShell &#8211; NetTCPIP-Cmdlets</a> erschien zuerst auf <a href="https://maximiliankrieg.de">Maximilian Krieg</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://maximiliankrieg.de/2026/05/powershell-nettcpip-cmdlets/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>PowerShell &#8211; NIC-Konfiguration auslesen</title>
		<link>https://maximiliankrieg.de/2026/02/powershell-nic-konfiguration-auslesen/</link>
					<comments>https://maximiliankrieg.de/2026/02/powershell-nic-konfiguration-auslesen/#respond</comments>
		
		<dc:creator><![CDATA[Maximilian]]></dc:creator>
		<pubDate>Wed, 25 Feb 2026 19:00:00 +0000</pubDate>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[NIC]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[troubleshooting]]></category>
		<category><![CDATA[windows]]></category>
		<guid isPermaLink="false">https://maximiliankrieg.de/?p=1381</guid>

					<description><![CDATA[<p>Bei einer Fehleranalyse musste ich die aktuelle Konfiguration einer Netzwerkkarte unter Windows direkt per Kommandozeile auslesen. Gerade bei Netzwerkproblemen liefert die CLI oft deutlich detailliertere&#8230;</p>
<p>Der Beitrag <a href="https://maximiliankrieg.de/2026/02/powershell-nic-konfiguration-auslesen/">PowerShell &#8211; NIC-Konfiguration auslesen</a> erschien zuerst auf <a href="https://maximiliankrieg.de">Maximilian Krieg</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Bei einer Fehleranalyse musste ich die aktuelle Konfiguration einer Netzwerkkarte unter Windows direkt per Kommandozeile auslesen. Gerade bei Netzwerkproblemen liefert die CLI oft deutlich detailliertere Informationen als die grafische Oberfläche – und eignet sich außerdem perfekt für Remote-Analysen, Dokumentationen oder schnelle Vergleiche von Systemzuständen.</p>



<p class="wp-block-paragraph">Gerade bei Remote-Analysen oder komplexeren Netzwerkproblemen ist die PowerShell oft deutlich praktischer als die grafische Oberfläche. In diesem Beitrag zeige ich, wie sich <code>Get-NetAdapter</code> sinnvoll einsetzen lässt und welche Informationen bei der Fehlersuche besonders hilfreich sind.</p>



<h2 class="wp-block-heading">Abfrage der Netzwerkadapter </h2>



<p class="wp-block-paragraph">Zunächst beziehen wir die Interface-Informationen der vorhandenen Netzwerkadapter. Besonders interessant ist dabei der Interface-Index, da dieser von vielen weiteren PowerShell-Netzwerkbefehlen zur eindeutigen Identifikation des Adapters verwendet wird. In dem konkreten Fall haben wir jedoch mit dem Interface-Namen gearbeitet.</p>



<pre class="wp-block-code"><code>PS C:\Windows\System32&gt; Get-NetAdapter

Name                      InterfaceDescription                    ifIndex Status       MacAddress             LinkSpeed
----                      --------------------                    ------- ------       ----------             ---------
WLAN                      Intel(R) Wi-Fi 6 AX203                       11 Up           XX-XX-XX-A5-A8-XX       1.2 Gbps
Bluetooth-Netzwerkverb... Bluetooth Device (Personal Area Netw...      10 Disconnected XX-XX-XX-XX-XX-XX         3 Mbps
Ethernet                  Realtek PCIe GbE Family Controller            3 Disconnected XX-XX-XX-XX-XX-X          0 bps</code></pre>



<h2 class="wp-block-heading">Abfrage-Skript mit Variable</h2>



<p class="wp-block-paragraph">Das Interface, welches wir uns genauer anschauen möchten, trägt in diesem Beispiel den Namen <code>WLAN</code>. Daher setzen wir den entsprechenden Interface-Namen in der PowerShell-Variable ein und führen anschließend die folgenden Befehle aus. Damit lassen sich unter anderem Adapterstatus, IP-Konfiguration, DNS-Server, erweiterte Adaptereigenschaften sowie aktive Netzwerkbindungen auslesen.</p>



<pre class="wp-block-code"><code>PS C:\Windows\System32> 

$if = "WLAN"

Get-NetAdapter -Name $if
Get-NetIPConfiguration -InterfaceAlias $if
Get-NetIPAddress -InterfaceAlias $if
Get-NetAdapterAdvancedProperty -Name $if
Get-DnsClientServerAddress -InterfaceAlias $if
Get-NetAdapterBinding -Name $if
Get-NetConnectionProfile -InterfaceAlias $if
Get-NetAdapterStatistics -Name $if
Get-NetIPInterface -InterfaceAlias $if
Get-NetRoute -InterfaceAlias $if
Get-NetNeighbor -InterfaceAlias $if

Remove-Variable if</code></pre>



<p class="wp-block-paragraph">Durch die Verwendung einer gemeinsamen Interface-Variable lassen sich die Befehle außerdem einfach wiederverwenden und flexibel auf andere Netzwerkadapter anwenden. </p>



<h2 class="wp-block-heading">Beschreibung der Cmdlets</h2>



<p class="wp-block-paragraph">Die folgende Tabelle beschreibt nochmals, welche Informationen die jeweiligen Befehle liefern. Dabei überschneiden sich einige Ausgaben bewusst, da bestimmte Informationen von mehreren Cmdlets bereitgestellt werden oder unterschiedlich detailliert dargestellt sind.</p>



<figure class="wp-block-table"><table><thead><tr><th>Befehl</th><th>Beschreibung</th></tr></thead><tbody><tr><td><code>Get-NetIPConfiguration</code></td><td>Zeigt die vollständige IP-Konfiguration des Interfaces an, inklusive IPv4-/IPv6-Adresse, Standardgateway und DNS-Server.</td></tr><tr><td><code>Get-NetAdapter</code></td><td>Liefert allgemeine Informationen zum Netzwerkadapter, beispielsweise Name, Status, MAC-Adresse, Link-Geschwindigkeit und Interface-Index.</td></tr><tr><td><code>Get-NetAdapterAdvancedProperty</code><br></td><td>Zeigt erweiterte Eigenschaften des Netzwerkadapters an, beispielsweise VLAN-Konfigurationen, Offloading-Optionen oder Energieeinstellungen.</td></tr><tr><td><code>Get-NetIPAddress</code></td><td>Listet ausschließlich die konfigurierten IP-Adressen des Interfaces auf. Hilfreich zur schnellen Prüfung von IPv4-/IPv6-Konfigurationen.</td></tr><tr><td><code>Get-DnsClientServerAddress</code></td><td>Liefert die konfigurierten DNS-Server des Interfaces für IPv4 und IPv6.</td></tr><tr><td><code>Get-NetAdapterBinding</code></td><td>Zeigt, welche Netzwerkprotokolle und Dienste an den Adapter gebunden sind, beispielsweise IPv4, IPv6 oder LLDP.</td></tr><tr><td><code>Get-NetConnectionProfile</code></td><td>Zeigt das aktuelle Netzwerkprofil des Interfaces an, beispielsweise Öffentlich, Privat oder Domäne.</td></tr><tr><td><code>Get-NetAdapterStatistics</code></td><td>Liefert Statistiken zum Netzwerkadapter, etwa gesendete/empfangene Pakete, Fehler oder verworfene Frames.</td></tr><tr><td><code>Get-NetIPInterface</code></td><td>Zeigt Interface-spezifische IP-Einstellungen wie MTU, Interface-Metrik oder DHCP-Status an.</td></tr><tr><td><code>Get-NetRoute</code></td><td>Listet die Routing-Einträge des Interfaces auf und zeigt, über welche Gateways Ziele erreicht werden.</td></tr><tr><td><code>Get-NetNeighbor</code></td><td>Zeigt den Neighbor-/ARP-Cache des Interfaces an, also bekannte IP-zu-MAC-Adresszuordnungen im lokalen Netzwerk.</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">Viele der gezeigten Befehle liefern bereits ohne zusätzliche Tools wertvolle Informationen für die Fehlersuche und ermöglichen eine schnelle erste Einschätzung der Netzwerksituation.</p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"></p>
<p>Der Beitrag <a href="https://maximiliankrieg.de/2026/02/powershell-nic-konfiguration-auslesen/">PowerShell &#8211; NIC-Konfiguration auslesen</a> erschien zuerst auf <a href="https://maximiliankrieg.de">Maximilian Krieg</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://maximiliankrieg.de/2026/02/powershell-nic-konfiguration-auslesen/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Nichtrekursive Suche nach Verzeichnissen mit PowerShell</title>
		<link>https://maximiliankrieg.de/2016/10/2413/</link>
					<comments>https://maximiliankrieg.de/2016/10/2413/#respond</comments>
		
		<dc:creator><![CDATA[Maximilian]]></dc:creator>
		<pubDate>Wed, 26 Oct 2016 21:02:00 +0000</pubDate>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[PowerShell]]></category>
		<guid isPermaLink="false">https://maximiliankrieg.de/?p=2413</guid>

					<description><![CDATA[<p>Vor Kurzem wurde ich gefragt, ob es möglich sei, mit einem PowerShell-Skript einen vordefinierten Pfad nach einem&#160;Verzeichnis mit einem bestimmten Namen zu durchsuchen und den&#8230;</p>
<p>Der Beitrag <a href="https://maximiliankrieg.de/2016/10/2413/">Nichtrekursive Suche nach Verzeichnissen mit PowerShell</a> erschien zuerst auf <a href="https://maximiliankrieg.de">Maximilian Krieg</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Vor Kurzem wurde ich gefragt, ob es möglich sei, mit einem PowerShell-Skript einen vordefinierten Pfad nach einem&nbsp;Verzeichnis mit einem bestimmten Namen zu durchsuchen und den vollständigen Pfad bei einem Treffer auszugeben. In diesem Artikel zeige ich die von mir vorgeschlagene Variante des PowerShell-Skripts.</p>



<h2 class="wp-block-heading">Skript</h2>



<p class="wp-block-paragraph">Der folgende Code zeigt einen Ausschnitt eines komplexeren Skripts:</p>



<pre class="wp-block-code"><code>$targetPath = "C:\Users\myUser\Desktop"

$directoryList = Get-ChildItem -Path $targetPath -Directory

$dirName = "Test"

foreach ($dir in $directoryList){

    if ($dirName -eq ($dir.ToString())){
        echo "Treffer!"
        echo $dir.FullName.ToString();
        ## Hier kommen weitere Operationen, um das Objekt $dir zu manipulieren ##
        break
    }
    else
    {
        # echo "Bin ich nicht!"
    }

}</code></pre>



<p class="wp-block-paragraph">Die Suche nach dem Verzeichnis ist theoretisch auch ohne Schleife möglich, war aber eine Voraussetzung der ursprünglichen&nbsp;Aufgabenstellung.</p>



<h2 class="wp-block-heading">Rückgabewert</h2>



<p class="wp-block-paragraph">Führt man das Skript in PowerShell aus, so liefert es den folgenden Rückgabewert:</p>



<pre class="wp-block-code"><code>PS C:\Users\myUser\Desktop&gt; C:\Users\myUser\Desktop\myScript.ps1
Treffer!
C:\Users\myUser\Desktop\Test</code></pre>
<p>Der Beitrag <a href="https://maximiliankrieg.de/2016/10/2413/">Nichtrekursive Suche nach Verzeichnissen mit PowerShell</a> erschien zuerst auf <a href="https://maximiliankrieg.de">Maximilian Krieg</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://maximiliankrieg.de/2016/10/2413/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Powershell &#8211; Ausführen von Dateien mit Leerzeichen im Pfad</title>
		<link>https://maximiliankrieg.de/2014/08/powershell-ausfuehren-von-dateien-mit-leerzeichen-im-pfad/</link>
					<comments>https://maximiliankrieg.de/2014/08/powershell-ausfuehren-von-dateien-mit-leerzeichen-im-pfad/#respond</comments>
		
		<dc:creator><![CDATA[Maximilian]]></dc:creator>
		<pubDate>Mon, 25 Aug 2014 20:54:00 +0000</pubDate>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[PowerShell]]></category>
		<guid isPermaLink="false">https://maximiliankrieg.de/?p=2409</guid>

					<description><![CDATA[<p>Die PowerShell ist ein mächtiges Werkzeug und erlaubt es uns einfache Befehle auszuführen und komplexe Skripte zu bauen. Dabei kann es vorkommen, dass man eine&#8230;</p>
<p>Der Beitrag <a href="https://maximiliankrieg.de/2014/08/powershell-ausfuehren-von-dateien-mit-leerzeichen-im-pfad/">Powershell &#8211; Ausführen von Dateien mit Leerzeichen im Pfad</a> erschien zuerst auf <a href="https://maximiliankrieg.de">Maximilian Krieg</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Die PowerShell ist ein mächtiges Werkzeug und erlaubt es uns einfache Befehle auszuführen und komplexe Skripte zu bauen. Dabei kann es vorkommen, dass man eine ausführbare Datei aufrufen muss. Wie man das macht, wird in diesem Eintrag erklärt.</p>



<h2 class="wp-block-heading">Symptom</h2>



<p class="wp-block-paragraph">Ich möchte eine Datei ausführen, die in einem Pfad liegt, der Leerzeichen enthält. Als Beispiel hierfür habe ich die putty.exe in einem solchen Pfad abgelegt und versuche sie mit&nbsp;<code>C:\Users\putty\Downloads\Achtung Leerzeichen\putty.exe</code>&nbsp;auszuführen.</p>



<pre class="wp-block-code"><code>&gt; C:\Users\putty\Downloads\Achtung Leerzeichen\putty.exe

C:\Users\putty\Downloads\Achtung : Die Benennung "C:\Users\putty\Downloads\Achtung" wurde nicht als Name eines Cmdlet, einer Funktion, einer Skriptdatei oder eines ausführbaren Programms erkannt. Überprüfen Sie die Schreibweise des Namens, oder ob der Pfad korrekt ist (sofern enthalten), und wiederholen Sie den Vorgang.
In Zeile:1 Zeichen:1
+ C:\Users\putty\Downloads\Achtung Leerzeichen\putty.exe
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (C:\Users\putty\Downloads\Achtung:String) &#91;], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException</code></pre>



<h2 class="wp-block-heading">Problem</h2>



<p class="wp-block-paragraph">Pfade sollten immer mit Anführungszeichen versehen werden. Korrigieren wir also unseren Aufruf zu&nbsp;<code>"C:\Users\putty\Downloads\Achtung Leerzeichen\putty.exe"</code></p>



<pre class="wp-block-code"><code>&gt; "C:\Users\putty\Downloads\Achtung Leerzeichen\putty.exe"

C:\Users\putty\Downloads\Achtung Leerzeichen\putty.exe</code></pre>



<p class="wp-block-paragraph">Wir haben also ein Echo unserer Eingabe erzeugt. Das ist schon mal besser als vorher. Verwenden wir nun noch den Call-Operator &#8222;&amp;&#8220;, dann sollte es nun klappen. Wir geben also&nbsp;<code>&amp; "C:\Users\putty\Downloads\Achtung Leerzeichen\putty.exe"</code>&nbsp;ein und sehen, dass sich das Programm öffnet.</p>



<h2 class="wp-block-heading">Lösungstrategie</h2>



<p class="wp-block-paragraph">Wenn wir eine Datei ausführen wollen geben wir die Pfade in Anführungszeichen an und setzen ein &amp; davor.</p>
<p>Der Beitrag <a href="https://maximiliankrieg.de/2014/08/powershell-ausfuehren-von-dateien-mit-leerzeichen-im-pfad/">Powershell &#8211; Ausführen von Dateien mit Leerzeichen im Pfad</a> erschien zuerst auf <a href="https://maximiliankrieg.de">Maximilian Krieg</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://maximiliankrieg.de/2014/08/powershell-ausfuehren-von-dateien-mit-leerzeichen-im-pfad/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Verbindung zum Windows Remote Management schlägt fehl</title>
		<link>https://maximiliankrieg.de/2014/08/verbindung-zum-windows-remote-management-schlaegt-fehl/</link>
					<comments>https://maximiliankrieg.de/2014/08/verbindung-zum-windows-remote-management-schlaegt-fehl/#respond</comments>
		
		<dc:creator><![CDATA[Maximilian]]></dc:creator>
		<pubDate>Thu, 21 Aug 2014 20:17:00 +0000</pubDate>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[winrm]]></category>
		<guid isPermaLink="false">https://maximiliankrieg.de/?p=1221</guid>

					<description><![CDATA[<p>PowerShell von Microsoft ist eine Kommandozeilenanwendung, die einen deutlich größeren Funktionsumfang als die klassische cmd.exe besitzt. Mit Hilfe des Windows Remote Management (WinRM) lassen sich&#8230;</p>
<p>Der Beitrag <a href="https://maximiliankrieg.de/2014/08/verbindung-zum-windows-remote-management-schlaegt-fehl/">Verbindung zum Windows Remote Management schlägt fehl</a> erschien zuerst auf <a href="https://maximiliankrieg.de">Maximilian Krieg</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">PowerShell von Microsoft ist eine Kommandozeilenanwendung, die einen deutlich größeren Funktionsumfang als die klassische cmd.exe besitzt. Mit Hilfe des Windows Remote Management (WinRM) lassen sich remote PowerShell-Skripts ausführen und Windows-Systeme verwalten. Normalerweise lässt sich dies auch schnell und einfach einrichten. Bei Problemen ist die Fehlermeldung kryptisch und gibt keinen Aufschluss auf das eigentliche Problem. In diesem Beitrag will ich einen Lösungsansatz beschreiben.</p>



<h3 class="wp-block-heading">Symptom</h3>



<p class="wp-block-paragraph">Obwohl WinRM korrekt konfiguriert wurde, der Dienst auf dem Zielsystem läuft und ein Ping mit dem System erfolgreich ist, schlägt der Verbindungsaufbau mit dem Dienst über&nbsp;<code>test-wsman server-1</code>&nbsp;fehl.</p>



<pre class="wp-block-code"><code>&gt;test-wsman server-1

test-wsman : The client cannot connect to the destination specified in the request. Verify that the service on the destination is running and is accepting requests. Consult the logs and documentation for the WS-Management service running on the destination, most commonly IIS or WinRM. If the destination is the WinRM service, run the following command on the destination to analyze and configure the WinRM service: "winrm quickconfig".
At line:1 char:1
+ test-wsman server-1
+ ~~~~~~~~~~~~~~~
+ CategoryInfo          : InvalidOperation: (server-1:String) &#91;Test-WSMan], InvalidOperationException
+ FullyQualifiedErrorId : WsManError,Microsoft.WSMan.Management.TestWSManCommand</code></pre>



<h3 class="wp-block-heading">Problem</h3>



<p class="wp-block-paragraph">Nachdem sichergestellt ist, dass beide Systeme miteinander kommunizieren können und die Firewall korrekt konfiguriert wurde, kann man noch prüfen, ob die eingehenden Pakete überhaupt an den richtigen Port adressiert werden. Die Überprüfung mit&nbsp;<code>winrm e winrm/config/listener</code>&nbsp;ergibt, dass der WinRM-Dienst auf Port 80 gebunden ist. Die Anfragen gehen jedoch standardmäßig auf Port 5985 ein.</p>



<pre class="wp-block-code"><code>&gt;winrm e winrm/config/listener

Listener
	Adress = *
	Transport = HTTP
	Port = 80
	Hostname
	Enabled = true
	URLPrefix = wsman
	CertificateThumbrint
	ListeningOn = 127.0.0.1, 192.168.1.50, &#91;..]
	
Listener &#91;Source="Compatibility"]
	Adress = *
	Transport = HTTP
	Port = 80
	Hostname
	Enabled = true
	URLPrefix = wsman
	CertificateThumbrint
	ListeningOn = 127.0.0.1, 192.168.1.50, &#91;..]</code></pre>



<h3 class="wp-block-heading">Lösungstrategie</h3>



<p class="wp-block-paragraph">Die Korrektur des Listeners auf Port 5985 löst das Problem, wir verwenden dafür den Befehl&nbsp;<code>winrm set winrm/config/Listener?Address=*+Transport=HTTP @{Port="5985"}</code>.</p>
<p>Der Beitrag <a href="https://maximiliankrieg.de/2014/08/verbindung-zum-windows-remote-management-schlaegt-fehl/">Verbindung zum Windows Remote Management schlägt fehl</a> erschien zuerst auf <a href="https://maximiliankrieg.de">Maximilian Krieg</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://maximiliankrieg.de/2014/08/verbindung-zum-windows-remote-management-schlaegt-fehl/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
