<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.wingeav.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Rueling</id>
	<title>MyWiki - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.wingeav.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Rueling"/>
	<link rel="alternate" type="text/html" href="https://wiki.wingeav.de/index.php/Spezial:Beitr%C3%A4ge/Rueling"/>
	<updated>2026-04-17T12:47:26Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://wiki.wingeav.de/index.php?title=Storage_Spaces_Direct_(S2D)_Migration_auf_neuen_Cluster&amp;diff=274</id>
		<title>Storage Spaces Direct (S2D) Migration auf neuen Cluster</title>
		<link rel="alternate" type="text/html" href="https://wiki.wingeav.de/index.php?title=Storage_Spaces_Direct_(S2D)_Migration_auf_neuen_Cluster&amp;diff=274"/>
		<updated>2025-10-10T14:31:44Z</updated>

		<summary type="html">&lt;p&gt;Rueling: Die Seite wurde neu angelegt: „Hier wird die Einrichtung bzw. Migration eines Storage Spaces Direct (S2D) Clusters beschrieben  == Einrichtung Windows Server ==  Install-WindowsFeature -Name &amp;quot;Hyper-V&amp;quot;, &amp;quot;Failover-Clustering&amp;quot;, &amp;quot;Data-Center-Bridging&amp;quot;, &amp;quot;RSAT-Clustering-PowerShell&amp;quot;, &amp;quot;Hyper-V-PowerShell&amp;quot;, &amp;quot;FS-FileServer&amp;quot;,&amp;quot;Hyper-V-Tools&amp;quot;,&amp;quot;RSAT-Clustering-Mgmt&amp;quot;   Test-Cluster -Node server-s2d-p1, server-s2d-p2, server-s2d-p3, server-s2d-p4 -Include &amp;quot;Storage Spaces Direct&amp;quot;,&amp;quot;inventory&amp;quot;,&amp;quot;Network&amp;quot;…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier wird die Einrichtung bzw. Migration eines Storage Spaces Direct (S2D) Clusters beschrieben&lt;br /&gt;
&lt;br /&gt;
== Einrichtung Windows Server ==&lt;br /&gt;
 Install-WindowsFeature -Name &amp;quot;Hyper-V&amp;quot;, &amp;quot;Failover-Clustering&amp;quot;, &amp;quot;Data-Center-Bridging&amp;quot;, &amp;quot;RSAT-Clustering-PowerShell&amp;quot;, &amp;quot;Hyper-V-PowerShell&amp;quot;, &amp;quot;FS-FileServer&amp;quot;,&amp;quot;Hyper-V-Tools&amp;quot;,&amp;quot;RSAT-Clustering-Mgmt&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 Test-Cluster -Node server-s2d-p1, server-s2d-p2, server-s2d-p3, server-s2d-p4 -Include &amp;quot;Storage Spaces Direct&amp;quot;,&amp;quot;inventory&amp;quot;,&amp;quot;Network&amp;quot;,&amp;quot;System Configuration&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 New-VMSwitch -Name VMNetwork -AllowManagementOS $false -NetAdapterName &amp;quot;VMNetwork1&amp;quot;,&amp;quot;VMNetwork2&amp;quot; -EnableEmbeddedTeaming $true&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
- Auf SWITCH-S2D-P1 und P2 auf den jeweiligen Ports MTU auf 9000 setzen und den Port korrekt benennen&amp;lt;br&amp;gt;&lt;br /&gt;
- VLAN konfigurieren&lt;br /&gt;
&lt;br /&gt;
SMB1 Interface als Management und als Cluster SMB verwenden. Das wird erreicht, in den es als virtueller Switch konfiguriert wird und noch ein MGMT Adapter hinzugefügt wird&lt;br /&gt;
 New-VMSwitch -Name SMB1 -AllowManagementOS $true -NetAdapterName &amp;quot;SMB1&amp;quot;&lt;br /&gt;
 Add-VMNetworkAdapter –ManagementOS –Name &amp;quot;MGMT&amp;quot; –SwitchName &amp;quot;SMB1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 Enable-NetAdapterRdma -Name &amp;quot;vEthernet (SMB1)&amp;quot;&lt;br /&gt;
 Enable-NetAdapterRdma -Name SMB2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Set-NetQosDcbxSetting -Willing 0 -Confirm:$false&lt;br /&gt;
 New-NetQosPolicy &amp;quot;SMBDirect&amp;quot; -NetDirectPortMatchCondition 445 -PriorityValue8021Action 3&lt;br /&gt;
 Enable-NetQosFlowControl -Priority 3&lt;br /&gt;
&lt;br /&gt;
 Set-NetAdapterAdvancedProperty -Name &amp;quot;SMB2&amp;quot; -RegistryKeyword &amp;quot;*JumboPacket&amp;quot; -RegistryValue 9014 &lt;br /&gt;
 Set-NetAdapterAdvancedProperty -Name &amp;quot;SMB2&amp;quot; -RegistryKeyword &amp;quot;*FlowControl&amp;quot; -RegistryValue 3 # = RoCEv1&lt;br /&gt;
 Set-NetAdapterAdvancedProperty -Name &amp;quot;SMB2&amp;quot; -RegistryKeyword &amp;quot;VlanID&amp;quot; -RegistryValue 72&lt;br /&gt;
 Set-NetAdapterAdvancedProperty -Name &amp;quot;SMB2&amp;quot; -RegistryKeyword &amp;quot;*NetworkDirectTechnology&amp;quot; -RegistryValue 3&lt;br /&gt;
&lt;br /&gt;
 Set-NetAdapterAdvancedProperty -Name &amp;quot;vEthernet (SMB1)&amp;quot; -RegistryKeyword &amp;quot;*JumboPacket&amp;quot; -RegistryValue 9014 &lt;br /&gt;
 Set-NetAdapterAdvancedProperty -Name &amp;quot;vEthernet (SMB1)&amp;quot; -RegistryKeyword &amp;quot;*NetworkDirect&amp;quot; -RegistryValue 1&lt;br /&gt;
 Set-NetAdapterAdvancedProperty -Name &amp;quot;SMB1&amp;quot; -RegistryKeyword &amp;quot;*JumboPacket&amp;quot; -RegistryValue 9014 &lt;br /&gt;
 Set-NetAdapterAdvancedProperty -Name &amp;quot;SMB1&amp;quot; -RegistryKeyword &amp;quot;*FlowControl&amp;quot; -RegistryValue 3 # = RoCEv1&lt;br /&gt;
 Set-NetAdapterAdvancedProperty -Name &amp;quot;SMB1&amp;quot; -RegistryKeyword &amp;quot;*NetworkDirectTechnology&amp;quot; -RegistryValue 3&lt;br /&gt;
&lt;br /&gt;
 Set-VMNetworkAdapterVlan -ManagementOS -VlanId 11 -VMNetworkAdapterName SMB1 -Access&lt;br /&gt;
&lt;br /&gt;
 New-NetIPAddress -InterfaceIndex (Get-NetAdapter -Name &amp;quot;vEthernet (SMB1)&amp;quot;).ifIndex -IPAddress 192.168.11.90 -AddressFamily IPv4 -PrefixLength 24&lt;br /&gt;
 New-NetIPAddress -InterfaceIndex (Get-NetAdapter -Name &amp;quot;SMB2&amp;quot;).ifIndex             -IPAddress 192.168.12.90 -AddressFamily IPv4 -PrefixLength 24&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 New-Cluster -Name cluster-s2d-p3 -Node server-s2d-p5, server-s2d-p6, server-s2d-p7, server-s2d-p8 -NoStorage -StaticAddress 192.168.100.129&lt;br /&gt;
- Witness zum Witness Fileserver verbinden&lt;br /&gt;
&lt;br /&gt;
 Enable-ClusterStorageSpacesDirect -CacheState Disabled -PoolFriendlyName &amp;quot;FMB-NVME-Pool&amp;quot; -CollectPerformanceHistory $true&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 New-ClusterFaultDomain -Name &amp;quot;Rack 1&amp;quot; -FaultDomainType Rack&lt;br /&gt;
 New-ClusterFaultDomain -Name &amp;quot;Rack 2&amp;quot; -FaultDomainType Rack&lt;br /&gt;
 Set-ClusterFaultDomain -Name &amp;quot;server-s2d-p5&amp;quot; -FaultDomain &amp;quot;Rack 1&amp;quot;&lt;br /&gt;
 Set-ClusterFaultDomain -Name &amp;quot;server-s2d-p6&amp;quot; -FaultDomain &amp;quot;Rack 1&amp;quot;&lt;br /&gt;
 Set-ClusterFaultDomain -Name &amp;quot;server-s2d-p7&amp;quot; -FaultDomain &amp;quot;Rack 2&amp;quot;&lt;br /&gt;
 Set-ClusterFaultDomain -Name &amp;quot;server-s2d-p8&amp;quot; -FaultDomain &amp;quot;Rack 2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Replica: ===&lt;br /&gt;
 New-Volume  -FriendlyName SRLogs -FileSystem ReFS -Size 150GB -ResiliencySettingName Mirror -NumberOfDataCopies 3 -AccessPath L:\&lt;br /&gt;
!!! Achtung: Die Volumes inkl. Log Volume müssen identisch sein. Selbe Größe, selbe Mirror (2-way oder 3-way) usw. &lt;br /&gt;
Hinweis: mit &amp;gt;&amp;gt;&amp;gt;Move-ClusterGroup -Name &amp;quot;Available Storage&amp;quot; -Node &amp;quot;SERVER-S2D-P5&amp;quot;&amp;lt;&amp;lt;&amp;lt; kann man den Knoten festlegen auf dem neue Volumes erstellt werden&lt;br /&gt;
 Move-ClusterGroup -Name &amp;quot;Available Storage&amp;quot; -Node &amp;quot;SERVER-S2D-P1&amp;quot;&lt;br /&gt;
 Move-ClusterGroup -Name &amp;quot;Available Storage&amp;quot; -Node &amp;quot;SERVER-S2D-P5&amp;quot;  &lt;br /&gt;
&lt;br /&gt;
 Grant-SRAccess -ComputerName server-s2d-p1 -Cluster cluster-s2d-p2&lt;br /&gt;
 Grant-SRAccess -ComputerName server-s2d-p5 -Cluster cluster-s2d-p1&lt;br /&gt;
Prüfen mit:&lt;br /&gt;
 Get-SRAccess --&amp;gt; auf beiden Clustern&lt;br /&gt;
&lt;br /&gt;
 Test-SRTopology -SourceComputerName server-s2d-p1 -SourceVolumeName C:\ClusterStorage\VM1 -SourceLogVolumeName L: -DestinationComputerName server-s2d-p5 -DestinationVolumeName C:\ClusterStorage\VM1 -DestinationLogVolumeName L: -ResultPath C:\Temp\ -DurationInMinutes 5&lt;br /&gt;
==&amp;gt; Hinweis: Volume VM1 und das Volume L: müssen auf dem gleichen Knoten liegen. Der Befehl muss auch von dem Knoten ausgeführt werden und als Source muss dieser Knoten angegeben werden. Das gleiche gilt für das Ziel. Auch da müssen Volume VM1 und L: auf dem selben Knoten liegen der als Ziel angegeben wird&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 New-SRGroup -ComputerName cluster-s2d-p1.fm.db.de -Name &amp;quot;SRGroupA&amp;quot; -VolumeName &amp;quot;C:\ClusterStorage\VM1&amp;quot; -LogVolumeName &amp;quot;L:\&amp;quot;&lt;br /&gt;
 New-SRGroup -ComputerName cluster-s2d-p2.fm.db.de -Name &amp;quot;SRGroupB&amp;quot; -VolumeName &amp;quot;C:\ClusterStorage\VM1&amp;quot; -LogVolumeName &amp;quot;L:\&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 New-SRPartnership `&lt;br /&gt;
  -SourceComputerName cluster-s2d-p1.fm.db.de `&lt;br /&gt;
  -SourceRGName &amp;quot;SRGroupA&amp;quot; `&lt;br /&gt;
  -DestinationComputerName cluster-s2d-p2.fm.db.de `&lt;br /&gt;
  -DestinationRGName &amp;quot;SRGroupB&amp;quot; `&lt;br /&gt;
  -ReplicationMode Synchronous &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Replikation umdrehen:&lt;br /&gt;
 Set-SRPartnership -NewSourceComputerName cluster-s2d-p2-SourceRGName SRGroupB -DestinationComputerName cluster-s2d-p1 -DestinationRGName SRGroupA&lt;br /&gt;
&lt;br /&gt;
Volume hinzufügen:&lt;br /&gt;
 Invoke-CimMethod -Namespace &#039;root/Microsoft/Windows/StorageReplica&#039; `&lt;br /&gt;
    -ClassName &#039;MSFT_WvrAdminTasks&#039; `&lt;br /&gt;
    -MethodName &#039;SetPartnershipAddVolumes&#039; `&lt;br /&gt;
    -Arguments @{&lt;br /&gt;
        SourceComputerName = &amp;quot;cluster-s2d-p1&amp;quot;&lt;br /&gt;
        SourceRGName = &amp;quot;SRGroupA&amp;quot;&lt;br /&gt;
        DestinationComputerName = &amp;quot;cluster-s2d-p2&amp;quot;&lt;br /&gt;
        DestinationRGName = &amp;quot;SRGroupB&amp;quot;&lt;br /&gt;
        SourceAddVolumePartnership = @(&amp;quot;C:\ClusterStorage\Mirror&amp;quot;)&lt;br /&gt;
        DestinationAddVolumePartnership = $asd&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Wenn es Probleme gibt, hilft ggf. folgendes&lt;br /&gt;
* Ziel Offline nehmen&lt;br /&gt;
* Clear-SRMetadata -ComputerName cluster-s2d-p2.fm.db.de -AllPartitions -AllLogs -Force&lt;br /&gt;
* Clear-SRMetadata -ComputerName cluster-s2d-p1.fm.db.de -AllPartitions -AllLogs -Force&lt;br /&gt;
* &amp;lt;b&amp;gt;Restart-Service -Name StorageReplica (auf allen Knoten)&amp;lt;/b&amp;gt;&lt;br /&gt;
* Danach SRGroup und Partnership neu erstellen&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Partitionen für Storage Replica erstellen: ====&lt;br /&gt;
 # Sammelt die Virtual Disk bzw. StoargeTier Größen ein&lt;br /&gt;
 $storageTable = @()&lt;br /&gt;
 Get-VirtualDisk | % {&lt;br /&gt;
 	$Mirror=0&lt;br /&gt;
 	$Parity=0&lt;br /&gt;
 	$Name=$_.FriendlyName&lt;br /&gt;
 	if ($_.ResiliencySettingName -eq &amp;quot;Mirror&amp;quot;) {&lt;br /&gt;
 		$Mirror=$_.Size&lt;br /&gt;
 	} else {&lt;br /&gt;
 		$tiers = $_ | Get-StorageTier&lt;br /&gt;
 		foreach ($tier in $tiers) {&lt;br /&gt;
 			if ($tier.TierClass -eq &amp;quot;Capacity&amp;quot;) {$Parity = $tier.size}&lt;br /&gt;
 			if ($tier.TierClass -eq &amp;quot;Performance&amp;quot;) {$Mirror = $tier.size}&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 	$object = [pscustomobject]@{Name = $name;Mirror = $Mirror;Parity=$Parity}&lt;br /&gt;
 	$storageTable += $object&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
erstellt die Virtual Disks auf dem Ziel Cluster mit 10GB weniger Speicherplatz. Grund ist, dass bei der Erstellung nicht die komplette Größe der Virtual Disk verwendet wird, sondern ein paar MB/GB weniger. Das erweitern um 1GB funktioniert (mit Powershell?) nicht sauber, daher ziehe ich 10GB ab und mach danach ein Resize auf die volle Größe. Das muss bei Mirror und bei Mirror Accelerated gemacht werden&lt;br /&gt;
&lt;br /&gt;
 $table = Import-Csv C:\Temp\StorageTable.csv -Delimiter &amp;quot;;&amp;quot;&lt;br /&gt;
 foreach ($disk in $table) {&lt;br /&gt;
 	if ($disk.Parity -eq 0) {&lt;br /&gt;
 		New-Volume -StoragePoolFriendlyName &amp;quot;FMB-S2D-Pool&amp;quot; -FriendlyName $disk.Name -Size $($disk.Mirror - 10GB) -FileSystem CSVFS_ReFS -ResiliencySettingName Mirror -NumberOfDataCopies 3&lt;br /&gt;
 		Get-VirtualDisk $disk.Name |Resize-VirtualDisk -Size $disk.Mirror&lt;br /&gt;
 	} else 	{&lt;br /&gt;
 		New-Volume -FriendlyName $disk.Name -FileSystem CSVFS_ReFS -StoragePoolFriendlyName &amp;quot;FMB-S2D-Pool&amp;quot; -StorageTierFriendlyNames MirrorOnSSD, ParityOnSSD -StorageTierSizes $disk.Mirror, $($disk.Parity - 10GB)&lt;br /&gt;
 		Get-StorageTier &amp;quot;$($disk.Name)-ParityOnSSD&amp;quot; | Resize-StorageTier -Size $disk.Parity&lt;br /&gt;
 	}&lt;br /&gt;
 	$partition = Get-VirtualDisk $disk.name  | Get-Disk | Get-Partition | where PartitionNumber -eq 2&lt;br /&gt;
 	Start-Sleep -Seconds 2&lt;br /&gt;
 	$partition | Resize-Partition -Size ($partition | Get-PartitionSupportedSize).SizeMax&lt;br /&gt;
   }&lt;/div&gt;</summary>
		<author><name>Rueling</name></author>
	</entry>
	<entry>
		<id>https://wiki.wingeav.de/index.php?title=Aufruf_der_IIS_Webseiten_mit_Domain_fremden_FQDN_vom_lokalen_Server_aus_nicht_m%C3%B6glich&amp;diff=273</id>
		<title>Aufruf der IIS Webseiten mit Domain fremden FQDN vom lokalen Server aus nicht möglich</title>
		<link rel="alternate" type="text/html" href="https://wiki.wingeav.de/index.php?title=Aufruf_der_IIS_Webseiten_mit_Domain_fremden_FQDN_vom_lokalen_Server_aus_nicht_m%C3%B6glich&amp;diff=273"/>
		<updated>2025-09-30T07:35:23Z</updated>

		<summary type="html">&lt;p&gt;Rueling: Die Seite wurde neu angelegt: „Es gab das Problem, dass die IIS Seite myapp.publicdomain.de auf dem Server myServer.mydomain.com nicht vom myserver.mydomain.com Server selbst aufgerufen werden konnte. Von anderen Servern z.B. Myserver2.mydomain.com hat es funktioniert. Es trat also nur vom IIS Server selbst auf.   Die Ursache hat wohl zwei Gründe. 1. Kerberos Authentifizierung ist aktiv 2. Loopback-Check von Windows.  Der Loopback Check soll, wenn ich das richtig verstanden habe, NTL…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Es gab das Problem, dass die IIS Seite myapp.publicdomain.de auf dem Server myServer.mydomain.com nicht vom myserver.mydomain.com Server selbst aufgerufen werden konnte.&lt;br /&gt;
Von anderen Servern z.B. Myserver2.mydomain.com hat es funktioniert. Es trat also nur vom IIS Server selbst auf. &lt;br /&gt;
&lt;br /&gt;
Die Ursache hat wohl zwei Gründe.&lt;br /&gt;
1. Kerberos Authentifizierung ist aktiv&lt;br /&gt;
2. Loopback-Check von Windows.&lt;br /&gt;
&lt;br /&gt;
Der Loopback Check soll, wenn ich das richtig verstanden habe, NTLM Relay Angriffe verhindern. &lt;br /&gt;
&lt;br /&gt;
Das Problem scheint wohl nur bei Servern aufzutreten, wenn eine Webseite mit .publicdomain.de aufgerufen wird statt mit .mydomain.com, da die Webseiten so eingestellt sind, dass zuerst Kerberos verwendet wird, aber für .publicdomain.de kein Kerberos Ticket ausgestellt werden kann.&amp;lt;br&amp;gt;&lt;br /&gt;
Bei einem lokalen Aufruf wird dann durch den Loopback Check verhindert, dass auf NTLM zurückgegangen wird. Die Authentifizierung wird direkt mit HTTP 401 abgelehnt&lt;br /&gt;
&lt;br /&gt;
Um das Problem zu lösen und zu erreichen, dass die Seite auch vom IIS Server selbst aufgerufen werden kann gibt es folgende Optionen&lt;br /&gt;
&lt;br /&gt;
* die einfache, aber unsichere Option ist, den Loopback Check abschalten. Unter “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa” einen DWORD Value mit “DisableLoopbackCheck“ erstellen und auf  1 setzen. Das kann man auch temporär machen und dann wieder löschen. Es braucht keinen Neustart von Windows oder IIS&lt;br /&gt;
&lt;br /&gt;
* die bessere Option ist, bei der Windows Authentifizierung der Webseite den Provider &amp;quot;Negotiate&amp;quot; entfernen, sodass nur NTLM verwendet wird.&amp;lt;br&amp;gt;Außerdem muss in der Registry unter “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0” ein Multi-String Value „BackConnectionHostNames“ erstellt werden, der die FQDN der Webseiten enthält.&amp;lt;br&amp;gt;Dazu kann man folgende Powershell Befehle verwenden:&amp;lt;br&amp;gt;$array = @(); Get-IISSite | select Name | where Name -ne &amp;quot;Default Web Site&amp;quot; | % {$array += &amp;quot;$($_.Name).publicdomain.de&amp;quot;}&amp;lt;br&amp;gt;New-ItemProperty -Path &amp;quot;HKLM:\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0&amp;quot; `&amp;lt;br&amp;gt;  -Name &amp;quot;BackConnectionHostNames&amp;quot; -Value $array `&amp;lt;br&amp;gt;  -PropertyType MultiString -Force&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Rueling</name></author>
	</entry>
	<entry>
		<id>https://wiki.wingeav.de/index.php?title=WFP_Filter&amp;diff=272</id>
		<title>WFP Filter</title>
		<link rel="alternate" type="text/html" href="https://wiki.wingeav.de/index.php?title=WFP_Filter&amp;diff=272"/>
		<updated>2025-09-17T13:33:33Z</updated>

		<summary type="html">&lt;p&gt;Rueling: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Geblockte Pakete ohne Windows Firewall Regel ==&lt;br /&gt;
&lt;br /&gt;
Es gab den Fall, dass zwei Programme keine Daten an deren Cloud Server senden konnten. Obwohl in der Windows Firewall und Windows Defender nichts geblockt wurde, kam keine Verbindung zustande. Auch in Wireshark hat man keine Verbindungsversuche gesehen.&lt;br /&gt;
&lt;br /&gt;
Ursache waren mehrere WFP Filter&lt;br /&gt;
&lt;br /&gt;
WFP (Windows Filter Platform) Filter sind Netzwerkfilter, die übergeordnet zur Windows Firewall existieren. Windows Firewall Regeln und andere Security Programme (z.B. Windows Defender EDR) bilden ihre Regeln als WFP Filter ab. &amp;lt;br&amp;gt;&lt;br /&gt;
Filter, die direkt als WFP Filter erstellt werden, können auch nicht in der Windows Firewall gesehen werden. &amp;lt;br&amp;gt;&lt;br /&gt;
Generell ist es auch so, dass diese Filter (und auch Windows Firewall Regeln) greifen, bevor Netzwerkpakete von Tools wie Wireshark gesehen werden können.&lt;br /&gt;
&lt;br /&gt;
WFP Filter können mit folgendem Befehl angezeigt werden:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;quot;&amp;lt;b&amp;gt;netsh wfp show filter&amp;lt;/b&amp;gt;&amp;quot; oder &amp;quot;&amp;lt;b&amp;gt;netsh wfp show state&amp;lt;/b&amp;gt;&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Alternativ bietet sich die Software [https://github.com/zodiacon/WFPExplorer WFP Explorer] an. &amp;lt;br&amp;gt;&lt;br /&gt;
Mit dem WFP Explorer können Filter auch gelöscht werden (die FilterID wird hier in HEX dargestellt. Die ID in der XML ist Dezimal). &amp;lt;br&amp;gt;&lt;br /&gt;
Es gibt meines Wissens kein Bordmittel, mit dem Regeln erstellt und gelöscht werden können. Auch mit nativer PowerShell kommt man nicht weiter, da es nur eine C/C++ API gibt und PowerShell das wohl nicht nativ beherrscht. &amp;lt;br&amp;gt;&lt;br /&gt;
Es gibt zwar diverse PowerShell-Module, die man herunterladen kann, aber WFP Explorer ist einfacher.&lt;br /&gt;
&lt;br /&gt;
Geblockte Pakete werden zwar im Windows Firewall Log protokolliert, aber man sieht da keine Details, weswegen diese geblockt werden.&lt;br /&gt;
Dafür kann man: &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;netsh wfp capture start cab=off&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;netsh wfp capture stop&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
verwenden. &amp;lt;br&amp;gt;&lt;br /&gt;
Das erzeugt eine .ETL und .XML Datei mit den geblockten Paketen. &amp;lt;br&amp;gt;&lt;br /&gt;
Mit der ETL Datei kann man nicht viel anfangen, aber die XML Datei enthält die relevanten Informationen. &amp;lt;br&amp;gt;&lt;br /&gt;
Die XML Datei enthält Details wie WFP FilterID und wenn man in der XML nach der FilterID weiter sucht, findet man auch die entsprechende Regel.&lt;br /&gt;
&lt;br /&gt;
Alternativ zum netsh wfp capture kann man auch einen Audit Filter über GPO aktivieren: &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Computer &amp;gt; Windows &amp;gt; Security &amp;gt; Advanced Audit &amp;gt; Object Access &amp;gt; Audit Filtering Platform Connection&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Dort entweder &amp;quot;&amp;lt;b&amp;gt;Audit Filtering Platform Connection&amp;lt;/b&amp;gt;&amp;quot; oder &amp;quot;&amp;lt;b&amp;gt;Audit Filtering Platform Packet Drop&amp;lt;/b&amp;gt;&amp;quot; aktivieren. &amp;lt;br&amp;gt;&lt;br /&gt;
Idealerweise mit &amp;quot;Failure&amp;quot;, sonst würden wohl zu viele Events generiert. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;quot;Platform Connection&amp;quot; liefert noch ein paar Daten mehr als &amp;quot;Packet Drop&amp;quot;, die scheinen auf den ersten Blick aber nicht relevant.&lt;br /&gt;
&lt;br /&gt;
=== Beispiel: Geblocktes Event und dessen WFP Filter Regel ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Geblocktes Paket:&#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;netEvent&amp;gt;&lt;br /&gt;
    &amp;lt;header&amp;gt;&lt;br /&gt;
        &amp;lt;timeStamp&amp;gt;2025-09-15T10:55:03.145Z&amp;lt;/timeStamp&amp;gt;&lt;br /&gt;
        &amp;lt;flags numItems=&amp;quot;9&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;item&amp;gt;FWPM_NET_EVENT_FLAG_IP_PROTOCOL_SET&amp;lt;/item&amp;gt;&lt;br /&gt;
            &amp;lt;item&amp;gt;FWPM_NET_EVENT_FLAG_LOCAL_ADDR_SET&amp;lt;/item&amp;gt;&lt;br /&gt;
            &amp;lt;item&amp;gt;FWPM_NET_EVENT_FLAG_REMOTE_ADDR_SET&amp;lt;/item&amp;gt;&lt;br /&gt;
            &amp;lt;item&amp;gt;FWPM_NET_EVENT_FLAG_LOCAL_PORT_SET&amp;lt;/item&amp;gt;&lt;br /&gt;
            &amp;lt;item&amp;gt;FWPM_NET_EVENT_FLAG_REMOTE_PORT_SET&amp;lt;/item&amp;gt;&lt;br /&gt;
            &amp;lt;item&amp;gt;FWPM_NET_EVENT_FLAG_APP_ID_SET&amp;lt;/item&amp;gt;&lt;br /&gt;
            &amp;lt;item&amp;gt;FWPM_NET_EVENT_FLAG_USER_ID_SET&amp;lt;/item&amp;gt;&lt;br /&gt;
            &amp;lt;item&amp;gt;FWPM_NET_EVENT_FLAG_IP_VERSION_SET&amp;lt;/item&amp;gt;&lt;br /&gt;
            &amp;lt;item&amp;gt;FWPM_NET_EVENT_FLAG_PACKAGE_ID_SET&amp;lt;/item&amp;gt;&lt;br /&gt;
        &amp;lt;/flags&amp;gt;&lt;br /&gt;
        &amp;lt;ipVersion&amp;gt;FWP_IP_VERSION_V4&amp;lt;/ipVersion&amp;gt;&lt;br /&gt;
        &amp;lt;ipProtocol&amp;gt;6&amp;lt;/ipProtocol&amp;gt;&lt;br /&gt;
        &amp;lt;localAddrV4&amp;gt;192.168.0.1&amp;lt;/localAddrV4&amp;gt;&lt;br /&gt;
        &amp;lt;remoteAddrV4&amp;gt;192.168.0.2&amp;lt;/remoteAddrV4&amp;gt;&lt;br /&gt;
        &amp;lt;localPort&amp;gt;49911&amp;lt;/localPort&amp;gt;&lt;br /&gt;
        &amp;lt;remotePort&amp;gt;8080&amp;lt;/remotePort&amp;gt;&lt;br /&gt;
        &amp;lt;scopeId&amp;gt;0&amp;lt;/scopeId&amp;gt;&lt;br /&gt;
        &amp;lt;appId&amp;gt;&lt;br /&gt;
            &amp;lt;data&amp;gt;irgendein binärer Blob - nicht relevant&amp;lt;/data&amp;gt;&lt;br /&gt;
            &amp;lt;asString&amp;gt;\.d.e.v.i.c.e.\.h.a.r.d.d.i.s.k.v.o.l.u.m.e.3.\.p.r.o.g.r.a.m. .f.i.l.e.s.\.m.e.i.n.\.p.r.o.g.r.a.m.m.\.p.r.o.g.r.a.m.m.e...e.x.e...&amp;lt;/asString&amp;gt;&lt;br /&gt;
        &amp;lt;/appId&amp;gt;&lt;br /&gt;
        &amp;lt;userId&amp;gt;S-1-5-21-xxxx&amp;lt;/userId&amp;gt;&lt;br /&gt;
        &amp;lt;addressFamily&amp;gt;FWP_AF_INET&amp;lt;/addressFamily&amp;gt;&lt;br /&gt;
        &amp;lt;packageSid&amp;gt;S-1-0-0&amp;lt;/packageSid&amp;gt;&lt;br /&gt;
        &amp;lt;enterpriseId/&amp;gt;&lt;br /&gt;
        &amp;lt;policyFlags&amp;gt;0&amp;lt;/policyFlags&amp;gt;&lt;br /&gt;
        &amp;lt;effectiveName/&amp;gt;&lt;br /&gt;
    &amp;lt;/header&amp;gt;&lt;br /&gt;
    &amp;lt;type&amp;gt;FWPM_NET_EVENT_TYPE_PUBLIC_CLASSIFY_DROP&amp;lt;/type&amp;gt;&lt;br /&gt;
    &amp;lt;classifyDrop&amp;gt;&lt;br /&gt;
        &amp;lt;filterId&amp;gt;76580&amp;lt;/filterId&amp;gt;&lt;br /&gt;
        &amp;lt;layerId&amp;gt;48&amp;lt;/layerId&amp;gt;&lt;br /&gt;
        &amp;lt;reauthReason&amp;gt;0&amp;lt;/reauthReason&amp;gt;&lt;br /&gt;
        &amp;lt;originalProfile&amp;gt;3&amp;lt;/originalProfile&amp;gt;&lt;br /&gt;
        &amp;lt;currentProfile&amp;gt;3&amp;lt;/currentProfile&amp;gt;&lt;br /&gt;
        &amp;lt;msFwpDirection&amp;gt;MS_FWP_DIRECTION_OUT&amp;lt;/msFwpDirection&amp;gt;&lt;br /&gt;
        &amp;lt;isLoopback&amp;gt;false&amp;lt;/isLoopback&amp;gt;&lt;br /&gt;
        &amp;lt;vSwitchId/&amp;gt;&lt;br /&gt;
        &amp;lt;vSwitchSourcePort&amp;gt;0&amp;lt;/vSwitchSourcePort&amp;gt;&lt;br /&gt;
        &amp;lt;vSwitchDestinationPort&amp;gt;0&amp;lt;/vSwitchDestinationPort&amp;gt;&lt;br /&gt;
    &amp;lt;/classifyDrop&amp;gt;&lt;br /&gt;
    &amp;lt;internalFields&amp;gt;&lt;br /&gt;
        &amp;lt;internalFlags numItems=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;item&amp;gt;FWPM_NET_EVENT_INTERNAL_FLAG_FILTER_ORIGIN_SET&amp;lt;/item&amp;gt;&lt;br /&gt;
        &amp;lt;/internalFlags&amp;gt;&lt;br /&gt;
    capabilities/&amp;gt;&lt;br /&gt;
        &amp;lt;fqbnVersion&amp;gt;0&amp;lt;/fqbnVersion&amp;gt;&lt;br /&gt;
        &amp;lt;fqbnName/&amp;gt;&lt;br /&gt;
        &amp;lt;terminatingFiltersInfo numItems=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;item&amp;gt;&lt;br /&gt;
                &amp;lt;filterId&amp;gt;76580&amp;lt;/filterId&amp;gt;&lt;br /&gt;
                &amp;lt;subLayer&amp;gt;32768&amp;lt;/subLayer&amp;gt;&lt;br /&gt;
                &amp;lt;actionType&amp;gt;FWP_ACTION_BLOCK&amp;lt;/actionType&amp;gt;&lt;br /&gt;
            &amp;lt;/item&amp;gt;&lt;br /&gt;
            &amp;lt;item&amp;gt;&lt;br /&gt;
                &amp;lt;filterId&amp;gt;78029&amp;lt;/filterId&amp;gt;&lt;br /&gt;
                &amp;lt;subLayer&amp;gt;FWPP_SUBLAYER_INTERNAL_FIREWALL_WF&amp;lt;/subLayer&amp;gt;&lt;br /&gt;
                &amp;lt;actionType&amp;gt;FWP_ACTION_PERMIT&amp;lt;/actionType&amp;gt;&lt;br /&gt;
            &amp;lt;/item&amp;gt;&lt;br /&gt;
        &amp;lt;/terminatingFiltersInfo&amp;gt;&lt;br /&gt;
        &amp;lt;filterOrigin&amp;gt;Unknown&amp;lt;/filterOrigin&amp;gt;&lt;br /&gt;
        &amp;lt;policyAppId/&amp;gt;&lt;br /&gt;
        &amp;lt;compartmentId&amp;gt;1&amp;lt;/compartmentId&amp;gt;&lt;br /&gt;
    &amp;lt;/internalFields&amp;gt;&lt;br /&gt;
 &amp;lt;/netEvent&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WFP Regel zum geblockten Paket:&#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;layers numItems=&amp;quot;97&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;item&amp;gt;&lt;br /&gt;
        &amp;lt;layer&amp;gt;&lt;br /&gt;
          ...&lt;br /&gt;
        &amp;lt;/layer&amp;gt;&lt;br /&gt;
        &amp;lt;callouts numItems=&amp;quot;8&amp;quot;&amp;gt;&lt;br /&gt;
          ...&lt;br /&gt;
        &amp;lt;/callouts&amp;gt;&lt;br /&gt;
        &amp;lt;filters numItems=&amp;quot;63&amp;quot;&amp;gt;&lt;br /&gt;
            ...&lt;br /&gt;
            &amp;lt;item&amp;gt;&lt;br /&gt;
                &amp;lt;filterKey&amp;gt;{9a657e8b-04c2-46c7-8321-e5a3955c08fc}&amp;lt;/filterKey&amp;gt;&lt;br /&gt;
                &amp;lt;displayData&amp;gt;&lt;br /&gt;
                    &amp;lt;name&amp;gt;Custom Outbound Filter&amp;lt;/name&amp;gt;&lt;br /&gt;
                    &amp;lt;description/&amp;gt;&lt;br /&gt;
                &amp;lt;/displayData&amp;gt;&lt;br /&gt;
                &amp;lt;flags numItems=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;item&amp;gt;FWPM_FILTER_FLAG_PERSISTENT&amp;lt;/item&amp;gt;&lt;br /&gt;
                    &amp;lt;item&amp;gt;FWPM_FILTER_FLAG_INDEXED&amp;lt;/item&amp;gt;&lt;br /&gt;
                &amp;lt;/flags&amp;gt;&lt;br /&gt;
                &amp;lt;providerKey&amp;gt;{608f5011-fb72-4986-a003-8fa1d9a00640}&amp;lt;/providerKey&amp;gt;&lt;br /&gt;
                &amp;lt;providerData/&amp;gt;&lt;br /&gt;
                &amp;lt;layerKey&amp;gt;FWPM_LAYER_ALE_AUTH_CONNECT_V4&amp;lt;/layerKey&amp;gt;&lt;br /&gt;
                &amp;lt;subLayerKey&amp;gt;FWPM_SUBLAYER_UNIVERSAL&amp;lt;/subLayerKey&amp;gt;&lt;br /&gt;
                &amp;lt;weight&amp;gt;&lt;br /&gt;
                    &amp;lt;type&amp;gt;FWP_EMPTY&amp;lt;/type&amp;gt;&lt;br /&gt;
                &amp;lt;/weight&amp;gt;&lt;br /&gt;
                &amp;lt;filterCondition numItems=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;item&amp;gt;&lt;br /&gt;
                        &amp;lt;fieldKey&amp;gt;FWPM_CONDITION_ALE_APP_ID&amp;lt;/fieldKey&amp;gt;&lt;br /&gt;
                        &amp;lt;matchType&amp;gt;FWP_MATCH_EQUAL&amp;lt;/matchType&amp;gt;&lt;br /&gt;
                        &amp;lt;conditionValue&amp;gt;&lt;br /&gt;
                            &amp;lt;type&amp;gt;FWP_BYTE_BLOB_TYPE&amp;lt;/type&amp;gt;&lt;br /&gt;
                            &amp;lt;byteBlob&amp;gt;&lt;br /&gt;
                                &amp;lt;data&amp;gt;irgendein binärer Blob -- nicht relevant&amp;lt;/data&amp;gt;&lt;br /&gt;
                                &amp;lt;asString&amp;gt;\device\harddiskvolume3\program files\mein\programm\programm.exe&amp;lt;/asString&amp;gt;&lt;br /&gt;
                            &amp;lt;/byteBlob&amp;gt;&lt;br /&gt;
                        &amp;lt;/conditionValue&amp;gt;&lt;br /&gt;
                    &amp;lt;/item&amp;gt;&lt;br /&gt;
                &amp;lt;/filterCondition&amp;gt;&lt;br /&gt;
                &amp;lt;action&amp;gt;&lt;br /&gt;
                    &amp;lt;type&amp;gt;FWP_ACTION_BLOCK&amp;lt;/type&amp;gt;&lt;br /&gt;
                    &amp;lt;filterType/&amp;gt;&lt;br /&gt;
                &amp;lt;/action&amp;gt;&lt;br /&gt;
                &amp;lt;rawContext&amp;gt;0&amp;lt;/rawContext&amp;gt;&lt;br /&gt;
                &amp;lt;reserved/&amp;gt;&lt;br /&gt;
                &amp;lt;filterId&amp;gt;76580&amp;lt;/filterId&amp;gt;&lt;br /&gt;
                &amp;lt;effectiveWeight&amp;gt;&lt;br /&gt;
                    &amp;lt;type&amp;gt;FWP_UINT64&amp;lt;/type&amp;gt;&lt;br /&gt;
                    &amp;lt;uint64&amp;gt;137438953472&amp;lt;/uint64&amp;gt;&lt;br /&gt;
                &amp;lt;/effectiveWeight&amp;gt;&lt;br /&gt;
            &amp;lt;/item&amp;gt;&lt;br /&gt;
        &amp;lt;/filters&amp;gt;&lt;br /&gt;
    &amp;lt;/item&amp;gt;&lt;br /&gt;
 &amp;lt;/layers&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;PowerShell Code zum Auslesen der geblockten Events:&#039;&#039;&#039;&lt;br /&gt;
  $filterEvents =@()&lt;br /&gt;
  $wfpXML = [System.Xml.XmlDocument](Get-Content C:\temp\wfpdiag.xml)&lt;br /&gt;
  foreach ($event in $wfpXML.wfpdiag.events.netEvent) {&lt;br /&gt;
  	$filterEvents += [pscustomobject]@{&lt;br /&gt;
 		filterID = $event.classifyDrop.filterId&lt;br /&gt;
 		localIP = $event.Header.localAddrV4&lt;br /&gt;
 		localPort = $event.Header.localPort&lt;br /&gt;
 		remoteIP = $event.Header.remoteAddrV4&lt;br /&gt;
 		remotePort = $event.Header.remotePort&lt;br /&gt;
 		direction = $event.classifyDrop.msFwpDirection&lt;br /&gt;
   	}&lt;br /&gt;
  }&lt;br /&gt;
  $filterEvents |ft&lt;br /&gt;
&lt;br /&gt;
== Neben Anmerkungen ==&lt;br /&gt;
&lt;br /&gt;
Wireshark kann diese Events nicht filtern. (Der Begriff ist glaube ich &#039;&#039;ETW&#039;&#039; Events). &amp;lt;br&amp;gt; &lt;br /&gt;
Möchte man nicht nur die geblockten WFP-Pakete sehen, sondern auch sonstigen Netzwerkverkehr, muss man &#039;&#039;&#039;netsh trace&#039;&#039;&#039; verwenden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;netsh trace start capture=yes persistent=no tracefile=c:\temp\trace.etl scenario=netconnection&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;netsh trace stop&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Damit kann man zusätzlich zum Netzwerktraffic auch die ETW/WFP-Events sehen. &amp;lt;br&amp;gt;&lt;br /&gt;
Dafür muss man das erzeugte ETL-File aber in Windows Netmon oder Message Analyzer öffnen.  &amp;lt;br&amp;gt;&lt;br /&gt;
Wireshark kann mit ETL nicht umgehen und auch die Umwandlung mit ETL2PCAPNG hilft nicht.  &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Netmon und Message Analyzer sind EOL, aber Netmon wird noch offiziell von Microsoft als Download angegeben.  &lt;br /&gt;
&lt;br /&gt;
In Netmon und Message Analyzer kann man nach WFP-gebockten Paketen filtern:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Netmon:&#039;&#039;&#039;&lt;br /&gt;
* NetEvent.MicrosoftWindowsWFP.WFP_CLASSIFY_DROP_EVENT&lt;br /&gt;
* NetEvent.MicrosoftWindowsWFP.WFP_CLASSIFY_DROP_EVENT.RemoteAddress.IPv4.Address == 192.168.0.2&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Message Analyzer:&#039;&#039;&#039;&lt;br /&gt;
* (Microsoft_Windows_WFP)&lt;br /&gt;
* (Microsoft_Windows_WFP.RemoteAddress.FlatAddress == 192.168.0.2)&lt;br /&gt;
&lt;br /&gt;
Im Event sieht man dann auch wieder die &#039;&#039;&#039;FilterID&#039;&#039;&#039; (in HEX).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Powershell:&lt;br /&gt;
&lt;br /&gt;
 $wfpXML = [System.Xml.XmlDocument](Get-Content &amp;quot;C:\temp\wfpcapture1.xml&amp;quot;)&lt;br /&gt;
 $filterRules = @{}&lt;br /&gt;
 foreach ($item in $wfpXML.wfpdiag.initialState.layers.item) {&lt;br /&gt;
 	if ($item.filters -ne &amp;quot;&amp;quot;) {&lt;br /&gt;
 		foreach ($filterItem in $item.filters.item) {&lt;br /&gt;
 			$conditions =  @()&lt;br /&gt;
 			foreach ($condition in $filterItem.filterCondition.Item) {&lt;br /&gt;
 				$value = &amp;quot;&amp;quot;&lt;br /&gt;
 				switch ($condition.fieldKey) {&lt;br /&gt;
 					&amp;quot;FWPM_CONDITION_ALE_APP_ID&amp;quot; {$value = $condition.conditionValue.byteBlob.asString}&lt;br /&gt;
 					&amp;quot;FWPM_CONDITION_ALE_USER_ID&amp;quot; {$value = $condition.conditionValue.sd}&lt;br /&gt;
 					&amp;quot;FWPM_CONDITION_IP_REMOTE_ADDRESS&amp;quot; {&lt;br /&gt;
 							if ($condition.matchType -eq &amp;quot;FWP_MATCH_RANGE&amp;quot;) {&lt;br /&gt;
 								$value = &amp;quot;$($condition.conditionValue.rangeValue.valueLow.uint32) - $($condition.conditionValue.rangeValue.valueHigh.uint32)&amp;quot;&lt;br /&gt;
 							} else {&lt;br /&gt;
 								$value = $condition.conditionValue.uint32&lt;br /&gt;
 							}&lt;br /&gt;
 					}&lt;br /&gt;
 					&amp;quot;FWPM_CONDITION_IP_LOCAL_PORT&amp;quot; {&lt;br /&gt;
 							if ($condition.matchType -eq &amp;quot;FWP_MATCH_RANGE&amp;quot;) {&lt;br /&gt;
 								$value = &amp;quot;$($condition.conditionValue.rangeValue.valueLow.uint16) - $($condition.conditionValue.rangeValue.valueHigh.uint16)&amp;quot;&lt;br /&gt;
 							} else {&lt;br /&gt;
 								$value = $condition.conditionValue.uint16&lt;br /&gt;
 							}&lt;br /&gt;
 					}&lt;br /&gt;
 					&amp;quot;FWPM_CONDITION_IP_REMOTE_PORT&amp;quot; {&lt;br /&gt;
 							if ($condition.matchType -eq &amp;quot;FWP_MATCH_RANGE&amp;quot;) { &lt;br /&gt;
 								$value = &amp;quot;$($condition.conditionValue.rangeValue.valueLow.uint16) - $($condition.conditionValue.rangeValue.valueHigh.uint16)&amp;quot;&lt;br /&gt;
 							} else {&lt;br /&gt;
 								$value = $condition.conditionValue.uint16&lt;br /&gt;
 							}&lt;br /&gt;
 					}&lt;br /&gt;
 				}&lt;br /&gt;
 &lt;br /&gt;
 				$conditions += [pscustomobject]@{&lt;br /&gt;
 					fieldKey = $condition.fieldKey&lt;br /&gt;
 					match = $value&lt;br /&gt;
 				}&lt;br /&gt;
 			}&lt;br /&gt;
 		&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 			$ruleobject = [pscustomobject]@{&lt;br /&gt;
  				filterkey = $filterItem.filterKey&lt;br /&gt;
 				filtername = $filterItem.displayData.name&lt;br /&gt;
 				layer = $filterItem.layerKey&lt;br /&gt;
  				conditions = $conditions&lt;br /&gt;
 			}&lt;br /&gt;
 			$filterRules[$filterItem.filterId] = $ruleobject&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 $filterEvents =@()&lt;br /&gt;
 $wfpXML = [System.Xml.XmlDocument](Get-Content C:\temp\wfpdiag4\wfpdiag4.xml)&lt;br /&gt;
 foreach ($event in $wfpXML.wfpdiag.events.netEvent) {&lt;br /&gt;
 	$filterEvents += [pscustomobject]@{&lt;br /&gt;
 		filterID = $event.classifyDrop.filterId&lt;br /&gt;
 		localIP = $event.Header.localAddrV4&lt;br /&gt;
 		localPort = $event.Header.localPort&lt;br /&gt;
 		remoteIP = $event.Header.remoteAddrV4&lt;br /&gt;
 		remotePort = $event.Header.remotePort&lt;br /&gt;
 		direction = $event.classifyDrop.msFwpDirection&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
 $filterEvents |ft&lt;/div&gt;</summary>
		<author><name>Rueling</name></author>
	</entry>
	<entry>
		<id>https://wiki.wingeav.de/index.php?title=WFP_Filter&amp;diff=271</id>
		<title>WFP Filter</title>
		<link rel="alternate" type="text/html" href="https://wiki.wingeav.de/index.php?title=WFP_Filter&amp;diff=271"/>
		<updated>2025-09-16T11:53:46Z</updated>

		<summary type="html">&lt;p&gt;Rueling: Die Seite wurde neu angelegt: „== Geblockte Pakete ohne Windows Firewall Regel ==  Es gab den Fall, dass zwei Programme keine Daten an deren Cloud Server senden konnten. Obwohl in der Windows Firewall und Windows Defender nichts geblockt wurde, kam keine Verbindung zustande. Auch in Wireshark hat man keine Verbindungsversuche gesehen.  Ursache waren mehrere WFP Filter  WFP (Windows Filter Platform) Filter sind Netzwerkfilter, die übergeordnet zur Windows Firewall existieren. Windows F…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Geblockte Pakete ohne Windows Firewall Regel ==&lt;br /&gt;
&lt;br /&gt;
Es gab den Fall, dass zwei Programme keine Daten an deren Cloud Server senden konnten. Obwohl in der Windows Firewall und Windows Defender nichts geblockt wurde, kam keine Verbindung zustande. Auch in Wireshark hat man keine Verbindungsversuche gesehen.&lt;br /&gt;
&lt;br /&gt;
Ursache waren mehrere WFP Filter&lt;br /&gt;
&lt;br /&gt;
WFP (Windows Filter Platform) Filter sind Netzwerkfilter, die übergeordnet zur Windows Firewall existieren. Windows Firewall Regeln und andere Security Programme (z.B. Windows Defender EDR) bilden ihre Regeln als WFP Filter ab. &amp;lt;br&amp;gt;&lt;br /&gt;
Filter, die direkt als WFP Filter erstellt werden, können auch nicht in der Windows Firewall gesehen werden. &amp;lt;br&amp;gt;&lt;br /&gt;
Generell ist es auch so, dass diese Filter (und auch Windows Firewall Regeln) greifen, bevor Netzwerkpakete von Tools wie Wireshark gesehen werden können.&lt;br /&gt;
&lt;br /&gt;
WFP Filter können mit folgendem Befehl angezeigt werden:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;quot;&amp;lt;b&amp;gt;netsh wfp show filter&amp;lt;/b&amp;gt;&amp;quot; oder &amp;quot;&amp;lt;b&amp;gt;netsh wfp show state&amp;lt;/b&amp;gt;&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Alternativ bietet sich die Software [https://github.com/zodiacon/WFPExplorer WFP Explorer] an. &amp;lt;br&amp;gt;&lt;br /&gt;
Mit dem WFP Explorer können Filter auch gelöscht werden (die FilterID wird hier in HEX dargestellt. Die ID in der XML ist Dezimal). &amp;lt;br&amp;gt;&lt;br /&gt;
Es gibt meines Wissens kein Bordmittel, mit dem Regeln erstellt und gelöscht werden können. Auch mit nativer PowerShell kommt man nicht weiter, da es nur eine C/C++ API gibt und PowerShell das wohl nicht nativ beherrscht. &amp;lt;br&amp;gt;&lt;br /&gt;
Es gibt zwar diverse PowerShell-Module, die man herunterladen kann, aber WFP Explorer ist einfacher.&lt;br /&gt;
&lt;br /&gt;
Geblockte Pakete werden zwar im Windows Firewall Log protokolliert, aber man sieht da keine Details, weswegen diese geblockt werden.&lt;br /&gt;
Dafür kann man: &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;netsh wfp capture start cab=off&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;netsh wfp capture stop&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
verwenden. &amp;lt;br&amp;gt;&lt;br /&gt;
Das erzeugt eine .ETL und .XML Datei mit den geblockten Paketen. &amp;lt;br&amp;gt;&lt;br /&gt;
Mit der ETL Datei kann man nicht viel anfangen, aber die XML Datei enthält die relevanten Informationen. &amp;lt;br&amp;gt;&lt;br /&gt;
Die XML Datei enthält Details wie WFP FilterID und wenn man in der XML nach der FilterID weiter sucht, findet man auch die entsprechende Regel.&lt;br /&gt;
&lt;br /&gt;
Alternativ zum netsh wfp capture kann man auch einen Audit Filter über GPO aktivieren: &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Computer &amp;gt; Windows &amp;gt; Security &amp;gt; Advanced Audit &amp;gt; Object Access &amp;gt; Audit Filtering Platform Connection&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Dort entweder &amp;quot;&amp;lt;b&amp;gt;Audit Filtering Platform Connection&amp;lt;/b&amp;gt;&amp;quot; oder &amp;quot;&amp;lt;b&amp;gt;Audit Filtering Platform Packet Drop&amp;lt;/b&amp;gt;&amp;quot; aktivieren. &amp;lt;br&amp;gt;&lt;br /&gt;
Idealerweise mit &amp;quot;Failure&amp;quot;, sonst würden wohl zu viele Events generiert. &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;quot;Platform Connection&amp;quot; liefert noch ein paar Daten mehr als &amp;quot;Packet Drop&amp;quot;, die scheinen auf den ersten Blick aber nicht relevant.&lt;br /&gt;
&lt;br /&gt;
=== Beispiel: Geblocktes Event und dessen WFP Filter Regel ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Geblocktes Paket:&#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;netEvent&amp;gt;&lt;br /&gt;
    &amp;lt;header&amp;gt;&lt;br /&gt;
        &amp;lt;timeStamp&amp;gt;2025-09-15T10:55:03.145Z&amp;lt;/timeStamp&amp;gt;&lt;br /&gt;
        &amp;lt;flags numItems=&amp;quot;9&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;item&amp;gt;FWPM_NET_EVENT_FLAG_IP_PROTOCOL_SET&amp;lt;/item&amp;gt;&lt;br /&gt;
            &amp;lt;item&amp;gt;FWPM_NET_EVENT_FLAG_LOCAL_ADDR_SET&amp;lt;/item&amp;gt;&lt;br /&gt;
            &amp;lt;item&amp;gt;FWPM_NET_EVENT_FLAG_REMOTE_ADDR_SET&amp;lt;/item&amp;gt;&lt;br /&gt;
            &amp;lt;item&amp;gt;FWPM_NET_EVENT_FLAG_LOCAL_PORT_SET&amp;lt;/item&amp;gt;&lt;br /&gt;
            &amp;lt;item&amp;gt;FWPM_NET_EVENT_FLAG_REMOTE_PORT_SET&amp;lt;/item&amp;gt;&lt;br /&gt;
            &amp;lt;item&amp;gt;FWPM_NET_EVENT_FLAG_APP_ID_SET&amp;lt;/item&amp;gt;&lt;br /&gt;
            &amp;lt;item&amp;gt;FWPM_NET_EVENT_FLAG_USER_ID_SET&amp;lt;/item&amp;gt;&lt;br /&gt;
            &amp;lt;item&amp;gt;FWPM_NET_EVENT_FLAG_IP_VERSION_SET&amp;lt;/item&amp;gt;&lt;br /&gt;
            &amp;lt;item&amp;gt;FWPM_NET_EVENT_FLAG_PACKAGE_ID_SET&amp;lt;/item&amp;gt;&lt;br /&gt;
        &amp;lt;/flags&amp;gt;&lt;br /&gt;
        &amp;lt;ipVersion&amp;gt;FWP_IP_VERSION_V4&amp;lt;/ipVersion&amp;gt;&lt;br /&gt;
        &amp;lt;ipProtocol&amp;gt;6&amp;lt;/ipProtocol&amp;gt;&lt;br /&gt;
        &amp;lt;localAddrV4&amp;gt;192.168.0.1&amp;lt;/localAddrV4&amp;gt;&lt;br /&gt;
        &amp;lt;remoteAddrV4&amp;gt;192.168.0.2&amp;lt;/remoteAddrV4&amp;gt;&lt;br /&gt;
        &amp;lt;localPort&amp;gt;49911&amp;lt;/localPort&amp;gt;&lt;br /&gt;
        &amp;lt;remotePort&amp;gt;8080&amp;lt;/remotePort&amp;gt;&lt;br /&gt;
        &amp;lt;scopeId&amp;gt;0&amp;lt;/scopeId&amp;gt;&lt;br /&gt;
        &amp;lt;appId&amp;gt;&lt;br /&gt;
            &amp;lt;data&amp;gt;irgendein binärer Blob - nicht relevant&amp;lt;/data&amp;gt;&lt;br /&gt;
            &amp;lt;asString&amp;gt;\.d.e.v.i.c.e.\.h.a.r.d.d.i.s.k.v.o.l.u.m.e.3.\.p.r.o.g.r.a.m. .f.i.l.e.s.\.m.e.i.n.\.p.r.o.g.r.a.m.m.\.p.r.o.g.r.a.m.m.e...e.x.e...&amp;lt;/asString&amp;gt;&lt;br /&gt;
        &amp;lt;/appId&amp;gt;&lt;br /&gt;
        &amp;lt;userId&amp;gt;S-1-5-21-xxxx&amp;lt;/userId&amp;gt;&lt;br /&gt;
        &amp;lt;addressFamily&amp;gt;FWP_AF_INET&amp;lt;/addressFamily&amp;gt;&lt;br /&gt;
        &amp;lt;packageSid&amp;gt;S-1-0-0&amp;lt;/packageSid&amp;gt;&lt;br /&gt;
        &amp;lt;enterpriseId/&amp;gt;&lt;br /&gt;
        &amp;lt;policyFlags&amp;gt;0&amp;lt;/policyFlags&amp;gt;&lt;br /&gt;
        &amp;lt;effectiveName/&amp;gt;&lt;br /&gt;
    &amp;lt;/header&amp;gt;&lt;br /&gt;
    &amp;lt;type&amp;gt;FWPM_NET_EVENT_TYPE_PUBLIC_CLASSIFY_DROP&amp;lt;/type&amp;gt;&lt;br /&gt;
    &amp;lt;classifyDrop&amp;gt;&lt;br /&gt;
        &amp;lt;filterId&amp;gt;76580&amp;lt;/filterId&amp;gt;&lt;br /&gt;
        &amp;lt;layerId&amp;gt;48&amp;lt;/layerId&amp;gt;&lt;br /&gt;
        &amp;lt;reauthReason&amp;gt;0&amp;lt;/reauthReason&amp;gt;&lt;br /&gt;
        &amp;lt;originalProfile&amp;gt;3&amp;lt;/originalProfile&amp;gt;&lt;br /&gt;
        &amp;lt;currentProfile&amp;gt;3&amp;lt;/currentProfile&amp;gt;&lt;br /&gt;
        &amp;lt;msFwpDirection&amp;gt;MS_FWP_DIRECTION_OUT&amp;lt;/msFwpDirection&amp;gt;&lt;br /&gt;
        &amp;lt;isLoopback&amp;gt;false&amp;lt;/isLoopback&amp;gt;&lt;br /&gt;
        &amp;lt;vSwitchId/&amp;gt;&lt;br /&gt;
        &amp;lt;vSwitchSourcePort&amp;gt;0&amp;lt;/vSwitchSourcePort&amp;gt;&lt;br /&gt;
        &amp;lt;vSwitchDestinationPort&amp;gt;0&amp;lt;/vSwitchDestinationPort&amp;gt;&lt;br /&gt;
    &amp;lt;/classifyDrop&amp;gt;&lt;br /&gt;
    &amp;lt;internalFields&amp;gt;&lt;br /&gt;
        &amp;lt;internalFlags numItems=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;item&amp;gt;FWPM_NET_EVENT_INTERNAL_FLAG_FILTER_ORIGIN_SET&amp;lt;/item&amp;gt;&lt;br /&gt;
        &amp;lt;/internalFlags&amp;gt;&lt;br /&gt;
    capabilities/&amp;gt;&lt;br /&gt;
        &amp;lt;fqbnVersion&amp;gt;0&amp;lt;/fqbnVersion&amp;gt;&lt;br /&gt;
        &amp;lt;fqbnName/&amp;gt;&lt;br /&gt;
        &amp;lt;terminatingFiltersInfo numItems=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;item&amp;gt;&lt;br /&gt;
                &amp;lt;filterId&amp;gt;76580&amp;lt;/filterId&amp;gt;&lt;br /&gt;
                &amp;lt;subLayer&amp;gt;32768&amp;lt;/subLayer&amp;gt;&lt;br /&gt;
                &amp;lt;actionType&amp;gt;FWP_ACTION_BLOCK&amp;lt;/actionType&amp;gt;&lt;br /&gt;
            &amp;lt;/item&amp;gt;&lt;br /&gt;
            &amp;lt;item&amp;gt;&lt;br /&gt;
                &amp;lt;filterId&amp;gt;78029&amp;lt;/filterId&amp;gt;&lt;br /&gt;
                &amp;lt;subLayer&amp;gt;FWPP_SUBLAYER_INTERNAL_FIREWALL_WF&amp;lt;/subLayer&amp;gt;&lt;br /&gt;
                &amp;lt;actionType&amp;gt;FWP_ACTION_PERMIT&amp;lt;/actionType&amp;gt;&lt;br /&gt;
            &amp;lt;/item&amp;gt;&lt;br /&gt;
        &amp;lt;/terminatingFiltersInfo&amp;gt;&lt;br /&gt;
        &amp;lt;filterOrigin&amp;gt;Unknown&amp;lt;/filterOrigin&amp;gt;&lt;br /&gt;
        &amp;lt;policyAppId/&amp;gt;&lt;br /&gt;
        &amp;lt;compartmentId&amp;gt;1&amp;lt;/compartmentId&amp;gt;&lt;br /&gt;
    &amp;lt;/internalFields&amp;gt;&lt;br /&gt;
 &amp;lt;/netEvent&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WFP Regel zum geblockten Paket:&#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;layers numItems=&amp;quot;97&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;item&amp;gt;&lt;br /&gt;
        &amp;lt;layer&amp;gt;&lt;br /&gt;
          ...&lt;br /&gt;
        &amp;lt;/layer&amp;gt;&lt;br /&gt;
        &amp;lt;callouts numItems=&amp;quot;8&amp;quot;&amp;gt;&lt;br /&gt;
          ...&lt;br /&gt;
        &amp;lt;/callouts&amp;gt;&lt;br /&gt;
        &amp;lt;filters numItems=&amp;quot;63&amp;quot;&amp;gt;&lt;br /&gt;
            ...&lt;br /&gt;
            &amp;lt;item&amp;gt;&lt;br /&gt;
                &amp;lt;filterKey&amp;gt;{9a657e8b-04c2-46c7-8321-e5a3955c08fc}&amp;lt;/filterKey&amp;gt;&lt;br /&gt;
                &amp;lt;displayData&amp;gt;&lt;br /&gt;
                    &amp;lt;name&amp;gt;Custom Outbound Filter&amp;lt;/name&amp;gt;&lt;br /&gt;
                    &amp;lt;description/&amp;gt;&lt;br /&gt;
                &amp;lt;/displayData&amp;gt;&lt;br /&gt;
                &amp;lt;flags numItems=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;item&amp;gt;FWPM_FILTER_FLAG_PERSISTENT&amp;lt;/item&amp;gt;&lt;br /&gt;
                    &amp;lt;item&amp;gt;FWPM_FILTER_FLAG_INDEXED&amp;lt;/item&amp;gt;&lt;br /&gt;
                &amp;lt;/flags&amp;gt;&lt;br /&gt;
                &amp;lt;providerKey&amp;gt;{608f5011-fb72-4986-a003-8fa1d9a00640}&amp;lt;/providerKey&amp;gt;&lt;br /&gt;
                &amp;lt;providerData/&amp;gt;&lt;br /&gt;
                &amp;lt;layerKey&amp;gt;FWPM_LAYER_ALE_AUTH_CONNECT_V4&amp;lt;/layerKey&amp;gt;&lt;br /&gt;
                &amp;lt;subLayerKey&amp;gt;FWPM_SUBLAYER_UNIVERSAL&amp;lt;/subLayerKey&amp;gt;&lt;br /&gt;
                &amp;lt;weight&amp;gt;&lt;br /&gt;
                    &amp;lt;type&amp;gt;FWP_EMPTY&amp;lt;/type&amp;gt;&lt;br /&gt;
                &amp;lt;/weight&amp;gt;&lt;br /&gt;
                &amp;lt;filterCondition numItems=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;item&amp;gt;&lt;br /&gt;
                        &amp;lt;fieldKey&amp;gt;FWPM_CONDITION_ALE_APP_ID&amp;lt;/fieldKey&amp;gt;&lt;br /&gt;
                        &amp;lt;matchType&amp;gt;FWP_MATCH_EQUAL&amp;lt;/matchType&amp;gt;&lt;br /&gt;
                        &amp;lt;conditionValue&amp;gt;&lt;br /&gt;
                            &amp;lt;type&amp;gt;FWP_BYTE_BLOB_TYPE&amp;lt;/type&amp;gt;&lt;br /&gt;
                            &amp;lt;byteBlob&amp;gt;&lt;br /&gt;
                                &amp;lt;data&amp;gt;irgendein binärer Blob -- nicht relevant&amp;lt;/data&amp;gt;&lt;br /&gt;
                                &amp;lt;asString&amp;gt;\device\harddiskvolume3\program files\mein\programm\programm.exe&amp;lt;/asString&amp;gt;&lt;br /&gt;
                            &amp;lt;/byteBlob&amp;gt;&lt;br /&gt;
                        &amp;lt;/conditionValue&amp;gt;&lt;br /&gt;
                    &amp;lt;/item&amp;gt;&lt;br /&gt;
                &amp;lt;/filterCondition&amp;gt;&lt;br /&gt;
                &amp;lt;action&amp;gt;&lt;br /&gt;
                    &amp;lt;type&amp;gt;FWP_ACTION_BLOCK&amp;lt;/type&amp;gt;&lt;br /&gt;
                    &amp;lt;filterType/&amp;gt;&lt;br /&gt;
                &amp;lt;/action&amp;gt;&lt;br /&gt;
                &amp;lt;rawContext&amp;gt;0&amp;lt;/rawContext&amp;gt;&lt;br /&gt;
                &amp;lt;reserved/&amp;gt;&lt;br /&gt;
                &amp;lt;filterId&amp;gt;76580&amp;lt;/filterId&amp;gt;&lt;br /&gt;
                &amp;lt;effectiveWeight&amp;gt;&lt;br /&gt;
                    &amp;lt;type&amp;gt;FWP_UINT64&amp;lt;/type&amp;gt;&lt;br /&gt;
                    &amp;lt;uint64&amp;gt;137438953472&amp;lt;/uint64&amp;gt;&lt;br /&gt;
                &amp;lt;/effectiveWeight&amp;gt;&lt;br /&gt;
            &amp;lt;/item&amp;gt;&lt;br /&gt;
        &amp;lt;/filters&amp;gt;&lt;br /&gt;
    &amp;lt;/item&amp;gt;&lt;br /&gt;
 &amp;lt;/layers&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;PowerShell Code zum Auslesen der geblockten Events:&#039;&#039;&#039;&lt;br /&gt;
  $filterEvents =@()&lt;br /&gt;
  $wfpXML = [System.Xml.XmlDocument](Get-Content C:\temp\wfpdiag.xml)&lt;br /&gt;
  foreach ($event in $wfpXML.wfpdiag.events.netEvent) {&lt;br /&gt;
  	$filterEvents += [pscustomobject]@{&lt;br /&gt;
 		filterID = $event.classifyDrop.filterId&lt;br /&gt;
 		localIP = $event.Header.localAddrV4&lt;br /&gt;
 		localPort = $event.Header.localPort&lt;br /&gt;
 		remoteIP = $event.Header.remoteAddrV4&lt;br /&gt;
 		remotePort = $event.Header.remotePort&lt;br /&gt;
 		direction = $event.classifyDrop.msFwpDirection&lt;br /&gt;
   	}&lt;br /&gt;
  }&lt;br /&gt;
  $filterEvents |ft&lt;br /&gt;
&lt;br /&gt;
== Neben Anmerkungen ==&lt;br /&gt;
&lt;br /&gt;
Wireshark kann diese Events nicht filtern. (Der Begriff ist glaube ich &#039;&#039;ETW&#039;&#039; Events). &amp;lt;br&amp;gt; &lt;br /&gt;
Möchte man nicht nur die geblockten WFP-Pakete sehen, sondern auch sonstigen Netzwerkverkehr, muss man &#039;&#039;&#039;netsh trace&#039;&#039;&#039; verwenden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;netsh trace start capture=yes persistent=no tracefile=c:\temp\trace.etl scenario=netconnection&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;netsh trace stop&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Damit kann man zusätzlich zum Netzwerktraffic auch die ETW/WFP-Events sehen. &amp;lt;br&amp;gt;&lt;br /&gt;
Dafür muss man das erzeugte ETL-File aber in Windows Netmon oder Message Analyzer öffnen.  &amp;lt;br&amp;gt;&lt;br /&gt;
Wireshark kann mit ETL nicht umgehen und auch die Umwandlung mit ETL2PCAPNG hilft nicht.  &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Netmon und Message Analyzer sind EOL, aber Netmon wird noch offiziell von Microsoft als Download angegeben.  &lt;br /&gt;
&lt;br /&gt;
In Netmon und Message Analyzer kann man nach WFP-gebockten Paketen filtern:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Netmon:&#039;&#039;&#039;&lt;br /&gt;
* NetEvent.MicrosoftWindowsWFP.WFP_CLASSIFY_DROP_EVENT&lt;br /&gt;
* NetEvent.MicrosoftWindowsWFP.WFP_CLASSIFY_DROP_EVENT.RemoteAddress.IPv4.Address == 192.168.0.2&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Message Analyzer:&#039;&#039;&#039;&lt;br /&gt;
* (Microsoft_Windows_WFP)&lt;br /&gt;
* (Microsoft_Windows_WFP.RemoteAddress.FlatAddress == 192.168.0.2)&lt;br /&gt;
&lt;br /&gt;
Im Event sieht man dann auch wieder die &#039;&#039;&#039;FilterID&#039;&#039;&#039; (in HEX).&lt;/div&gt;</summary>
		<author><name>Rueling</name></author>
	</entry>
	<entry>
		<id>https://wiki.wingeav.de/index.php?title=Zpool_virtuelle_Disk_erweitern&amp;diff=270</id>
		<title>Zpool virtuelle Disk erweitern</title>
		<link rel="alternate" type="text/html" href="https://wiki.wingeav.de/index.php?title=Zpool_virtuelle_Disk_erweitern&amp;diff=270"/>
		<updated>2025-05-24T05:36:40Z</updated>

		<summary type="html">&lt;p&gt;Rueling: Die Seite wurde neu angelegt: „Quelle: https://schroederdennis.de/tutorial-howto/zfs-virtuelle-disk-in-zfs-vergroessern-resize-zpool-machine/ &amp;lt;br&amp;gt; Der ZFS Pool vom Proxmox Backup Server war voll und musste vergrößert werden&amp;lt;br&amp;gt; Dazu habe ich im Proxmox die virtuelle Disk für den PBS vergrößert.&amp;lt;br&amp;gt; mit &amp;lt;b&amp;gt;lsblk&amp;lt;/b&amp;gt; sieht man dann schon, dass die Festplatte selbst (/dev/sdb) die neue Größe hat. Die Partition /dev/sdb1 und der Pool noch nicht.&amp;lt;br&amp;gt; Um die zu vergrößern führt man…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Quelle: https://schroederdennis.de/tutorial-howto/zfs-virtuelle-disk-in-zfs-vergroessern-resize-zpool-machine/ &amp;lt;br&amp;gt;&lt;br /&gt;
Der ZFS Pool vom Proxmox Backup Server war voll und musste vergrößert werden&amp;lt;br&amp;gt;&lt;br /&gt;
Dazu habe ich im Proxmox die virtuelle Disk für den PBS vergrößert.&amp;lt;br&amp;gt;&lt;br /&gt;
mit &amp;lt;b&amp;gt;lsblk&amp;lt;/b&amp;gt; sieht man dann schon, dass die Festplatte selbst (/dev/sdb) die neue Größe hat. Die Partition /dev/sdb1 und der Pool noch nicht.&amp;lt;br&amp;gt;&lt;br /&gt;
Um die zu vergrößern führt man folgende Befehle aus:&amp;lt;br&amp;gt;&lt;br /&gt;
 zpool list -v ### zeigt den Disknamen an&lt;br /&gt;
 find /dev/ -name scsi-0QEMU_QEMU_HARDDISK_drive-scsi1 ### gibt den vollständigen Pfad der Disk zurück&lt;br /&gt;
 zpool online -e backupstore /dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi1 ### vergrößert den ZFS Pool&lt;br /&gt;
 zpool list ### zeigt nun die neue Größe an&lt;/div&gt;</summary>
		<author><name>Rueling</name></author>
	</entry>
	<entry>
		<id>https://wiki.wingeav.de/index.php?title=WinSXS_Dateien_Fehlerhaft&amp;diff=269</id>
		<title>WinSXS Dateien Fehlerhaft</title>
		<link rel="alternate" type="text/html" href="https://wiki.wingeav.de/index.php?title=WinSXS_Dateien_Fehlerhaft&amp;diff=269"/>
		<updated>2025-04-09T19:16:11Z</updated>

		<summary type="html">&lt;p&gt;Rueling: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;wenn man beim Ausführen von &amp;lt;b&amp;gt;SFC /scannow&amp;lt;/b&amp;gt; Fehlerhafte Dateien oder Manifeste auftreten bzw. bei &amp;lt;b&amp;gt;Dism /Online /Cleanup-Image /RestoreHealth&amp;lt;/b&amp;gt; die Reparatur fehlschlägt weil die Dateien nicht online heruntergeladen oder lokal gefunden wurden, kann es helfen, eine Windows 10 (oder Server) WIM Datei zu mounten und das entsprechende Update, das diese Dateien enthält in die WIM zu installieren.&amp;lt;br&amp;gt;&lt;br /&gt;
Danach sollte &lt;br /&gt;
 Dism /Online /Cleanup-Image /RestoreHealth /Source:wim:C:\temp\install.wim:1 /LimitAccess&lt;br /&gt;
oder&lt;br /&gt;
 Dism /Online /Cleanup-Image /RestoreHealth /Source:\\&amp;lt;server&amp;gt;\C$\Windows /LimitAccess&lt;br /&gt;
die Dateien wiederherstellen können.&lt;br /&gt;
&lt;br /&gt;
In der C:\Windows\Logs\CBS\cbs.log stehen z.B. folgende Einträge:&lt;br /&gt;
 2020-04-23 23:28:44, Error                 CBS    Failed to look for file WinSxS\Manifests\x86_netfx4-globalserifcf_b03f5f7f11d50a3a_4.0.15788.328_none_1e9f7453db8db61b.manifest in some alternate sources [HRESULT = 0x80070003 - ERROR_PATH_NOT_FOUND]&lt;br /&gt;
 2020-04-23 23:28:44, Info                  CBS    Repr: Not able to find replacement manifests for component x86_netfx4-globalserifcf_b03f5f7f11d50a3a_4.0.15788.328_none_1e9f7453db8db61b from any local source&lt;br /&gt;
&lt;br /&gt;
 2020-04-23 23:20:08, Info                  CSI    00000007 Manifest hash for component [l:77 ml:140]&#039;x86_netfx4-globalserifcf_b03f5f7f11d50a3a_4.0.15788.328_none_1e9f7453db8db61b&#039; does not match expected value. &lt;br /&gt;
 Expected:{l:32 b:57632c7a093132e166a120033b242fa3850cc68a33812946afc646b41f000476}&lt;br /&gt;
 Found:{l:32 b:aa5d4a93a18a877fd1839669095f0f8b7946d0198a40e16b66c7f60c73dc7538}.&lt;br /&gt;
 2020-04-23 23:20:08, Info                  CSI    00000008 Unable to load manifest for component [l:77 ml:140]&#039;x86_netfx4-globalserifcf_b03f5f7f11d50a3a_4.0.15788.328_none_1e9f7453db8db61b&#039;&lt;br /&gt;
 2020-04-23 23:20:08, Info                  CSI    00000009 Manifest hash mismatch. Component: [l:77 ml:140]&#039;x86_netfx4-globalserifcf_b03f5f7f11d50a3a_4.0.15788.328_none_1e9f7453db8db61b&#039;&lt;br /&gt;
 2020-04-23 23:20:08, Info                  CSI    0000000a Warning: Unable to repair manifest for component ([l:77 ml:140]&#039;x86_netfx4-globalserifcf_b03f5f7f11d50a3a_4.0.15788.328_none_1e9f7453db8db61b&#039;) from backups directory with disposition (2). A backup file may not exist or may be corrupt. Falling back to WU.&lt;br /&gt;
&lt;br /&gt;
bzw. bei einem Server 2022 hatte ich folgende Einträge&lt;br /&gt;
  (F) STATUS_OBJECT_NAME_NOT_FOUND #18524# from Windows::Rtl::SystemImplementation::DirectFileSystemProvider::SysCreateFile(flags = 0, handle = {provider=NULL, handle=0, name= (&amp;quot;null&amp;quot;)}, da = (FILE_GENERIC_READ|DELETE), oa = @0xc98b07cfe0-&amp;gt;OBJECT_ATTRIBUTES {s:48; rd:NULL; on:[118]&#039;\?? \C:\Windows\Servicing\Packages\Microsoft-Hyper-V-Offline-Common-Package~31bf3856ad364e35~amd64~~10.0.20348.3451.cat&#039;&lt;br /&gt;
bzw&lt;br /&gt;
  Repr: Could not find missing package manifest/cat for package:Microsoft-Windows-SearchEngine-Server-Package-onecoreuap-Package~31bf3856ad364e35~amd64~~10.0.20348.3451 in the sandbox&lt;br /&gt;
&lt;br /&gt;
Anhand der Versionsnummer &amp;lt;b&amp;gt;4.0.15788.32&amp;lt;/b&amp;gt; (bzw. &amp;lt;b&amp;gt;10.0.20348.3451&amp;lt;/b&amp;gt;) lässt sich evtl ermitteln, um welches Update es sich handelt. &amp;lt;br&amp;gt;&lt;br /&gt;
Im konkreten Beispiel ergab die Suche eine CSV-Datei mit der KB-Nummer und den Dateiennamen als Inhalt.&amp;lt;br&amp;gt;&lt;br /&gt;
Anhand der KB-Nummer konnte das NET-Framework Update von 2020-02 ermittelt werden. &lt;br /&gt;
&lt;br /&gt;
Um zu prüfen ob ein Update (.msu) die benötigten Dateien enthält, kann man das Update entpacken&lt;br /&gt;
 expand -f:* &amp;lt;Pfad-zu-Update.msu&amp;gt; &amp;lt;Ziel-Pfad&amp;gt;&lt;br /&gt;
In der darin enthaltenen .cab Datei findet man die Dateien&lt;br /&gt;
&lt;br /&gt;
Aus einem (speziellen) Windows 10 ISO konnte die install.wim kopiert und gemountet werden (mount-windowsimage). In das gemountete Image wurde dann die Update-Datei (.msu) installiert (Add-WindowsPackage -PackagePath &amp;lt;MSU-Datei&amp;gt; -Path &amp;lt;WIM-Mount-Pfad&amp;gt;). Nach einem Dismount-WindowsImage mit &amp;quot;-Save&amp;quot; hatte man eine angepasste WIM für DISM&amp;lt;br&amp;gt;&lt;br /&gt;
Oder man findet einen Rechner auf dem das entsprechende Update läuft und gibt das dann beim DISM als Source an&lt;/div&gt;</summary>
		<author><name>Rueling</name></author>
	</entry>
	<entry>
		<id>https://wiki.wingeav.de/index.php?title=Network_Capture&amp;diff=268</id>
		<title>Network Capture</title>
		<link rel="alternate" type="text/html" href="https://wiki.wingeav.de/index.php?title=Network_Capture&amp;diff=268"/>
		<updated>2025-03-22T12:26:14Z</updated>

		<summary type="html">&lt;p&gt;Rueling: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Aufzeichnung =&lt;br /&gt;
&lt;br /&gt;
Um Netzwerktraffic bzw. Datenverkehr oder Pakete aufzuzeichnen gibt es verschiedene Optionen.&amp;lt;br&amp;gt;&lt;br /&gt;
Bei den hier genannten Varianten geht es eigentlich nur darum den Network Traffic mit seiner Größe zu ermitteln. D.h. die Paket Inhalte sind uninteressant&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Wireshare/Tshark ===&lt;br /&gt;
&lt;br /&gt;
Die bekannteste Option ist Wireshark mit NPCap Treiber.&amp;lt;br&amp;gt;&lt;br /&gt;
NPCap hat allerdings einen Haken, nämlich bei Kommerzieller Anwendung. Das ist nicht oder nur eingeschränkt (5 Installationen von NpCAP) erlaubt.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Wireshark liefert das CLI Tool TShark mit, um Aufzeichnungen in eine Datei zu speichern und später damit zu analysieren.&amp;lt;br&amp;gt;&lt;br /&gt;
Der Capture Aufruf ist folgender:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;tshark.exe -i 8 -w C:\temp\tsharktrace.pcapng -f &amp;amp;quot;tcp port 445&amp;amp;quot; -s 128 -b filesize:512000000 -b files:1 -q&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;-i 8&#039;&#039; ist das Netzwerk Interface. Die Automatische Ermittlung scheint nicht so gut zu funktionieren&amp;lt;br&amp;gt;&lt;br /&gt;
Mit &amp;lt;code&amp;gt;tshark.exe -D&amp;lt;/code&amp;gt; kann man sich die Interfaces anzeigen lassen. Ich musste das “Ethernet” wählen.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;-f “tcp port 445”&#039;&#039; schränkt die Aufzeichnung auf SMB Pakete ein.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;-b files:1&#039;&#039; legt fest, dass nur in eine Datei geschrieben werden soll. Normalerweise würde thsark nach erreichen der angegebene filesize in eine neue Datei schreiben. So aber überschreibt er die eigene Datei wieder, womit sichergestellt werden kann, dass nicht zu viel Speicherplatz auf dem Datenträger benutzt wird&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;-s 128&#039;&#039; gibt an, dass die Pakete nach 128 Byte abgeschnitten werden sollen. Damit soll erreicht werden, dass nur Header aufgezeichnet werden.&amp;lt;br&amp;gt;&lt;br /&gt;
Die minimale TCP/IP Header Größe beträgt 54 Byte. IP und TCP Header können aber jeweils noch Optionen enthalten, was die Header vergrößert. Mit 128 Byte ist man auf der sicheren Seite&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Powershell NetEventSession ===&lt;br /&gt;
&lt;br /&gt;
Powershell bietet auch die Möglichkeit Pakete aufzuzeichnen. Die Möglichkeiten für Filter und Einstellungen sind aber im Vergleich zu Wireshark stark eingeschränkt.&amp;lt;br&amp;gt;&lt;br /&gt;
Hier ein Beispiel, wie man TCP Sessions aufzeichnen kann. Eine Einschränkung auf bestimmte Ports ist nicht möglich&amp;lt;br&amp;gt;&lt;br /&gt;
 New-NetEventSession -Name &amp;amp;quot;HeaderOnlySession&amp;amp;quot; -LocalFilePath &amp;amp;quot;C:\temp\PSTrace.etl&amp;amp;quot; -MaxFileSize 512000&amp;lt;br&amp;gt;&lt;br /&gt;
 Add-NetEventPacketCaptureProvider -SessionName &amp;amp;quot;HeaderOnlySession&amp;amp;quot; -TruncationLength 128 -IpProtocols 6&amp;lt;br&amp;gt;&lt;br /&gt;
 Start-NetEventSession -Name &amp;amp;quot;HeaderOnlySession&amp;amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
 Stop-NetEventSession -Name &amp;amp;quot;HeaderOnlySession&amp;amp;quot;&lt;br /&gt;
&#039;&#039;-TruncationLength 128&#039;&#039; gibt an, dass die Pakete nach 128 Byte abgeschnitten werden sollen.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;-IpProtocols 6&#039;&#039; gibt an, dass nur TCP Pakete aufgezeichnet werden sollen&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Die Aufzeichnung wird in ETL Dateien geschrieben. Diese konnte man “früher” mit dem Microsoft Netzwerk Analyse Tool öffnen. Das gibt es aber nicht mehr.&amp;lt;br&amp;gt;&lt;br /&gt;
Um die Daten in Wireshark zu verwenden, muss man die in pcapng Dateien umwandeln. Dafür gibt es von Microsoft einen Konverter “etl2pcapng”&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== netsh trace ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;netsh trace&#039;&#039; kann ebenfalls Pakete aufzeichnen und ist direkt in Windows integriert (ist das Powershell NetEventSession aber auch)&amp;lt;br&amp;gt;&lt;br /&gt;
Eine Aufzeichnung geht mit&lt;br /&gt;
&amp;lt;code&amp;gt;netsh trace start capture=yes tracefile=c:\temp\nettrace.etl maxsize=512000 protocol=TCP&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
gestoppt wird das ganze dann mit &amp;lt;code&amp;gt;netsh trace stop&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Gegenüber der Powershell Variante hat es zwei Nachteile.&amp;lt;br&amp;gt;&lt;br /&gt;
1. Man kann die Paketgröße nicht einschränken&amp;lt;br&amp;gt;&lt;br /&gt;
2. Beim stoppen wird ein Merge in eine neue Datei erstellt. Diese wird vermutlich genauso groß, wie die aufgezeichnete Datei. Man benötigt also bei Aufzeichnungen den doppelten Speicherplatz&amp;lt;br&amp;gt;&lt;br /&gt;
Es hat damit keine Vorteile gegenüber Powershell&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Analyse =&lt;br /&gt;
&lt;br /&gt;
Die Analyse wird mit tshark durchgeführt.&amp;lt;br&amp;gt;&lt;br /&gt;
Es gibt dabei verschiedenen Möglichkeiten&amp;lt;br&amp;gt;&lt;br /&gt;
# tshark -r C:\Temp\tsharktrace.pcapng -q -z conv,ip -Y “tcp.port == 445”&amp;lt;br&amp;gt; Zeigt eine Übersicht mit Datenmenge pro IP Adresse für hier als Beispiel SMB&amp;lt;br&amp;gt; Die Ausgabe zeigt leider keine Ports an, daher sollte auf den Port gefiltert werden&amp;lt;br&amp;gt; Das Ergebnis sieht das so aus:&amp;lt;br&amp;gt; &amp;lt;code&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;|&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;-&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;|&amp;amp;nbsp;|&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;-&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;|&amp;amp;nbsp;|&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Total&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;|&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Relative&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;|&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Duration&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;|&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt; &amp;lt;code&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;|&amp;amp;nbsp;Frames&amp;amp;nbsp;&amp;amp;nbsp;Bytes&amp;amp;nbsp;|&amp;amp;nbsp;|&amp;amp;nbsp;Frames&amp;amp;nbsp;&amp;amp;nbsp;Bytes&amp;amp;nbsp;|&amp;amp;nbsp;|&amp;amp;nbsp;Frames&amp;amp;nbsp;&amp;amp;nbsp;Bytes&amp;amp;nbsp;|&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Start&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;|&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;|&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;192.168.1.1&amp;amp;nbsp;&amp;lt;-&amp;gt;&amp;amp;nbsp;192.168.1.2&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;1067249&amp;amp;nbsp;1196&amp;amp;nbsp;MB&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;766444&amp;amp;nbsp;144&amp;amp;nbsp;MB&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;1833693&amp;amp;nbsp;1341&amp;amp;nbsp;MB&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;1,832898000&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;1920,9941&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
# tshark -r C:\Temp\tsharktrace.pcapng -q -z conv,tcp&amp;lt;br&amp;gt; Zeigt eine Übersicht mit Datenmenge pro Port an. Hier ohne Einschränkung auf den Port. Da der Quellport i.d.R. dynamisch ist, sieht man hiermit keine Gesamtübersicht sondern nur pro Verbindung&amp;lt;br&amp;gt; Das Ergebnis sieht das so aus:&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;|&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;-&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;|&amp;amp;nbsp;|&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;-&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;|&amp;amp;nbsp;|&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Total&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;|&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Relative&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;|&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Duration&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;|&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;|&amp;amp;nbsp;Frames&amp;amp;nbsp;&amp;amp;nbsp;Bytes&amp;amp;nbsp;|&amp;amp;nbsp;|&amp;amp;nbsp;Frames&amp;amp;nbsp;&amp;amp;nbsp;Bytes&amp;amp;nbsp;|&amp;amp;nbsp;|&amp;amp;nbsp;Frames&amp;amp;nbsp;&amp;amp;nbsp;Bytes&amp;amp;nbsp;|&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Start&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;|&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;|&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;192.168.1.1:51198&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;-&amp;gt;&amp;amp;nbsp;192.168.1.2:445&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;369680&amp;amp;nbsp;551&amp;amp;nbsp;MB&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;211039&amp;amp;nbsp;13&amp;amp;nbsp;MB&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;580719&amp;amp;nbsp;564&amp;amp;nbsp;MB&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;2,721871000&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;1462,5293&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;192.168.1.1:54172&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;-&amp;gt;&amp;amp;nbsp;192.168.1.2:445&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;2075&amp;amp;nbsp;568&amp;amp;nbsp;kB&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;2066&amp;amp;nbsp;606&amp;amp;nbsp;kB&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;4141&amp;amp;nbsp;1175&amp;amp;nbsp;kB&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;1472,621295000&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;451,8065&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
# tshark.exe -r  C:\Temp\tsharktrace.pcapng -T fields -e ip.src -e ip.dst -e ip.len -e tcp.srcport -e tcp.dstport -E separator=“,”&amp;lt;br&amp;gt;Ideal für die Weiterverarbeitung mit Powershell. Hiermit werden die Pakete einzeln ausgegeben mit den notwendigen Informationen, getrennt durch Komma&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Bei der Analyse der Powershell Trace (NetEventSession) und nettrace Daten gibt es etwas zu beachten.&amp;lt;br&amp;gt; Ich bin mir nicht sicher, ob es daran liegt, dass die Pakete abgeschnitten sind, aber nach der Konvertierung der ETL Dateien nach PCAPNG mit etl2pcapng funktioniert die Analyse mittels &amp;lt;code&amp;gt;tshark -r C:\Temp\tsharktrace.pcapng -q -z conv,ip -Y &amp;amp;quot;tcp.port == 445&amp;amp;quot;&amp;lt;/code&amp;gt; nicht.&amp;lt;br&amp;gt;&lt;br /&gt;
Es werden dabei immer alle Pakete ausgegeben, auch wenn die nicht dem Filter entsprechen.&amp;lt;br&amp;gt;&lt;br /&gt;
Für die Analyse mit Powershell (über &amp;lt;code&amp;gt;tshark.exe -r C:\temp\tsharktrace.pcapng  -T fields -e ip.src -e ip.dst -e ip.len -e tcp.srcport -e tcp.dstport -E separator=&amp;amp;quot;,&amp;amp;quot;&amp;lt;/code&amp;gt;) ist das kein Problem.&amp;lt;br&amp;gt;&lt;br /&gt;
Möchte man aber eine Analyse mit “conv,ip” muss man vorher alle Pakete mit dem entsprechenden Port in eine extra Datei rausschreiben: &amp;lt;code&amp;gt;tshark.exe -r .\PSTrace.pcapng  -Y &amp;amp;quot;tcp.port == 445&amp;amp;quot; -w .\PSTrace_445_.pcapng&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Danach kann man die Analyse auf die neue Datei machen&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Rueling</name></author>
	</entry>
	<entry>
		<id>https://wiki.wingeav.de/index.php?title=Network_Capture&amp;diff=267</id>
		<title>Network Capture</title>
		<link rel="alternate" type="text/html" href="https://wiki.wingeav.de/index.php?title=Network_Capture&amp;diff=267"/>
		<updated>2025-03-22T12:23:39Z</updated>

		<summary type="html">&lt;p&gt;Rueling: Die Seite wurde neu angelegt: „= Aufzeichnung =  Um Netzwerktraffic bzw. Datenverkehr oder Pakete aufzuzeichnen gibt es verschiedene Optionen.&amp;lt;br&amp;gt; Bei den hier genannten Varianten geht es eigentlich nur darum den Network Traffic mit seiner Größe zu ermitteln. D.h. die Paket Inhalte sind uninteressant&amp;lt;br&amp;gt;   === Wireshare/Tshark ===  Die bekannteste Option ist Wireshark mit NPCap Treiber.&amp;lt;br&amp;gt; NPCap hat allerdings einen Haken, nämlich bei Kommerzieller Anwendung. Das ist nicht oder nur…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Aufzeichnung =&lt;br /&gt;
&lt;br /&gt;
Um Netzwerktraffic bzw. Datenverkehr oder Pakete aufzuzeichnen gibt es verschiedene Optionen.&amp;lt;br&amp;gt;&lt;br /&gt;
Bei den hier genannten Varianten geht es eigentlich nur darum den Network Traffic mit seiner Größe zu ermitteln. D.h. die Paket Inhalte sind uninteressant&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Wireshare/Tshark ===&lt;br /&gt;
&lt;br /&gt;
Die bekannteste Option ist Wireshark mit NPCap Treiber.&amp;lt;br&amp;gt;&lt;br /&gt;
NPCap hat allerdings einen Haken, nämlich bei Kommerzieller Anwendung. Das ist nicht oder nur eingeschränkt (5 Installationen von NpCAP) erlaubt.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Wireshark liefert das CLI Tool TShark mit, um Aufzeichnungen in eine Datei zu speichern und später damit zu analysieren.&amp;lt;br&amp;gt;&lt;br /&gt;
Der Capture Aufruf ist folgender:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;tshark.exe -i 8 -w C:\temp\tsharktrace.pcapng -f &amp;amp;quot;tcp port 445&amp;amp;quot; -s 128 -b filesize:512000000 -b files:1 -q&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;-i 8&#039;&#039; ist das Netzwerk Interface. Die Automatische Ermittlung scheint nicht so gut zu funktionieren&amp;lt;br&amp;gt;&lt;br /&gt;
Mit &amp;lt;code&amp;gt;tshark.exe -D&amp;lt;/code&amp;gt; kann man sich die Interfaces anzeigen lassen. Ich musste das “Ethernet” wählen.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;-f “tcp port 445”&#039;&#039; schränkt die Aufzeichnung auf SMB Pakete ein.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;-b files:1&#039;&#039; legt fest, dass nur in eine Datei geschrieben werden soll. Normalerweise würde thsark nach erreichen der angegebene filesize in eine neue Datei schreiben. So aber überschreibt er die eigene Datei wieder, womit sichergestellt werden kann, dass nicht zu viel Speicherplatz auf dem Datenträger benutzt wird&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;-s 128&#039;&#039; gibt an, dass die Pakete nach 128 Byte abgeschnitten werden sollen. Damit soll erreicht werden, dass nur Header aufgezeichnet werden.&amp;lt;br&amp;gt;&lt;br /&gt;
Die minimale TCP/IP Header Größe beträgt 54 Byte. IP und TCP Header können aber jeweils noch Optionen enthalten, was die Header vergrößert. Mit 128 Byte ist man auf der sicheren Seite&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Powershell NetEventSession ===&lt;br /&gt;
&lt;br /&gt;
Powershell bietet auch die Möglichkeit Pakete aufzuzeichnen. Die Möglichkeiten für Filter und Einstellungen sind aber im Vergleich zu Wireshark stark eingeschränkt.&amp;lt;br&amp;gt;&lt;br /&gt;
Hier ein Beispiel, wie man TCP Sessions aufzeichnen kann. Eine Einschränkung auf bestimmte Ports ist nicht möglich&amp;lt;br&amp;gt;&lt;br /&gt;
 New-NetEventSession -Name &amp;amp;quot;HeaderOnlySession&amp;amp;quot; -LocalFilePath &amp;amp;quot;C:\temp\PSTrace.etl&amp;amp;quot; -MaxFileSize 512000&amp;lt;br&amp;gt;&lt;br /&gt;
 Add-NetEventPacketCaptureProvider -SessionName &amp;amp;quot;HeaderOnlySession&amp;amp;quot; -TruncationLength 128 -IpProtocols 6&amp;lt;br&amp;gt;&lt;br /&gt;
 Start-NetEventSession -Name &amp;amp;quot;HeaderOnlySession&amp;amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
 Stop-NetEventSession -Name &amp;amp;quot;HeaderOnlySession&amp;amp;quot;&lt;br /&gt;
&#039;&#039;-TruncationLength 128&#039;&#039; gibt an, dass die Pakete nach 128 Byte abgeschnitten werden sollen.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;-IpProtocols 6&#039;&#039; gibt an, dass nur TCP Pakete aufgezeichnet werden sollen&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Die Aufzeichnung wird in ETL Dateien geschrieben. Diese konnte man “früher” mit dem Microsoft Netzwerk Analyse Tool öffnen. Das gibt es aber nicht mehr.&amp;lt;br&amp;gt;&lt;br /&gt;
Um die Daten in Wireshark zu verwenden, muss man die in pcapng Dateien umwandeln. Dafür gibt es von Microsoft einen Konverter “etl2pcapng”&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== netsh trace ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;netsh trace&#039;&#039; kann ebenfalls Pakete aufzeichnen und ist direkt in Windows integriert (ist das Powershell NetEventSession aber auch)&amp;lt;br&amp;gt;&lt;br /&gt;
Eine Aufzeichnung geht mit&lt;br /&gt;
&amp;lt;code&amp;gt;netsh trace start capture=yes tracefile=c:\temp\nettrace.etl maxsize=512000 protocol=TCP&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
gestoppt wird das ganze dann mit &amp;lt;code&amp;gt;netsh trace stop&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Gegenüber der Powershell Variante hat es zwei Nachteile.&amp;lt;br&amp;gt;&lt;br /&gt;
1. Man kann die Paketgröße nicht einschränken&amp;lt;br&amp;gt;&lt;br /&gt;
2. Beim stoppen wird ein Merge in eine neue Datei erstellt. Diese wird vermutlich genauso groß, wie die aufgezeichnete Datei. Man benötigt also bei Aufzeichnungen den doppelten Speicherplatz&amp;lt;br&amp;gt;&lt;br /&gt;
Es hat damit keine Vorteile gegenüber Powershell&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Analyse =&lt;br /&gt;
&lt;br /&gt;
Die Analyse wird mit tshark durchgeführt.&amp;lt;br&amp;gt;&lt;br /&gt;
Es gibt dabei verschiedenen Möglichkeiten&amp;lt;br&amp;gt;&lt;br /&gt;
# tshark -r C:\Temp\tsharktrace.pcapng -q -z conv,ip -Y “tcp.port == 445”&amp;lt;br&amp;gt; Zeigt eine Übersicht mit Datenmenge pro IP Adresse für hier als Beispiel SMB&amp;lt;br&amp;gt; Die Ausgabe zeigt leider keine Ports an, daher sollte auf den Port gefiltert werden&amp;lt;br&amp;gt; Das Ergebnis sieht das so aus:&amp;lt;br&amp;gt; &amp;lt;code&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;|&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;-&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;|&amp;amp;nbsp;|&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;-&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;|&amp;amp;nbsp;|&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Total&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;|&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Relative&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;|&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Duration&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;|&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt; &amp;lt;code&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;|&amp;amp;nbsp;Frames&amp;amp;nbsp;&amp;amp;nbsp;Bytes&amp;amp;nbsp;|&amp;amp;nbsp;|&amp;amp;nbsp;Frames&amp;amp;nbsp;&amp;amp;nbsp;Bytes&amp;amp;nbsp;|&amp;amp;nbsp;|&amp;amp;nbsp;Frames&amp;amp;nbsp;&amp;amp;nbsp;Bytes&amp;amp;nbsp;|&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Start&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;|&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;|&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;192.168.1.1&amp;amp;nbsp;&amp;lt;-&amp;gt;&amp;amp;nbsp;192.168.1.2&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;1067249&amp;amp;nbsp;1196&amp;amp;nbsp;MB&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;766444&amp;amp;nbsp;144&amp;amp;nbsp;MB&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;1833693&amp;amp;nbsp;1341&amp;amp;nbsp;MB&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;1,832898000&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;1920,9941&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
# tshark -r C:\Temp\tsharktrace.pcapng -q -z conv,tcp&amp;lt;br&amp;gt; Zeigt eine Übersicht mit Datenmenge pro Port an. Hier ohne Einschränkung auf den Port. Da der Quellport i.d.R. dynamisch ist, sieht man hiermit keine Gesamtübersicht sondern nur pro Verbindung&amp;lt;br&amp;gt; Das Ergebnis sieht das so aus:&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;|&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;-&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;|&amp;amp;nbsp;|&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;-&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;|&amp;amp;nbsp;|&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Total&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;|&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Relative&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;|&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Duration&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;|&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;|&amp;amp;nbsp;Frames&amp;amp;nbsp;&amp;amp;nbsp;Bytes&amp;amp;nbsp;|&amp;amp;nbsp;|&amp;amp;nbsp;Frames&amp;amp;nbsp;&amp;amp;nbsp;Bytes&amp;amp;nbsp;|&amp;amp;nbsp;|&amp;amp;nbsp;Frames&amp;amp;nbsp;&amp;amp;nbsp;Bytes&amp;amp;nbsp;|&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Start&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;|&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;|&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;192.168.1.1:54172&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;-&amp;gt;&amp;amp;nbsp;192.168.1.2:445&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;369680&amp;amp;nbsp;551&amp;amp;nbsp;MB&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;211039&amp;amp;nbsp;13&amp;amp;nbsp;MB&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;580719&amp;amp;nbsp;564&amp;amp;nbsp;MB&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;2,721871000&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;1462,5293&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;192.168.1.1:54172&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;-&amp;gt;&amp;amp;nbsp;192.168.1.2:445&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;2075&amp;amp;nbsp;568&amp;amp;nbsp;kB&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;2066&amp;amp;nbsp;606&amp;amp;nbsp;kB&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;4141&amp;amp;nbsp;1175&amp;amp;nbsp;kB&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;1472,621295000&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;451,8065&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
# tshark.exe -r  C:\Temp\tsharktrace.pcapng -T fields -e ip.src -e ip.dst -e ip.len -e tcp.srcport -e tcp.dstport -E separator=“,”&amp;lt;br&amp;gt;Ideal für die Weiterverarbeitung mit Powershell. Hiermit werden die Pakete einzeln ausgegeben mit den notwendigen Informationen, getrennt durch Komma&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Bei der Analyse der Powershell Trace (NetEventSession) und nettrace Daten gibt es etwas zu beachten.&amp;lt;br&amp;gt; Ich bin mir nicht sicher, ob es daran liegt, dass die Pakete abgeschnitten sind, aber nach der Konvertierung der ETL Dateien nach PCAPNG mit etl2pcapng funktioniert die Analyse mittels &amp;lt;code&amp;gt;tshark -r C:\Temp\tsharktrace.pcapng -q -z conv,ip -Y &amp;amp;quot;tcp.port == 445&amp;amp;quot;&amp;lt;/code&amp;gt; nicht.&amp;lt;br&amp;gt;&lt;br /&gt;
Es werden dabei immer alle Pakete ausgegeben, auch wenn die nicht dem Filter entsprechen.&amp;lt;br&amp;gt;&lt;br /&gt;
Für die Analyse mit Powershell (über &amp;lt;code&amp;gt;tshark.exe -r C:\temp\tsharktrace.pcapng  -T fields -e ip.src -e ip.dst -e ip.len -e tcp.srcport -e tcp.dstport -E separator=&amp;amp;quot;,&amp;amp;quot;&amp;lt;/code&amp;gt;) ist das kein Problem.&amp;lt;br&amp;gt;&lt;br /&gt;
Möchte man aber eine Analyse mit “conv,ip” muss man vorher alle Pakete mit dem entsprechenden Port in eine extra Datei rausschreiben: &amp;lt;code&amp;gt;tshark.exe -r .\PSTrace.pcapng  -Y &amp;amp;quot;tcp.port == 445&amp;amp;quot; -w .\PSTrace_445_.pcapng&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Danach kann man die Analyse auf die neue Datei machen&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Rueling</name></author>
	</entry>
	<entry>
		<id>https://wiki.wingeav.de/index.php?title=Dienste_Remote_starten_und_stoppen_ohne_Adminrechte&amp;diff=266</id>
		<title>Dienste Remote starten und stoppen ohne Adminrechte</title>
		<link rel="alternate" type="text/html" href="https://wiki.wingeav.de/index.php?title=Dienste_Remote_starten_und_stoppen_ohne_Adminrechte&amp;diff=266"/>
		<updated>2025-02-25T11:29:28Z</updated>

		<summary type="html">&lt;p&gt;Rueling: Die Seite wurde neu angelegt: „Um Dienste/Services Remote zu ermitteln, starten und stoppen, ohne Admin Rechte auf dem Zielsystem zu haben, muss man folgende Schritte ausführen # Benutzer zur lokalen Gruppe &amp;quot;Remote Management Users&amp;quot; hinzufügen # wmimgmt.msc aufrufen  ## Eigenschaften von WMI Control (Local) öffnen ## zu Root\cimv2 wechseln und &amp;quot;Security&amp;quot; öffnen ## Gruppe &amp;quot;Remote Management Users&amp;quot; hinzufügen und die Berechtigung &amp;quot;Remote Enable&amp;quot; geben # in einer commandline (nicht P…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Um Dienste/Services Remote zu ermitteln, starten und stoppen, ohne Admin Rechte auf dem Zielsystem zu haben, muss man folgende Schritte ausführen&lt;br /&gt;
# Benutzer zur lokalen Gruppe &amp;quot;Remote Management Users&amp;quot; hinzufügen&lt;br /&gt;
# wmimgmt.msc aufrufen &lt;br /&gt;
## Eigenschaften von WMI Control (Local) öffnen&lt;br /&gt;
## zu Root\cimv2 wechseln und &amp;quot;Security&amp;quot; öffnen&lt;br /&gt;
## Gruppe &amp;quot;Remote Management Users&amp;quot; hinzufügen und die Berechtigung &amp;quot;Remote Enable&amp;quot; geben&lt;br /&gt;
# in einer commandline (nicht Powershell) folgendes ausführen&lt;br /&gt;
## Servicemanager Berechtigungen sichern: sc sdshow scmanager &amp;gt; C:\Temp\Scmananger.txt&lt;br /&gt;
## Zu den Berechtigungen vor dem &amp;quot;S:&amp;quot; folgendes hinzufügen: &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;(A;;CCLCRPRC;;;S-1-5-32-580)&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;Damit bekommt die Gruppe &amp;quot;Remote Management Users&amp;quot; die Rechte mit den Diensten zu interagieren &amp;lt;br&amp;gt;&lt;br /&gt;
## Der Befehl könnte am Ende so aussehen: &amp;lt;b&amp;gt;sc sdset scmanager D:(A;;CC;;;AU)(A;;CCLCRPRC;;;IU)(A;;CCLCRPRC;;;SU)(A;;CCLCRPWPRC;;;SY)(A;;KA;;;BA)(A;;CC;;;AC)(A;;CC;;;S-1-15-3-1024-528118966-3876874398-709513571-1907873084-3598227634-3698730060-278077788-3990600205)(A;;CCLCRPRC;;;S-1-5-32-580)S:(AU;FA;KA;;;WD)(AU;OIIOFA;GA;;;WD)&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 CC - SC_MANAGER_CONNECT - remotely connect&lt;br /&gt;
 LC - SC_MANAGER_ENUMERATE_SERVICE - list all services&lt;br /&gt;
 RP - SC_MANAGER_QUERY_LOCK_STATUS - interogate the status of each&lt;br /&gt;
 RC - STANDARD_RIGHTS_READ - read the permissions of scmanager and services&lt;/div&gt;</summary>
		<author><name>Rueling</name></author>
	</entry>
	<entry>
		<id>https://wiki.wingeav.de/index.php?title=Reset_Windows_Password&amp;diff=265</id>
		<title>Reset Windows Password</title>
		<link rel="alternate" type="text/html" href="https://wiki.wingeav.de/index.php?title=Reset_Windows_Password&amp;diff=265"/>
		<updated>2025-02-25T06:48:20Z</updated>

		<summary type="html">&lt;p&gt;Rueling: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Benutzer Passwort von einem Windows System zurücksetzen&amp;lt;br&amp;gt;&lt;br /&gt;
1. Windows vom Setup oder Recovery Console starten&amp;lt;br&amp;gt;&lt;br /&gt;
2. Regedit ausführen und die lokale Windows System Registry Hive nach HKLM laden (Name z.B. Temp) &amp;lt;br&amp;gt;&lt;br /&gt;
3. zu dem geladenen SYSTEM Hive (z.B. Temp wechseln). &amp;lt;br&amp;gt;&lt;br /&gt;
4. darunter gibt es einen Ordner &amp;quot;Setup&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
5. zwei Werte Ändern: CmdLine von &amp;quot;&amp;quot; auf cmd.exe und SetupType von 0 auf 2&amp;lt;br&amp;gt;&lt;br /&gt;
6. Neustart, danach öffnet sich gleich das CMD Fenster&amp;lt;br&amp;gt;&lt;br /&gt;
7. Powershell daraus starten und folgendes Powershell ausführen:&amp;lt;br&amp;gt;&lt;br /&gt;
   $Password = Read-Host -AsSecureString&lt;br /&gt;
   New-LocalUser -Name &#039;TempAdmin&#039; -Password $Password&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Rueling</name></author>
	</entry>
	<entry>
		<id>https://wiki.wingeav.de/index.php?title=Reset_Windows_Password&amp;diff=264</id>
		<title>Reset Windows Password</title>
		<link rel="alternate" type="text/html" href="https://wiki.wingeav.de/index.php?title=Reset_Windows_Password&amp;diff=264"/>
		<updated>2025-02-25T06:48:06Z</updated>

		<summary type="html">&lt;p&gt;Rueling: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Benutzer Passwort von einem Windows System zurücksetzen&amp;lt;br&amp;gt;&lt;br /&gt;
1. Windows vom Setup oder Recovery Console starten&amp;lt;br&amp;gt;&lt;br /&gt;
2. Regedit ausführen und die lokale Windows System Registry Hive nach HKLM laden (Name z.B. Temp) &amp;lt;br&amp;gt;&lt;br /&gt;
3. zu dem geladenen SYSTEM Hive (z.B. Temp wechseln). &amp;lt;br&amp;gt;&lt;br /&gt;
4. darunter gibt es einen Ordner &amp;quot;Setup&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
5. zwei Werte Ändern: CmdLine von &amp;quot;&amp;quot; auf cmd.exe und SetupType von 0 auf 2&amp;lt;br&amp;gt;&lt;br /&gt;
6. Neustart, danach öffnet sich gleich das CMD Fenster&amp;lt;br&amp;gt;&lt;br /&gt;
7. Powershell daraus starten und folgendes Powershell ausführen:&amp;lt;br&amp;gt;&lt;br /&gt;
   $Password = Read-Host -AsSecureString&amp;lt;br&amp;gt;&lt;br /&gt;
   New-LocalUser -Name &#039;TempAdmin&#039; -Password $Password&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Rueling</name></author>
	</entry>
	<entry>
		<id>https://wiki.wingeav.de/index.php?title=Reset_Windows_Password&amp;diff=263</id>
		<title>Reset Windows Password</title>
		<link rel="alternate" type="text/html" href="https://wiki.wingeav.de/index.php?title=Reset_Windows_Password&amp;diff=263"/>
		<updated>2025-02-25T06:47:51Z</updated>

		<summary type="html">&lt;p&gt;Rueling: Die Seite wurde neu angelegt: „Benutzer Passwort von einem Windows System zurücksetzen 1. Windows vom Setup oder Recovery Console starten&amp;lt;br&amp;gt; 2. Regedit ausführen und die lokale Windows System Registry Hive nach HKLM laden (Name z.B. Temp)  3. zu dem geladenen SYSTEM Hive (z.B. Temp wechseln).  4. darunter gibt es einen Ordner &amp;quot;Setup&amp;quot; 5. zwei Werte Ändern: CmdLine von &amp;quot;&amp;quot; auf cmd.exe und SetupType von 0 auf 2 6. Neustart, danach öffnet sich gleich das CMD Fenster 7. Powershell darau…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Benutzer Passwort von einem Windows System zurücksetzen&lt;br /&gt;
1. Windows vom Setup oder Recovery Console starten&amp;lt;br&amp;gt;&lt;br /&gt;
2. Regedit ausführen und die lokale Windows System Registry Hive nach HKLM laden (Name z.B. Temp) &lt;br /&gt;
3. zu dem geladenen SYSTEM Hive (z.B. Temp wechseln). &lt;br /&gt;
4. darunter gibt es einen Ordner &amp;quot;Setup&amp;quot;&lt;br /&gt;
5. zwei Werte Ändern: CmdLine von &amp;quot;&amp;quot; auf cmd.exe und SetupType von 0 auf 2&lt;br /&gt;
6. Neustart, danach öffnet sich gleich das CMD Fenster&lt;br /&gt;
7. Powershell daraus starten und folgendes Powershell ausführen:&lt;br /&gt;
   $Password = Read-Host -AsSecureString&lt;br /&gt;
   New-LocalUser -Name &#039;TempAdmin&#039; -Password $Password&lt;/div&gt;</summary>
		<author><name>Rueling</name></author>
	</entry>
	<entry>
		<id>https://wiki.wingeav.de/index.php?title=Enable_local_Administrator&amp;diff=262</id>
		<title>Enable local Administrator</title>
		<link rel="alternate" type="text/html" href="https://wiki.wingeav.de/index.php?title=Enable_local_Administrator&amp;diff=262"/>
		<updated>2024-03-12T09:16:15Z</updated>

		<summary type="html">&lt;p&gt;Rueling: Die Seite wurde neu angelegt: „Wenn der lokale Administrator Account deaktiviert ist, sollte man eigentlich trotzdem per abgesicherten Modus reinkommen. &amp;lt;br&amp;gt; Bei einem Windows 11 Rechner hat das nicht funktioniert.&amp;lt;br&amp;gt; Dafür gibt es dann folgende Option:&amp;lt;br&amp;gt; &amp;lt;ul&amp;gt; &amp;lt;li&amp;gt;Wiederherstellungsconsole starten&amp;lt;/li&amp;gt; &amp;lt;li&amp;gt;Registry öffnen und Hive laden und z.b. den Namen temp geben (nicht SAM!): C:\Windows\System32\config\SAM&amp;lt;/li&amp;gt; &amp;lt;li&amp;gt;wechseln zu HKEY_LOCAL_MACHINE\temp\SAM\Domains\Account\Users\…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Wenn der lokale Administrator Account deaktiviert ist, sollte man eigentlich trotzdem per abgesicherten Modus reinkommen. &amp;lt;br&amp;gt;&lt;br /&gt;
Bei einem Windows 11 Rechner hat das nicht funktioniert.&amp;lt;br&amp;gt;&lt;br /&gt;
Dafür gibt es dann folgende Option:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Wiederherstellungsconsole starten&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Registry öffnen und Hive laden und z.b. den Namen temp geben (nicht SAM!): C:\Windows\System32\config\SAM&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;wechseln zu HKEY_LOCAL_MACHINE\temp\SAM\Domains\Account\Users\000001F4 (01F4) ist i.d.R der lokale Administrator)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;den Wert &amp;quot;F&amp;quot; ändern und bei Zeile 38 (bzw. Byte 0x38) den Wert &amp;quot;11&amp;quot; löschen und durch &amp;quot;10&amp;quot; ersetzen&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Temp Hive wieder aushängen und neustarten&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Anmeldung als lokaler Administrator ist nun (mit entsprechendem Passwort) möglich&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;/div&gt;</summary>
		<author><name>Rueling</name></author>
	</entry>
	<entry>
		<id>https://wiki.wingeav.de/index.php?title=Linux_Software_RAID_mit_EFI&amp;diff=261</id>
		<title>Linux Software RAID mit EFI</title>
		<link rel="alternate" type="text/html" href="https://wiki.wingeav.de/index.php?title=Linux_Software_RAID_mit_EFI&amp;diff=261"/>
		<updated>2024-02-14T09:53:36Z</updated>

		<summary type="html">&lt;p&gt;Rueling: Die Seite wurde neu angelegt: „Linux kann nicht mit onBoard RAID von Intel umgehen. Das heißt eine Installation auf ein eingerichtet RAID mit einem onBoard RAID z.B. von Intel wird fehlgeschlagen   Die Alternative dazu ist das onBoard RAID aufzulösen und auf AHCI zu stellen und das RAID als Software RAID (mdadm) in Linux zu konfigurieren. Dabei gibt es aber einige Dinge zu beachten. z.B. funktioniert das nicht mit Desktop ISOs von Ubuntu, sondern es benötigt ein Ubuntu Server oder D…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Linux kann nicht mit onBoard RAID von Intel umgehen. Das heißt eine Installation auf ein eingerichtet RAID mit einem onBoard RAID z.B. von Intel wird fehlgeschlagen&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Alternative dazu ist das onBoard RAID aufzulösen und auf AHCI zu stellen und das RAID als Software RAID (mdadm) in Linux zu konfigurieren.&lt;br /&gt;
Dabei gibt es aber einige Dinge zu beachten. z.B. funktioniert das nicht mit Desktop ISOs von Ubuntu, sondern es benötigt ein Ubuntu Server oder Debian und ein Software RAID über eine EFI Partition funktioniert nicht mit grub (zumindest nicht während der Installation)&lt;br /&gt;
&lt;br /&gt;
Die Konfiguration während der Installation muss dabei wie folgt aussehen.&lt;br /&gt;
* auf beiden Datenträgern eine EFI (ESP) und eine root (/) Partition erstellen&lt;br /&gt;
* Im nächsten Schritt wird ein RAID 1 ausschließlich für die root Partition erstellt.&amp;lt;br&amp;gt;Das kann über das Setup gemacht werden, vorher verlangt das Setup, dass die in Schritt 1 geplante Konfiguration auf die Datenträger geschrieben wird.&amp;lt;br&amp;gt; manuell kann man das RAID auch mit mdadm einrichten: mdadm --create /dev/md0 --auto md --level=1 --raid-devices=2 /dev/sda2 /dev/sdb2 &amp;lt;br&amp;gt;Die EFI Partition bekommt kein RAID&lt;br /&gt;
* Das Setup nun ganz normal abschließen&lt;br /&gt;
&lt;br /&gt;
Nun muss noch der Bootloader auf dem zweiten Datenträger eingerichtet werden.&lt;br /&gt;
* prüfen, welches Laufwerk in /boot/efi gemountet ist: mount | grep /boot/efi&lt;br /&gt;
* normalerweise wird das /dev/sda1 sein. Die Partition nun unmounten: umount /boot/efi&lt;br /&gt;
* nun die EFI Partition des zweiten Datenträgers nach /boot/efi mounten: mount /dev/sdb1 /boot/efi&lt;br /&gt;
* Nun den grub bootloader installieren: grub-install --bootloader-id disk2 /dev/sdb&lt;br /&gt;
* wieder die default efi Partition mounten: umount /boot/efi; mount /boot/efi&lt;br /&gt;
* mit den folgenden Befehlen kann man prüfen und vergleichen, dass die beiden EFI Partitionen korrekt im bootloader konfiguriert sind:&amp;lt;br&amp;gt;ls -l /dev/disk/by-partuuid/&amp;lt;br&amp;gt;efibootmgr -v&amp;lt;br&amp;gt;eine weitere Option den EFI bootloader zu setzen ist mit dem folgenden Befehl (ungetestet): efibootmgr --create --disk /dev/sdb --part 1 --label &amp;quot;disk2&amp;quot; --loader “\EFI\debian\shimx64.efi”&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nun könnte theoretisch auch mit der zweiten Disk gestartet werden, allerdings wird das im Moment noch Probleme machen, da in der /etc/fstab die EFI Partition vom ersten Datenträger gemountet wird und wenn der nicht vorhanden ist, startet Linux nicht.&lt;br /&gt;
&lt;br /&gt;
Die /boot/efi Partition nicht zu mounten ist leider nur eine temporäre Option, die wird bei verschiedenen Updates benötigt z.B. Kernel Updates oder grub Update. Man könnte nun theoretisch die EFI Partition mit automount in der /etc/fstab konfigurieren (UUID=8E6E-7059  /boot/efi       vfat    umask=0077,x-systemd.automount) aber trotzdem müsste man dafür sorgen, dass die regelmäßig mit der Kopie synchronisiert wird.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dazu kann man nachträglich ein RAID über die EFI Partitionen erstellen.&lt;br /&gt;
Vorher prüfen, welcher Datenträger gerade den EFI Mount hat. Bei mir war es sdb1. Das RAID wird also mit den nicht gemounteten Datenträger erstellt&lt;br /&gt;
* RAID erstellen: mdadm --create /dev/md1 --level 1 --raid-disks 2 --metadata 1.0 /dev/sda1 missing&lt;br /&gt;
* als FAT32 formatieren (wird später trotzdem als vfat angezeigt): mkfs.fat -F32 /dev/md1&lt;br /&gt;
* neues RAID in temporären Ordner mounten: mkdir /tmp/RAID; mount /dev/md1 /tmp/RAID&lt;br /&gt;
* Daten von der aktuellen EFI Partition ins RAID kopieren: rsync -av --progress /boot/efi/ /tmp/RAID/&lt;br /&gt;
* ersten Datenträger unmounten und zum RAID hinzufügen: umount /dev/sdb1; mdadm --manage /dev/md1 --add /dev/sdb1&lt;br /&gt;
* aktuelle Partition UUID ermitteln und damit in der fstab den efi mount ersetzen: blkid /dev/md1 &lt;br /&gt;
* das neue RAID in der mdadm Konfiguration hinzufügen: mdadm --detail --scan | grep md1 &amp;gt;&amp;gt; /etc/mdadm/mdadm.conf&lt;br /&gt;
* Boot-Image aktualisieren: update-initramfs -u&lt;/div&gt;</summary>
		<author><name>Rueling</name></author>
	</entry>
	<entry>
		<id>https://wiki.wingeav.de/index.php?title=Linux_LVM_Volume_expand&amp;diff=260</id>
		<title>Linux LVM Volume expand</title>
		<link rel="alternate" type="text/html" href="https://wiki.wingeav.de/index.php?title=Linux_LVM_Volume_expand&amp;diff=260"/>
		<updated>2024-02-10T13:47:14Z</updated>

		<summary type="html">&lt;p&gt;Rueling: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;b&amp;gt;Vergrößern der Root-Partition&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Es wird growpart benötigt, in Ubuntu ist das Teil des Paketes cloud-guest-utils&amp;lt;br&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 growpart /dev/sda 3&lt;br /&gt;
 lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv&lt;br /&gt;
 resize2fs -p /dev/ubuntu-vg/ubuntu-lv&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Vergrößern der Daten-Partition ohne LVM&amp;lt;/b&amp;gt;&lt;br /&gt;
 growpart /dev/sdb 1&lt;br /&gt;
 resize2fs -p /dev/sdb1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alternative ist mit parted. Hier ein Beispiel inkl. Löschen der Swap Partition, falls diese hinter der root Partition liegt: https://www.golinuxcloud.com/extend-resize-primary-partition-non-lvm-linux/&lt;/div&gt;</summary>
		<author><name>Rueling</name></author>
	</entry>
	<entry>
		<id>https://wiki.wingeav.de/index.php?title=Firewall_GPO_mit_Powershell_bearbeiten&amp;diff=259</id>
		<title>Firewall GPO mit Powershell bearbeiten</title>
		<link rel="alternate" type="text/html" href="https://wiki.wingeav.de/index.php?title=Firewall_GPO_mit_Powershell_bearbeiten&amp;diff=259"/>
		<updated>2023-11-09T11:32:42Z</updated>

		<summary type="html">&lt;p&gt;Rueling: Die Seite wurde neu angelegt: „ $GPO = Open-NetGPO -PolicyStore &amp;quot;&amp;lt;DOMAIN&amp;gt;\GPO-Firewall  Get-NetFirewallProfile -GPOSession $GPO -Name &amp;quot;Domain&amp;quot; | Get-NetFirewallRule | Set-NetFirewallRule -RemoteAddress @(&amp;quot;1.1.1.1-2.2.2.2&amp;quot;, &amp;quot;3.3.3.3-4.4.4.4&amp;quot;)  Save-NetGPO -GPOSession $GPO“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; $GPO = Open-NetGPO -PolicyStore &amp;quot;&amp;lt;DOMAIN&amp;gt;\GPO-Firewall&lt;br /&gt;
 Get-NetFirewallProfile -GPOSession $GPO -Name &amp;quot;Domain&amp;quot; | Get-NetFirewallRule | Set-NetFirewallRule -RemoteAddress @(&amp;quot;1.1.1.1-2.2.2.2&amp;quot;, &amp;quot;3.3.3.3-4.4.4.4&amp;quot;)&lt;br /&gt;
 Save-NetGPO -GPOSession $GPO&lt;/div&gt;</summary>
		<author><name>Rueling</name></author>
	</entry>
	<entry>
		<id>https://wiki.wingeav.de/index.php?title=Powershell_generic_type_.net&amp;diff=258</id>
		<title>Powershell generic type .net</title>
		<link rel="alternate" type="text/html" href="https://wiki.wingeav.de/index.php?title=Powershell_generic_type_.net&amp;diff=258"/>
		<updated>2023-06-09T20:21:27Z</updated>

		<summary type="html">&lt;p&gt;Rueling: Die Seite wurde neu angelegt: „Wenn man in Powershell eine .NET Methode mit generic type (oder generic method?) aufrufen möchte, gibt es bisher keinen direkten Weg dafür.&amp;lt;br&amp;gt; Es lässt sich aber mit .NET Befehlen eine fertige Methode erstellen:&amp;lt;br&amp;gt; Beispiel Methode: &amp;lt;b&amp;gt;ParquetRowReader&amp;lt;TTuple&amp;gt; CreateRowReader&amp;lt;TTuple&amp;gt;(string path)&amp;lt;/b&amp;gt;    class myType   {     [System.Nullable[ParquetSharp.Int96]]$timestamp;     [String]$s1     [System.Nullable[System.Boolean]]$bool     [string[]]$s2…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Wenn man in Powershell eine .NET Methode mit generic type (oder generic method?) aufrufen möchte, gibt es bisher keinen direkten Weg dafür.&amp;lt;br&amp;gt;&lt;br /&gt;
Es lässt sich aber mit .NET Befehlen eine fertige Methode erstellen:&amp;lt;br&amp;gt;&lt;br /&gt;
Beispiel Methode: &amp;lt;b&amp;gt;ParquetRowReader&amp;lt;TTuple&amp;gt; CreateRowReader&amp;lt;TTuple&amp;gt;(string path)&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  class myType&lt;br /&gt;
  {&lt;br /&gt;
    [System.Nullable[ParquetSharp.Int96]]$timestamp;&lt;br /&gt;
    [String]$s1&lt;br /&gt;
    [System.Nullable[System.Boolean]]$bool&lt;br /&gt;
    [string[]]$s2&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  $method = [Namespace.Namespace.Class].GetMethod(&#039;CreateRowReader&#039;,[String]) ## wenn es mehrere Überladungen gibt, kann man die Parameter mit angeben&lt;br /&gt;
  # $method = [Namespace.Namespace.Class].GetMethod(&#039;CreateRowReader&#039;) ## gibt es keine mehreren Überladungen, reicht einfach der Methodenname&lt;br /&gt;
  $m = $method.MakeGenericMethod([myType]) ## Variable für den generic type übergeben. Hier im Beispiel für ein TTuple eine Class&lt;br /&gt;
  $p = $m.Invoke($null,&amp;quot;Parameter für Methode&amp;quot;) ## Methode mit Parameter aufrufen - $p enthält den Rückgabewert der Methode&lt;br /&gt;
  $p.ReadRows(0) ## mit dem Rückgabe Objekt einfach weiterarbeiten&lt;/div&gt;</summary>
		<author><name>Rueling</name></author>
	</entry>
	<entry>
		<id>https://wiki.wingeav.de/index.php?title=Smartcard_Authentication&amp;diff=257</id>
		<title>Smartcard Authentication</title>
		<link rel="alternate" type="text/html" href="https://wiki.wingeav.de/index.php?title=Smartcard_Authentication&amp;diff=257"/>
		<updated>2023-06-06T15:35:15Z</updated>

		<summary type="html">&lt;p&gt;Rueling: Die Seite wurde neu angelegt: „Für Smartcard Authentifizierung wird ein Zertifikat mit RSA 2048 mit den folgenden Enhanced Key Usage benötigt:   Smartcard-Anmeldung (1.3.6.1.4.1.311.20.2.2)   KDC-Authentifizierung (1.3.6.1.5.2.3.5)   Clientauthentifizierung (1.3.6.1.5.5.7.3.2) ausgestellt wird das Zertifikat auf den User Principal name (UPN)  Für die Anmeldung von nicht-Domain Rechnern bzw. von Domain-Rechnern fremder Domains ohne Vertrauensstellung, braucht es auf den DCs ein Zerti…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Für Smartcard Authentifizierung wird ein Zertifikat mit RSA 2048 mit den folgenden Enhanced Key Usage benötigt:&lt;br /&gt;
  Smartcard-Anmeldung (1.3.6.1.4.1.311.20.2.2)&lt;br /&gt;
  KDC-Authentifizierung (1.3.6.1.5.2.3.5)&lt;br /&gt;
  Clientauthentifizierung (1.3.6.1.5.5.7.3.2)&lt;br /&gt;
ausgestellt wird das Zertifikat auf den User Principal name (UPN)&lt;br /&gt;
&lt;br /&gt;
Für die Anmeldung von nicht-Domain Rechnern bzw. von Domain-Rechnern fremder Domains ohne Vertrauensstellung, braucht es auf den DCs ein Zertifikat aus der Vorlage &amp;quot;Kerberos Authentication&amp;quot; (Die Vorlage ist veraltet und sollte vorher dupliziert und aktualisiert werden)&lt;br /&gt;
&lt;br /&gt;
Es kommt sonst beim Versuch eine Verbindung herzustellen eine Fehlermeldung, dass das KDC Zertifikat nicht gelesen werden kann.&amp;lt;br&amp;gt;&lt;br /&gt;
im Eventlog steht dann die folgende Meldung:&lt;br /&gt;
 The Key Distribution Center (KDC) uses a certificate without KDC Extended Key Usage (EKU) which can result in authentication failures for device certificate logon and smart card logon from non-domain-joined devices. Enrollment of a &lt;br /&gt;
 KDC certificate with KDC EKU (Kerberos Authentication template) is required to remove this warning.&lt;/div&gt;</summary>
		<author><name>Rueling</name></author>
	</entry>
	<entry>
		<id>https://wiki.wingeav.de/index.php?title=Linux_fstab_mount_disk&amp;diff=256</id>
		<title>Linux fstab mount disk</title>
		<link rel="alternate" type="text/html" href="https://wiki.wingeav.de/index.php?title=Linux_fstab_mount_disk&amp;diff=256"/>
		<updated>2023-05-19T07:50:52Z</updated>

		<summary type="html">&lt;p&gt;Rueling: Die Seite wurde neu angelegt: „Um in Linux eine Disk bzw. Partition in die /etc/fstab einzutragen und damit automatisch beim Start zu mounten, braucht es die UUID der Partition  Die ID bekommt man mit folgendem Befehl (Alternativ mit blkid)   lsblk -o NAME,FSTYPE,UUID,SIZE,LABEL In der /etc/fstab wird dann folgendes eintragen:   UUID=&amp;quot;c7b53973-0fcf-4e49-898a-e8d04ef2e7b0&amp;quot;  /path/mountpoint    ext4    defaults        0       1“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Um in Linux eine Disk bzw. Partition in die /etc/fstab einzutragen und damit automatisch beim Start zu mounten, braucht es die UUID der Partition&lt;br /&gt;
&lt;br /&gt;
Die ID bekommt man mit folgendem Befehl (Alternativ mit blkid)&lt;br /&gt;
  lsblk -o NAME,FSTYPE,UUID,SIZE,LABEL&lt;br /&gt;
In der /etc/fstab wird dann folgendes eintragen:&lt;br /&gt;
  UUID=&amp;quot;c7b53973-0fcf-4e49-898a-e8d04ef2e7b0&amp;quot;  /path/mountpoint    ext4    defaults        0       1&lt;/div&gt;</summary>
		<author><name>Rueling</name></author>
	</entry>
	<entry>
		<id>https://wiki.wingeav.de/index.php?title=Linux_LVM_Volume_expand&amp;diff=255</id>
		<title>Linux LVM Volume expand</title>
		<link rel="alternate" type="text/html" href="https://wiki.wingeav.de/index.php?title=Linux_LVM_Volume_expand&amp;diff=255"/>
		<updated>2023-04-17T08:50:42Z</updated>

		<summary type="html">&lt;p&gt;Rueling: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;b&amp;gt;Vergrößern der Root-Partition&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Es wird growpart benötigt, in Ubuntu ist das Teil des Paketes cloud-guest-utils&amp;lt;br&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 growpart /dev/sda 3&lt;br /&gt;
 lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv&lt;br /&gt;
 resize2fs -p /dev/ubuntu-vg/ubuntu-lv&lt;br /&gt;
&lt;br /&gt;
Alternative ist mit parted. Hier ein Beispiel inkl. Löschen der Swap Partition, falls diese hinter der root Partition liegt: https://www.golinuxcloud.com/extend-resize-primary-partition-non-lvm-linux/&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;alt - mit löschen der Home Partition&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
 vim /etc/fstab  --&amp;gt;/home Mount entfernen &lt;br /&gt;
 umount /home&lt;br /&gt;
 lvremove /dev/mapper/VolGroup-lv_home&lt;br /&gt;
 lvextend -l +100%FREE /dev/mapper/VolGroup-lv_root&lt;br /&gt;
 resize2fs /dev/mapper/VolGroup-lv_root&lt;/div&gt;</summary>
		<author><name>Rueling</name></author>
	</entry>
	<entry>
		<id>https://wiki.wingeav.de/index.php?title=Windows_Installation_Fehler_nach_Sysprep&amp;diff=254</id>
		<title>Windows Installation Fehler nach Sysprep</title>
		<link rel="alternate" type="text/html" href="https://wiki.wingeav.de/index.php?title=Windows_Installation_Fehler_nach_Sysprep&amp;diff=254"/>
		<updated>2023-02-22T07:37:08Z</updated>

		<summary type="html">&lt;p&gt;Rueling: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nach Sysprep von Windows kann es zwei Fehlermeldung beim darauffolgenden Starten von Windows geben:&lt;br /&gt;
 Die Installation konnte nicht abgeschlossen werden. Starten Sie die Installation erneut.&lt;br /&gt;
oder &lt;br /&gt;
 Der Computer wurde unerwartet neu gestartet oder ein unerwarteter Fehler ist aufgetreten. Die Windows-Installation kann nicht fortgesetzt werden. Klicken Sie auf &amp;quot;OK&amp;quot;, um den Computer neu zu starten, und führen Sie die Installation dann erneut aus.&lt;br /&gt;
&lt;br /&gt;
Dafür gibt es verschiedene Lösungsansätze&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Versuch 1&amp;lt;/b&amp;gt;&lt;br /&gt;
# Wenn die Fehlermeldung erscheint, bestätigt man nicht gleich mit “OK”, sondern drückt Shift + F10, um die Kommandozeile zu öffnen.&lt;br /&gt;
# In der neu geöffneten Kommandozeile gibt man nun regedit ein. Der Registrierungs-Editor öffnet sich.&lt;br /&gt;
# Im Registrierungs-Editor navigiert man zu folgendem Schlüssel: HKEY_LOCAL_MACHINE\SYSTEM\Setup\Status\ChildCompletion&lt;br /&gt;
# Hier ändert man den untergeordneten Wert setup.exe von 0x00000001 (1) auf 0x00000003 (3)&lt;br /&gt;
Nach einem Neustart startet Windows wieder im Out of Box Experience Modus. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Versuch 2&amp;lt;/b&amp;gt;&lt;br /&gt;
# Bei Erscheinen der Fehlermeldung drückt man Shift + F10, um die Kommandozeile zu öffnen.&lt;br /&gt;
# In der neu geöffneten Kommandozeile gibt man nun regedit ein. Der Registrierungs-Editor öffnet sich.&lt;br /&gt;
# Im Registrierungs-Editor navigiert man zu folgendem Schlüssel: HKEY_LOCAL_MACHINE\SYSTEM\Setup\Status&lt;br /&gt;
# Folgende Werte müssen angepasst werden, sofern sie nicht mit den hier angegebenen Werten übereinstimmen:&lt;br /&gt;
## HKEY_LOCAL_MACHINE\SYSTEM\Setup\Status\AuditBoot&amp;lt;br&amp;gt;0x00000000 (0)&lt;br /&gt;
## HKEY_LOCAL_MACHINE\SYSTEM\Setup\Status\ChildCompletion\setup.exe&amp;lt;br&amp;gt;0x00000003 (3)&lt;br /&gt;
## HKEY_LOCAL_MACHINE\SYSTEM\Setup\Status\ChildCompletion\audit.exe&amp;lt;br&amp;gt;0x00000000 (0)&lt;br /&gt;
## HKEY_LOCAL_MACHINE\SYSTEM\Setup\Status\SysprepStatus\CleanupState&amp;lt;br&amp;gt;0x00000002 (2)&lt;br /&gt;
## HKEY_LOCAL_MACHINE\SYSTEM\Setup\Status\SysprepStatus\GeneralizationState&amp;lt;br&amp;gt;0x00000007 (7)&lt;br /&gt;
## HKEY_LOCAL_MACHINE\SYSTEM\Setup\Status\UnattendPasses\auditSystem&amp;lt;br&amp;gt;0x00000000 (0)&lt;br /&gt;
Nach einem anschließenden Neustart ist der Audit-Modus beendet und Windows startet wieder regulär – im Out of Box Experience Modus.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Versuch 3&amp;lt;/b&amp;gt;&lt;br /&gt;
 dism /online /cleanup-image /restorehealth&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Versuch 4&amp;lt;/b&amp;gt;&lt;br /&gt;
  C:\Windows\System32\oobe\msoobe.exe&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Man kann auch mal die Logs prüfen in_&amp;lt;/b&amp;gt; &lt;br /&gt;
 C:\Windows\System32\Sysprep\Panther&lt;br /&gt;
bzw. &lt;br /&gt;
 C:\Windows\Panther&lt;/div&gt;</summary>
		<author><name>Rueling</name></author>
	</entry>
	<entry>
		<id>https://wiki.wingeav.de/index.php?title=Windows_Installation_Fehler_nach_Sysprep&amp;diff=253</id>
		<title>Windows Installation Fehler nach Sysprep</title>
		<link rel="alternate" type="text/html" href="https://wiki.wingeav.de/index.php?title=Windows_Installation_Fehler_nach_Sysprep&amp;diff=253"/>
		<updated>2023-02-22T07:36:53Z</updated>

		<summary type="html">&lt;p&gt;Rueling: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nach Sysprep von Windows kann es zwei Fehlermeldung beim darauffolgenden Starten von Windows geben:&lt;br /&gt;
 Die Installation konnte nicht abgeschlossen werden. Starten Sie die Installation erneut.&lt;br /&gt;
oder &lt;br /&gt;
 Der Computer wurde unerwartet neu gestartet oder ein unerwarteter Fehler ist aufgetreten. Die Windows-Installation kann nicht fortgesetzt werden. Klicken Sie auf &amp;quot;OK&amp;quot;, um den Computer neu zu starten, und führen Sie die Installation dann erneut aus.&lt;br /&gt;
&lt;br /&gt;
Dafür gibt es verschiedene Lösungsansätze&lt;br /&gt;
&amp;lt;b&amp;gt;Versuch 1&amp;lt;/b&amp;gt;&lt;br /&gt;
# Wenn die Fehlermeldung erscheint, bestätigt man nicht gleich mit “OK”, sondern drückt Shift + F10, um die Kommandozeile zu öffnen.&lt;br /&gt;
# In der neu geöffneten Kommandozeile gibt man nun regedit ein. Der Registrierungs-Editor öffnet sich.&lt;br /&gt;
# Im Registrierungs-Editor navigiert man zu folgendem Schlüssel: HKEY_LOCAL_MACHINE\SYSTEM\Setup\Status\ChildCompletion&lt;br /&gt;
# Hier ändert man den untergeordneten Wert setup.exe von 0x00000001 (1) auf 0x00000003 (3)&lt;br /&gt;
Nach einem Neustart startet Windows wieder im Out of Box Experience Modus. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Versuch 2&amp;lt;/b&amp;gt;&lt;br /&gt;
# Bei Erscheinen der Fehlermeldung drückt man Shift + F10, um die Kommandozeile zu öffnen.&lt;br /&gt;
# In der neu geöffneten Kommandozeile gibt man nun regedit ein. Der Registrierungs-Editor öffnet sich.&lt;br /&gt;
# Im Registrierungs-Editor navigiert man zu folgendem Schlüssel: HKEY_LOCAL_MACHINE\SYSTEM\Setup\Status&lt;br /&gt;
# Folgende Werte müssen angepasst werden, sofern sie nicht mit den hier angegebenen Werten übereinstimmen:&lt;br /&gt;
## HKEY_LOCAL_MACHINE\SYSTEM\Setup\Status\AuditBoot&amp;lt;br&amp;gt;0x00000000 (0)&lt;br /&gt;
## HKEY_LOCAL_MACHINE\SYSTEM\Setup\Status\ChildCompletion\setup.exe&amp;lt;br&amp;gt;0x00000003 (3)&lt;br /&gt;
## HKEY_LOCAL_MACHINE\SYSTEM\Setup\Status\ChildCompletion\audit.exe&amp;lt;br&amp;gt;0x00000000 (0)&lt;br /&gt;
## HKEY_LOCAL_MACHINE\SYSTEM\Setup\Status\SysprepStatus\CleanupState&amp;lt;br&amp;gt;0x00000002 (2)&lt;br /&gt;
## HKEY_LOCAL_MACHINE\SYSTEM\Setup\Status\SysprepStatus\GeneralizationState&amp;lt;br&amp;gt;0x00000007 (7)&lt;br /&gt;
## HKEY_LOCAL_MACHINE\SYSTEM\Setup\Status\UnattendPasses\auditSystem&amp;lt;br&amp;gt;0x00000000 (0)&lt;br /&gt;
Nach einem anschließenden Neustart ist der Audit-Modus beendet und Windows startet wieder regulär – im Out of Box Experience Modus.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Versuch 3&amp;lt;/b&amp;gt;&lt;br /&gt;
 dism /online /cleanup-image /restorehealth&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Versuch 4&amp;lt;/b&amp;gt;&lt;br /&gt;
  C:\Windows\System32\oobe\msoobe.exe&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Man kann auch mal die Logs prüfen in_&amp;lt;/b&amp;gt; &lt;br /&gt;
 C:\Windows\System32\Sysprep\Panther&lt;br /&gt;
bzw. &lt;br /&gt;
 C:\Windows\Panther&lt;/div&gt;</summary>
		<author><name>Rueling</name></author>
	</entry>
	<entry>
		<id>https://wiki.wingeav.de/index.php?title=Windows_Installation_Fehler_nach_Sysprep&amp;diff=252</id>
		<title>Windows Installation Fehler nach Sysprep</title>
		<link rel="alternate" type="text/html" href="https://wiki.wingeav.de/index.php?title=Windows_Installation_Fehler_nach_Sysprep&amp;diff=252"/>
		<updated>2023-02-21T15:57:22Z</updated>

		<summary type="html">&lt;p&gt;Rueling: Die Seite wurde neu angelegt: „Die Installation konnte nicht abgeschlossen werden. Starten Sie die Installation erneut.  oder   Der Computer wurde unerwartet neu gestartet oder ein unerwarteter Fehler ist aufgetreten. Die Windows-Installation kann nicht fortgesetzt werden. Klicken Sie auf &amp;quot;OK&amp;quot;, um den Computer neu zu starten, und führen Sie die Installation dann erneut aus.   Wenn die Fehlermeldung erscheint, bestätigt man nicht gleich mit “OK”, sondern drückt Shift + F10, um di…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Die Installation konnte nicht abgeschlossen werden. Starten Sie die Installation erneut.&lt;br /&gt;
&lt;br /&gt;
oder &lt;br /&gt;
&lt;br /&gt;
Der Computer wurde unerwartet neu gestartet oder ein unerwarteter Fehler ist aufgetreten. Die Windows-Installation kann nicht fortgesetzt werden. Klicken Sie auf &amp;quot;OK&amp;quot;, um den Computer neu zu starten, und führen Sie die Installation dann erneut aus.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Wenn die Fehlermeldung erscheint, bestätigt man nicht gleich mit “OK”, sondern drückt Shift + F10, um die Kommandozeile zu öffnen.&lt;br /&gt;
In der neu geöffneten Kommandozeile gibt man nun regedit ein. Der Registrierungs-Editor öffnet sich.&lt;br /&gt;
Im Registrierungs-Editor navigiert man zu folgendem Schlüssel: HKEY_LOCAL_MACHINE\SYSTEM\Setup\Status\ChildCompletion&lt;br /&gt;
Hier ändert man den untergeordneten Wert setup.exe von 0x00000001 (1) auf 0x00000003 (3)&lt;br /&gt;
Nach einem Neustart startet Windows wieder – allerdings im Out of Box Experience Modus. Ein neuer Benutzer muss eingerichtet werden. Der Benutzername des neuen Benutzers darf noch nicht existieren.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bei Erscheinen der Fehlermeldung drückt man Shift + F10, um die Kommandozeile zu öffnen.&lt;br /&gt;
In der neu geöffneten Kommandozeile gibt man nun regedit ein. Der Registrierungs-Editor öffnet sich.&lt;br /&gt;
Im Registrierungs-Editor navigiert man zu folgendem Schlüssel: HKEY_LOCAL_MACHINE\SYSTEM\Setup\Status&lt;br /&gt;
Folgende Werte müssen angepasst werden, sofern sie nicht mit den hier angegebenen Werten übereinstimmen:&lt;br /&gt;
HKEY_LOCAL_MACHINE\SYSTEM\Setup\Status\AuditBoot&lt;br /&gt;
0x00000000 (0)&lt;br /&gt;
HKEY_LOCAL_MACHINE\SYSTEM\Setup\Status\ChildCompletion\setup.exe&lt;br /&gt;
0x00000003 (3)&lt;br /&gt;
HKEY_LOCAL_MACHINE\SYSTEM\Setup\Status\ChildCompletion\audit.exe&lt;br /&gt;
0x00000000 (0)&lt;br /&gt;
HKEY_LOCAL_MACHINE\SYSTEM\Setup\Status\SysprepStatus\CleanupState&lt;br /&gt;
0x00000002 (2)&lt;br /&gt;
HKEY_LOCAL_MACHINE\SYSTEM\Setup\Status\SysprepStatus\GeneralizationState&lt;br /&gt;
0x00000007 (7)&lt;br /&gt;
HKEY_LOCAL_MACHINE\SYSTEM\Setup\Status\UnattendPasses\auditSystem&lt;br /&gt;
0x00000000 (0)&lt;br /&gt;
Nach einem anschließenden Neustart ist der Audit-Modus beendet und Windows startet wieder regulär – im Out of Box Experience Modus.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ODER &lt;br /&gt;
 dism /online /cleanup-image /restorehealth&lt;/div&gt;</summary>
		<author><name>Rueling</name></author>
	</entry>
	<entry>
		<id>https://wiki.wingeav.de/index.php?title=LXC_SSH_Ubuntu/Debian&amp;diff=251</id>
		<title>LXC SSH Ubuntu/Debian</title>
		<link rel="alternate" type="text/html" href="https://wiki.wingeav.de/index.php?title=LXC_SSH_Ubuntu/Debian&amp;diff=251"/>
		<updated>2022-03-12T09:02:15Z</updated>

		<summary type="html">&lt;p&gt;Rueling: Die Seite wurde neu angelegt: „Bei LXC Containern in Proxmox mit Ubuntu oder Debian wird der SSH Dienst (sshd) als Socket gestartet. Das führt dazu, dass Konfigurationseinstellungen in /etc/ssh/sshd_config ignoriert werden. &amp;lt;br&amp;gt; um den richtigen SSH Dienst zu verwenden muss der ssh.socket Dienst deaktiviert und der reguläre ssh.service Dienst aktiviert werden.&amp;lt;br&amp;gt;  sudo systemctl disable ssh.socket  sudo systemctl enable ssh.service“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Bei LXC Containern in Proxmox mit Ubuntu oder Debian wird der SSH Dienst (sshd) als Socket gestartet. Das führt dazu, dass Konfigurationseinstellungen in /etc/ssh/sshd_config ignoriert werden. &amp;lt;br&amp;gt;&lt;br /&gt;
um den richtigen SSH Dienst zu verwenden muss der ssh.socket Dienst deaktiviert und der reguläre ssh.service Dienst aktiviert werden.&amp;lt;br&amp;gt;&lt;br /&gt;
 sudo systemctl disable ssh.socket&lt;br /&gt;
 sudo systemctl enable ssh.service&lt;/div&gt;</summary>
		<author><name>Rueling</name></author>
	</entry>
	<entry>
		<id>https://wiki.wingeav.de/index.php?title=Hauptseite&amp;diff=250</id>
		<title>Hauptseite</title>
		<link rel="alternate" type="text/html" href="https://wiki.wingeav.de/index.php?title=Hauptseite&amp;diff=250"/>
		<updated>2022-03-12T08:55:33Z</updated>

		<summary type="html">&lt;p&gt;Rueling: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dies ist ein Privat Wiki &lt;br /&gt;
&lt;br /&gt;
Die Wiki Einträge findet man im linken Menü unter &amp;quot;&#039;&#039;&#039;[https://wiki.wingeav.de/index.php?title=Spezial:Alle_Seiten Alle Seiten]&#039;&#039;&#039;&amp;quot;&lt;/div&gt;</summary>
		<author><name>Rueling</name></author>
	</entry>
	<entry>
		<id>https://wiki.wingeav.de/index.php?title=Hauptseite&amp;diff=249</id>
		<title>Hauptseite</title>
		<link rel="alternate" type="text/html" href="https://wiki.wingeav.de/index.php?title=Hauptseite&amp;diff=249"/>
		<updated>2022-02-25T18:26:05Z</updated>

		<summary type="html">&lt;p&gt;Rueling: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dies ist ein Privat Wiki &lt;br /&gt;
&lt;br /&gt;
Die Wiki Einträge findet man im linken Menü unter &amp;quot;&#039;&#039;&#039;[https://wiki.rueling.com/index.php?title=Spezial:Alle_Seiten Alle Seiten]&#039;&#039;&#039;&amp;quot;&lt;/div&gt;</summary>
		<author><name>Rueling</name></author>
	</entry>
	<entry>
		<id>https://wiki.wingeav.de/index.php?title=Hauptseite&amp;diff=248</id>
		<title>Hauptseite</title>
		<link rel="alternate" type="text/html" href="https://wiki.wingeav.de/index.php?title=Hauptseite&amp;diff=248"/>
		<updated>2022-02-25T18:24:50Z</updated>

		<summary type="html">&lt;p&gt;Rueling: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dies ist ein Privat Wiki &lt;br /&gt;
&lt;br /&gt;
Die Wiki Einträge findet man im linken Menü unter &amp;quot;&#039;&#039;&#039;[https://wiki.rueling.de/index.php?title=Spezial:Alle_Seiten Alle Seiten]&#039;&#039;&#039;&amp;quot;&lt;/div&gt;</summary>
		<author><name>Rueling</name></author>
	</entry>
	<entry>
		<id>https://wiki.wingeav.de/index.php?title=Windows_Proxy_f%C3%BCr_Dienste&amp;diff=246</id>
		<title>Windows Proxy für Dienste</title>
		<link rel="alternate" type="text/html" href="https://wiki.wingeav.de/index.php?title=Windows_Proxy_f%C3%BCr_Dienste&amp;diff=246"/>
		<updated>2022-01-04T16:19:18Z</updated>

		<summary type="html">&lt;p&gt;Rueling: Die Seite wurde neu angelegt: „Proxy Einstellungen per GPO greifen nicht für den Dienstbenutzer, bzw. generell nicht für Dienste, selbst wenn diese unter einem AD-Benutzer laufen.  Dienste…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Proxy Einstellungen per GPO greifen nicht für den Dienstbenutzer, bzw. generell nicht für Dienste, selbst wenn diese unter einem AD-Benutzer laufen. &lt;br /&gt;
Dienste können auf den WinHTTP Proxy zurückgreifen. In Fällen, in denen das nicht möglich ist, z.B. bei Verwendung der Crypto API zum Prüfen von Zertifikaten und deren Sperrlisten (CRL), werden die User-Proxy Einstellungen benötigt.&lt;br /&gt;
&lt;br /&gt;
Die User-Proxy Einstellungen befinden sich in der Registry zwar unter HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings (ProxyServer, ProxyEnable), werden aber von der Crypto API (und Powershell Invoke-WebRequest) nicht verwendet. &lt;br /&gt;
Stattdessen wird die REG_BINARY Einstellung von HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Connections\DefaultConnectionSettings genutzt. &lt;br /&gt;
Normalerweise wird diese beim ersten Start vom Internet Explorer gesetzt, was bei einem Dienst natürlich nicht vorkommt. &lt;br /&gt;
&lt;br /&gt;
Um die Proxy Einstellungen nun für einen Dienst-User zu setzen, muss der Registry Wert von einen Benutzer mit den korrekten Einstellungen exportiert und im Service-User importiert werden. &lt;br /&gt;
Dazu entweder eine Commandline als Service User öffnen und dort die .reg-Datei importieren oder die entsprechende SID des Users verwenden&lt;br /&gt;
&lt;br /&gt;
Mit bitsadmin kann man die Proxy Einstellungen für LOCALSYSTEM und NETWORKSERVICE und LOCALSERVICE setzen: &lt;br /&gt;
 bitsadmin /util /setieproxy localsystem MANUAL_PROXY proxy1:80&lt;br /&gt;
https://docs.microsoft.com/de-de/windows-server/administration/windows-commands/bitsadmin-util-and-setieproxy&lt;/div&gt;</summary>
		<author><name>Rueling</name></author>
	</entry>
	<entry>
		<id>https://wiki.wingeav.de/index.php?title=Credential_Guard_mit_UEFI_Sperre_deaktivieren&amp;diff=245</id>
		<title>Credential Guard mit UEFI Sperre deaktivieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.wingeav.de/index.php?title=Credential_Guard_mit_UEFI_Sperre_deaktivieren&amp;diff=245"/>
		<updated>2021-09-23T10:11:25Z</updated>

		<summary type="html">&lt;p&gt;Rueling: Die Seite wurde neu angelegt: „Um den Windows Defender Credential Guard, der mit UEFI Sperre aktiviert wurde, zu deaktivieren, müssen EFI Informationen umgeschrieben werden. &amp;lt;br&amp;gt; Natürlich…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Um den Windows Defender Credential Guard, der mit UEFI Sperre aktiviert wurde, zu deaktivieren, müssen EFI Informationen umgeschrieben werden. &amp;lt;br&amp;gt;&lt;br /&gt;
Natürlich muss vorher die GPO für den Credential Guard deaktiviert werden.&lt;br /&gt;
 mountvol X: /s&lt;br /&gt;
 copy %WINDIR%\System32\SecConfig.efi X:\EFI\Microsoft\Boot\SecConfig.efi /Y&lt;br /&gt;
 bcdedit /create {0cb3b571-2f2e-4343-a879-d86a476d7215} /d &amp;quot;DebugTool&amp;quot; /application osloader&lt;br /&gt;
 bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} path &amp;quot;\EFI\Microsoft\Boot\SecConfig.efi&amp;quot;&lt;br /&gt;
 bcdedit /set {bootmgr} bootsequence {0cb3b571-2f2e-4343-a879-d86a476d7215}&lt;br /&gt;
 bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} loadoptions DISABLE-LSA-ISO&lt;br /&gt;
 bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} device partition=X:&lt;br /&gt;
 mountvol X: /d&lt;br /&gt;
Nach dem Neustart wird man beim booten aufgefordert, die Deaktvierung zu bestätigen&lt;/div&gt;</summary>
		<author><name>Rueling</name></author>
	</entry>
	<entry>
		<id>https://wiki.wingeav.de/index.php?title=Windows_Update_Fehler&amp;diff=244</id>
		<title>Windows Update Fehler</title>
		<link rel="alternate" type="text/html" href="https://wiki.wingeav.de/index.php?title=Windows_Update_Fehler&amp;diff=244"/>
		<updated>2021-09-22T11:52:43Z</updated>

		<summary type="html">&lt;p&gt;Rueling: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Bei Windows Update Fehlern kann folgendes u.U. helfen:&amp;lt;br&amp;gt;&lt;br /&gt;
 net stop bits&lt;br /&gt;
 net stop wuauserv&lt;br /&gt;
 net stop appidsvc&lt;br /&gt;
 net stop cryptsvc&lt;br /&gt;
 ren C:\Windows\SoftwareDistribution SoftwareDistribution.bak&lt;br /&gt;
 ren C:\Windows\system32\catroot2 catroot2.bak&lt;br /&gt;
 net start bits&lt;br /&gt;
 net start wuauserv&lt;br /&gt;
 net start appidsvc&lt;br /&gt;
 net start cryptSvc&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Bei Problemen mit Defender Updates kann folgendes helfen:&amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;quot;%PROGRAMFILES%\Windows Defender\MPCMDRUN.exe&amp;quot; -RemoveDefinitions -All&lt;br /&gt;
 &amp;quot;%PROGRAMFILES%\Windows Defender\MPCMDRUN.exe&amp;quot; -SignatureUpdate&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Windows Update Dienst stoppen: &#039;&#039;&#039;net stop wuauserv&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
u.U. hilft auch folgende Registry Keys zu entfernen (falls sie existieren)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
und&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Rueling</name></author>
	</entry>
	<entry>
		<id>https://wiki.wingeav.de/index.php?title=Windows_Update_Fehler&amp;diff=243</id>
		<title>Windows Update Fehler</title>
		<link rel="alternate" type="text/html" href="https://wiki.wingeav.de/index.php?title=Windows_Update_Fehler&amp;diff=243"/>
		<updated>2021-06-30T08:03:46Z</updated>

		<summary type="html">&lt;p&gt;Rueling: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Bei Windows Update Fehlern kann folgendes u.U. helfen:&amp;lt;br&amp;gt;&lt;br /&gt;
 net stop bits&lt;br /&gt;
 net stop wuauserv&lt;br /&gt;
 net stop appidsvc&lt;br /&gt;
 net stop cryptsvc&lt;br /&gt;
 ren C:\Windows\SoftwareDistribution C:\Windows\SoftwareDistribution.bak&lt;br /&gt;
 ren C:\Windows\system32\catroot2 C:\Windows\system32\catroot2.bak&lt;br /&gt;
 net start bits&lt;br /&gt;
 net start wuauserv&lt;br /&gt;
 net start appidsvc&lt;br /&gt;
 net start cryptSvc&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Bei Problemen mit Defender Updates kann folgendes helfen:&amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;quot;%PROGRAMFILES%\Windows Defender\MPCMDRUN.exe&amp;quot; -RemoveDefinitions -All&lt;br /&gt;
 &amp;quot;%PROGRAMFILES%\Windows Defender\MPCMDRUN.exe&amp;quot; -SignatureUpdate&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Windows Update Dienst stoppen: &#039;&#039;&#039;net stop wuauserv&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
u.U. hilft auch folgende Registry Keys zu entfernen (falls sie existieren)&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
und&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Rueling</name></author>
	</entry>
	<entry>
		<id>https://wiki.wingeav.de/index.php?title=Windows_Internal_Database_(WID)&amp;diff=242</id>
		<title>Windows Internal Database (WID)</title>
		<link rel="alternate" type="text/html" href="https://wiki.wingeav.de/index.php?title=Windows_Internal_Database_(WID)&amp;diff=242"/>
		<updated>2020-09-29T10:53:02Z</updated>

		<summary type="html">&lt;p&gt;Rueling: Die Seite wurde neu angelegt: „WSUS und RDS (Remote Desktop Services / Terminal Services) verwenden eine Windows Internal Database. &amp;lt;br&amp;gt; Dabei handelt es sich um eine spezielle MSSQL Instanz…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;WSUS und RDS (Remote Desktop Services / Terminal Services) verwenden eine Windows Internal Database. &amp;lt;br&amp;gt;&lt;br /&gt;
Dabei handelt es sich um eine spezielle MSSQL Instanz. &amp;lt;br&amp;gt;&lt;br /&gt;
Um diese zu konfigurieren, z.B. um MaxMemory anzupassen kann man mit dem Management Studio, Powershell oder den SQL Commandline Utility (sqlcmd Utility) + ODBC Treiber sich über eine Pipe mit der SQL Instanz verbinden&lt;br /&gt;
 &amp;lt;b&amp;gt;Powershell:&amp;lt;/b&amp;gt;&lt;br /&gt;
 $ConnectionString = &#039;server=\\.\pipe\MICROSOFT##WID\tsql\query;trusted_connection=true;&#039;&lt;br /&gt;
 $SQLConnection= New-Object System.Data.SQLClient.SQLConnection($ConnectionString)&lt;br /&gt;
 $SQLConnection.Open()&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;b&amp;gt;SQLcmd:&amp;lt;/b&amp;gt;&lt;br /&gt;
 sqlcmd -E -S \\.\pipe\Microsoft##WID\tsql\query&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;b&amp;gt;SSMS:&amp;lt;/b&amp;gt;&lt;br /&gt;
 np:\\.\pipe\MICROSOFT##WID\tsql\query&lt;br /&gt;
&lt;br /&gt;
Der Befehl zum ändern von MaxMemory ist wie folgt:&lt;br /&gt;
  exec sp_configure &#039;show advanced option&#039;, &#039;1&#039;;&lt;br /&gt;
  reconfigure;&lt;br /&gt;
  go&lt;br /&gt;
  &lt;br /&gt;
  #Anzeigen der Konfiguration:&lt;br /&gt;
  exec sp_configure;&lt;br /&gt;
  go&lt;br /&gt;
  &lt;br /&gt;
  Um die Einstellung anzupassen:&lt;br /&gt;
  exec sp_configure ‚max server memory‘, 32768;&lt;br /&gt;
  reconfigure with override;&lt;br /&gt;
  go&lt;/div&gt;</summary>
		<author><name>Rueling</name></author>
	</entry>
	<entry>
		<id>https://wiki.wingeav.de/index.php?title=Bash-Script_mit_Samba_und_Regex&amp;diff=241</id>
		<title>Bash-Script mit Samba und Regex</title>
		<link rel="alternate" type="text/html" href="https://wiki.wingeav.de/index.php?title=Bash-Script_mit_Samba_und_Regex&amp;diff=241"/>
		<updated>2020-08-06T16:13:53Z</updated>

		<summary type="html">&lt;p&gt;Rueling: Die Seite wurde neu angelegt: „Hier ein Script, dass per smbclient das Erstell-Datum von der ersten Datei/Verzeichnis von einem Share abfragt.&amp;lt;br&amp;gt; Es wird von einem Share Ordner (also Ordner…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hier ein Script, dass per smbclient das Erstell-Datum von der ersten Datei/Verzeichnis von einem Share abfragt.&amp;lt;br&amp;gt;&lt;br /&gt;
Es wird von einem Share Ordner (also Ordner unterhalb vom Share) der erste Eintrag (Datei oder Verzeichnis) geholt. &amp;lt;br&amp;gt;&lt;br /&gt;
Dann wird per Regex mit &#039;sed&#039; alles außer dem Namen enfernt.&amp;lt;br&amp;gt;&lt;br /&gt;
sed ohne Parameter &#039;-r&#039; muss vor einem &amp;quot;+&amp;quot; ein &amp;quot;\&amp;quot; Schreiben um das zu escapen&amp;lt;br&amp;gt;&lt;br /&gt;
bei &#039;-r&#039; ist das wohl nicht notwendig. Das -r (bei einigen Version auf -e) benötigt man um eine Zeichenkette innerhalb des Strings einzusetzen&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 #&lt;br /&gt;
 # Parameter&lt;br /&gt;
 HOSTNAME=$1&lt;br /&gt;
 SHARE=$2&lt;br /&gt;
 SHAREDIR=$3&lt;br /&gt;
 DOMAIN=$4&lt;br /&gt;
 &lt;br /&gt;
 # Settings&lt;br /&gt;
 RET=0&lt;br /&gt;
 STRING=&amp;quot;reading from share $SHARE on $HOSTNAME with sharedir $SHAREDIR ok&amp;quot;&lt;br /&gt;
 FAILSTRING=&amp;quot;Error reading from share $SHARE on $HOSTNAME with sharedir $SHAREDIR&amp;quot;&lt;br /&gt;
 SMBCLIENT=&amp;quot;/usr/bin/smbclient -A /etc/icinga2/auth.cfg -mSMB3 &amp;quot;&lt;br /&gt;
 date1=$(date +&amp;quot;%s%2N&amp;quot;)  &lt;br /&gt;
 &lt;br /&gt;
 # Lies den ersten Eintrag im ShareDir (Verzeichnis oder Datei) und ermittle dessen create_time&lt;br /&gt;
 # dazu muss die Zeile mit dem Eintrag so ersetzt werden, dass nur der Dateiname uebrig bleibt&lt;br /&gt;
 #FIRST_ENTRY=$($SMBCLIENT &amp;quot;//$HOSTNAME/$SHARE&amp;quot;  -c &amp;quot;ls $SHAREDIR/*&amp;quot; | head -n 3 | tail -n 1&lt;br /&gt;
 #echo $FIRST_ENTRY |sed &#039;s/\s\+[N|D|DH]\s[0-9]\+.\+//g&#039; &amp;gt;&amp;gt; /tmp/smb.log &lt;br /&gt;
 &lt;br /&gt;
 FIRST_ENTRY=$($SMBCLIENT &amp;quot;//$HOSTNAME/$SHARE&amp;quot;  -c &amp;quot;ls $SHAREDIR/*&amp;quot; | head -n 3 | tail -n 1 | sed -r &#039;s/\s+(.+)\s+[N|D|DH]\s+[0-9]+.+/\1/g&#039;)&lt;br /&gt;
 ALL_INFO=$($SMBCLIENT &amp;quot;//$HOSTNAME/$SHARE&amp;quot; -c &amp;quot;allinfo $SHAREDIR/$FIRST_ENTRY&amp;quot; | head -n 2 | tail -n 1 )&lt;br /&gt;
 #echo $FIRST_ENTRY &amp;gt;&amp;gt; /tmp/smb.log&lt;br /&gt;
 &lt;br /&gt;
 #FIRST_ENTRY=$($SMBCLIENT &amp;quot;//$HOSTNAME/$SHARE&amp;quot;  -c &amp;quot;ls $SHAREDIR/*&amp;quot; | head -n 3 | tail -n 1&lt;br /&gt;
 #echo $FIRST_ENTRY |sed &#039;s/\s\+[N|D|DH]\s[0-9]\+.\+//g&#039; &amp;gt;&amp;gt; /tmp/smb.log&lt;br /&gt;
 #echo $ALL_INFO &amp;gt;&amp;gt; /tmp/smb.log&lt;br /&gt;
 #echo $&#039;\n&#039; &amp;gt;&amp;gt; /tmp/smb.log&lt;br /&gt;
 date2=$(date +&amp;quot;%s%2N&amp;quot;)&lt;br /&gt;
 diff=$(($date2-$date1))&lt;br /&gt;
 #&lt;br /&gt;
 # Pruefe auf &amp;quot;create_time&amp;quot;&lt;br /&gt;
 #&lt;br /&gt;
 if [[ $ALL_INFO = create_time* ]]; then&lt;br /&gt;
     RET=0;&lt;br /&gt;
 else&lt;br /&gt;
     RET=2;&lt;br /&gt;
     STRING=&amp;quot;$FAILSTRING\n$ALL_INFO&amp;quot;;&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 #&lt;br /&gt;
 # Returnwert und Text ausgeben&lt;br /&gt;
 #&lt;br /&gt;
 echo &amp;quot;$STRING\n$ALL_INFO | time=&amp;quot;$diff&amp;quot;ms&amp;quot;&lt;br /&gt;
 exit $RET&lt;/div&gt;</summary>
		<author><name>Rueling</name></author>
	</entry>
	<entry>
		<id>https://wiki.wingeav.de/index.php?title=SQL_Powershell_Module_installieren&amp;diff=240</id>
		<title>SQL Powershell Module installieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.wingeav.de/index.php?title=SQL_Powershell_Module_installieren&amp;diff=240"/>
		<updated>2020-06-26T08:11:02Z</updated>

		<summary type="html">&lt;p&gt;Rueling: Die Seite wurde neu angelegt: „ Install-Module -Name SqlServer -Proxy &amp;#039;&amp;lt;Proxy Server&amp;gt;&amp;#039; -ProxyCredential (Get-Credential) [-AllowClobber]  #Allow Clobber wird auf SQL Servern benötigt, wenn…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; Install-Module -Name SqlServer -Proxy &#039;&amp;lt;Proxy Server&amp;gt;&#039; -ProxyCredential (Get-Credential) [-AllowClobber]&lt;br /&gt;
 #Allow Clobber wird auf SQL Servern benötigt, wenn schon das SQLPS Modul installiert ist.&lt;br /&gt;
&lt;br /&gt;
Falls Kein Repository installiert ist, muss das PSGallery Repo installiert werden.&amp;lt;br&amp;gt;&lt;br /&gt;
Hinter einem Proxy muss zuvor folgendes ausgeführt werden:&lt;br /&gt;
 [system.net.webrequest]::defaultwebproxy = new-object system.net.webproxy(&#039;&amp;lt;Proxy Server&amp;gt;&#039;)&lt;br /&gt;
 [system.net.webrequest]::defaultwebproxy.credentials = (Get-Credential)&lt;br /&gt;
 [system.net.webrequest]::defaultwebproxy.BypassProxyOnLocal = $true&lt;br /&gt;
&lt;br /&gt;
 Register-PSRepository -Default&lt;br /&gt;
 Install-Module -Name SqlServer&lt;/div&gt;</summary>
		<author><name>Rueling</name></author>
	</entry>
	<entry>
		<id>https://wiki.wingeav.de/index.php?title=LSI_preboot_Client&amp;diff=239</id>
		<title>LSI preboot Client</title>
		<link rel="alternate" type="text/html" href="https://wiki.wingeav.de/index.php?title=LSI_preboot_Client&amp;diff=239"/>
		<updated>2020-06-18T12:03:59Z</updated>

		<summary type="html">&lt;p&gt;Rueling: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;LSI Controller bieten einen Preboot Client (neben dem WebBios)&amp;lt;br&amp;gt;&lt;br /&gt;
Das bietet scheinbar keine Hilfe-Option daher hier ein paar wichtige Befehle&amp;lt;br&amp;gt;&lt;br /&gt;
 -PDList -aALL  --&amp;gt; listet alle physischen Disks&lt;br /&gt;
 -LDInfo -Lx|L0,1,2|Lall -aN|a0,1,2|aALL&lt;br /&gt;
 -CfgLDDel -Lx|L0,1,2|Lall -aN|a0,1,2|aALL   (bsp: -CfgLDDel -L1,2,3 -a0)  --&amp;gt; löscht ein oder mehrere Virtual Disks. Beispiel löscht Disk 1 bis 3. Disk 0 bleibt erhalten&lt;br /&gt;
 -AdpBootDrive -Set -Lx aN  --&amp;gt; macht eine Virtual Disk Bootfähig&lt;br /&gt;
weitere Befehle gibt es unter: https://www.alteeve.com/w/MegaCli64_Cheat_Sheet&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 -h -aN --&amp;gt; zeigt Hilfe an&lt;br /&gt;
 -v -aN --&amp;gt; zeigt Version &lt;br /&gt;
 q --&amp;gt; verlässt Preboot CLI&lt;/div&gt;</summary>
		<author><name>Rueling</name></author>
	</entry>
	<entry>
		<id>https://wiki.wingeav.de/index.php?title=LSI_preboot_Client&amp;diff=238</id>
		<title>LSI preboot Client</title>
		<link rel="alternate" type="text/html" href="https://wiki.wingeav.de/index.php?title=LSI_preboot_Client&amp;diff=238"/>
		<updated>2020-06-18T09:32:49Z</updated>

		<summary type="html">&lt;p&gt;Rueling: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;LSI Controller bieten einen Preboot Client (neben dem WebBios)&amp;lt;br&amp;gt;&lt;br /&gt;
Das bietet scheinbar keine Hilfe-Option daher hier ein paar wichtige Befehle&amp;lt;br&amp;gt;&lt;br /&gt;
 -PDList -aALL  --&amp;gt; listet alles P&lt;br /&gt;
 -CfgLDDel -Lx|L0,1,2|Lall -aN|a0,1,2|aALL   (bsp: -CfgLDDel -L1,2,3 -a0)  --&amp;gt; löscht ein oder mehrere Virtual Disks. Beispiel löscht Disk 1 bis 3. Disk 0 bleibt erhalten&lt;br /&gt;
 -AdpBootDrive -Set -Lx aN  --&amp;gt; macht eine Virtual Disk Bootfähig&lt;br /&gt;
weitere Befehle gibt es unter: https://www.alteeve.com/w/MegaCli64_Cheat_Sheet&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 -h -aN --&amp;gt; zeigt Hilfe an&lt;br /&gt;
 -v -aN --&amp;gt; zeigt Version &lt;br /&gt;
 q --&amp;gt; verlässt Preboot CLI&lt;/div&gt;</summary>
		<author><name>Rueling</name></author>
	</entry>
	<entry>
		<id>https://wiki.wingeav.de/index.php?title=LSI_preboot_Client&amp;diff=237</id>
		<title>LSI preboot Client</title>
		<link rel="alternate" type="text/html" href="https://wiki.wingeav.de/index.php?title=LSI_preboot_Client&amp;diff=237"/>
		<updated>2020-06-18T09:26:44Z</updated>

		<summary type="html">&lt;p&gt;Rueling: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;LSI Controller bieten einen Preboot Client (neben dem WebBios)&amp;lt;br&amp;gt;&lt;br /&gt;
Das bietet scheinbar keine Hilfe-Option daher hier ein paar wichtige Befehle&amp;lt;br&amp;gt;&lt;br /&gt;
 -PDList -aALL  --&amp;gt; listet alles P&lt;br /&gt;
 -CfgLDDel -Lx|L0,1,2|Lall -aN|a0,1,2|aALL   (bsp: -CfgLDDel -L1,L2,L3 -a0)  --&amp;gt; löscht ein oder mehrere Virtual Disks. Beispiel löscht Disk 1 bis 3. Disk 0 bleibt erhalten&lt;br /&gt;
 -AdpBootDrive -Set -Lx aN  --&amp;gt; macht eine Virtual Disk Bootfähig&lt;br /&gt;
weitere Befehle gibt es unter: https://www.alteeve.com/w/MegaCli64_Cheat_Sheet&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 -h -aN --&amp;gt; zeigt Hilfe an&lt;br /&gt;
 -v -aN --&amp;gt; zeigt Version &lt;br /&gt;
 q --&amp;gt; verlässt Preboot CLI&lt;/div&gt;</summary>
		<author><name>Rueling</name></author>
	</entry>
	<entry>
		<id>https://wiki.wingeav.de/index.php?title=LSI_preboot_Client&amp;diff=236</id>
		<title>LSI preboot Client</title>
		<link rel="alternate" type="text/html" href="https://wiki.wingeav.de/index.php?title=LSI_preboot_Client&amp;diff=236"/>
		<updated>2020-06-18T09:23:39Z</updated>

		<summary type="html">&lt;p&gt;Rueling: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;LSI Controller bieten einen Preboot Client (neben dem WebBios)&amp;lt;br&amp;gt;&lt;br /&gt;
Das bietet scheinbar keine Hilfe-Option daher hier ein paar wichtige Befehle&amp;lt;br&amp;gt;&lt;br /&gt;
 -PDList -aALL  --&amp;gt; listet alles P&lt;br /&gt;
 -CfgLDDel -Lx|L0,1,2|Lall -aN|a0,1,2|aALL   (bsp: -CfgLDDel -L1,L2,L3 -a0)  --&amp;gt; löscht ein oder mehrere Virtual Disks. Beispiel löscht Disk 1 bis 3. Disk 0 bleibt erhalten&lt;br /&gt;
 -AdpBootDrive -Set -Lx aN  --&amp;gt; macht eine Virtual Disk Bootfähig&lt;br /&gt;
weiter Befehle gibt es unter: https://www.alteeve.com/w/MegaCli64_Cheat_Sheet&lt;/div&gt;</summary>
		<author><name>Rueling</name></author>
	</entry>
	<entry>
		<id>https://wiki.wingeav.de/index.php?title=LSI_preboot_Client&amp;diff=235</id>
		<title>LSI preboot Client</title>
		<link rel="alternate" type="text/html" href="https://wiki.wingeav.de/index.php?title=LSI_preboot_Client&amp;diff=235"/>
		<updated>2020-06-18T09:14:17Z</updated>

		<summary type="html">&lt;p&gt;Rueling: Die Seite wurde neu angelegt: „LSI Controller bieten einen Preboot Client (neben dem WebBios)&amp;lt;br&amp;gt; Das bietet scheinbar keine Hilfe-Option daher hier ein paar wichtige Befehle&amp;lt;br&amp;gt;  -PDList -a…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;LSI Controller bieten einen Preboot Client (neben dem WebBios)&amp;lt;br&amp;gt;&lt;br /&gt;
Das bietet scheinbar keine Hilfe-Option daher hier ein paar wichtige Befehle&amp;lt;br&amp;gt;&lt;br /&gt;
 -PDList -aALL  --&amp;gt; listet alles P&lt;br /&gt;
 -CfgLDDel -Lx|L0,1,2|Lall -aN|a0,1,2|aALL   (bsp: -CfgLDDel -L1,L2,L3 -a0)  --&amp;gt; löscht ein oder mehrere Virtual Disks&lt;br /&gt;
 -AdpBootDrive -Set -Lx aN  --&amp;gt; macht eine Virtual Disk Bootfähig&lt;br /&gt;
weiter Befehle gibt es unter: https://www.alteeve.com/w/MegaCli64_Cheat_Sheet&lt;/div&gt;</summary>
		<author><name>Rueling</name></author>
	</entry>
	<entry>
		<id>https://wiki.wingeav.de/index.php?title=Raspberry_Pi_als_digitaler_Bilderrahmen&amp;diff=234</id>
		<title>Raspberry Pi als digitaler Bilderrahmen</title>
		<link rel="alternate" type="text/html" href="https://wiki.wingeav.de/index.php?title=Raspberry_Pi_als_digitaler_Bilderrahmen&amp;diff=234"/>
		<updated>2020-05-10T13:40:50Z</updated>

		<summary type="html">&lt;p&gt;Rueling: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Folgendes beschreibt die Software und Einstellungen um einen Raspberry Pi (Raspi) als digitalen Bilderrahmen zu verwenden. &lt;br /&gt;
&lt;br /&gt;
Es wird der CLI Bildbetrachter „FEH“ verwendet&lt;br /&gt;
&amp;lt;b&amp;gt;sudo apt install feh&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nun muss noch in der Autostart angegeben werden, dass das Programm automatisch starten und alle 3600 Sekunden ein neues, zufälliges Bild laden und das Bild füllend anzeigen soll. &lt;br /&gt;
== Raspberry 3 mit einem Bildschirm ==&lt;br /&gt;
vim ~/.config/lxsession/LXDE-pi/autostart&lt;br /&gt;
 @lxpanel --profile LXDE-pi&lt;br /&gt;
 @pcmanfm --desktop --profile LXDE-pi&lt;br /&gt;
 @xscreensaver -no-splash&lt;br /&gt;
 @point-rpi&lt;br /&gt;
 @xset s noblank&lt;br /&gt;
 @xset s off&lt;br /&gt;
 @xset -dpms&lt;br /&gt;
 @feh -F -Y -z -r -D 3600 --zoom fill /backup/fotos/&lt;br /&gt;
&lt;br /&gt;
== Raspberry Pi 4 unterschied ==&lt;br /&gt;
Beim Raspi 4 liegt die Konfigurationsdatei woanders (liegt sicherlich an der Raspbian Version)&amp;lt;br&amp;gt;&lt;br /&gt;
Da an dem Raspi 4 zwei Bildschirme angebunden sind (mit je 2560x1440) und für den Raspberry Pi diese zwei Bildschirme nur 1 großer Bildschirm ist (mit 5120x1440px), muss das zweite mal der FEH Betrachter ab Pixel 2560/0 mit einer Auflösung von 2560x1440px angezeigt werden. &amp;lt;br&amp;gt;&lt;br /&gt;
Damit die Bilder nicht auf allen Bildschirmen gleichzeitig wechseln, ist die Zeit mit 3300 und 3000 Sekunden angegeben. &lt;br /&gt;
&lt;br /&gt;
sudo vim /etc/xdg/lxsession/LXDE-pi/autostart&lt;br /&gt;
 @lxpanel --profile LXDE-pi&lt;br /&gt;
 @pcmanfm --desktop --profile LXDE-pi&lt;br /&gt;
 @xscreensaver -no-splash&lt;br /&gt;
 @xset s noblank&lt;br /&gt;
 @xset s off&lt;br /&gt;
 @xset -dpms&lt;br /&gt;
 @feh -F -Y -r -z -D 3300 --zoom fill /home/pi/fotos&lt;br /&gt;
 @feh --scale-down --geometry 2560x1440+2560+0 -Y -r -z -D 3000 --zoom fill /home/pi/fotos&lt;/div&gt;</summary>
		<author><name>Rueling</name></author>
	</entry>
	<entry>
		<id>https://wiki.wingeav.de/index.php?title=Raspberry_Pi_als_digitaler_Bilderrahmen&amp;diff=233</id>
		<title>Raspberry Pi als digitaler Bilderrahmen</title>
		<link rel="alternate" type="text/html" href="https://wiki.wingeav.de/index.php?title=Raspberry_Pi_als_digitaler_Bilderrahmen&amp;diff=233"/>
		<updated>2020-05-10T13:22:25Z</updated>

		<summary type="html">&lt;p&gt;Rueling: Die Seite wurde neu angelegt: „Folgendes beschreibt die Software und Einstellungen um einen Raspberry Pi (Raspi) als digitalen Bilderrahmen zu verwenden.   Es wird der CLI Bildbetrachter „…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Folgendes beschreibt die Software und Einstellungen um einen Raspberry Pi (Raspi) als digitalen Bilderrahmen zu verwenden. &lt;br /&gt;
&lt;br /&gt;
Es wird der CLI Bildbetrachter „FEH“ verwendet&lt;br /&gt;
&amp;lt;b&amp;gt;sudo apt install feh&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nun muss noch in der Autostart angegeben werden, dass das Programm automatisch starten und alle 3600 Sekunden ein neues zufälliges Bild laden und das Bild füllend anzeigen soll. &lt;br /&gt;
&lt;br /&gt;
vim ~/.config/lxsession/LXDE-pi/autostart&lt;br /&gt;
 @lxpanel --profile LXDE-pi&lt;br /&gt;
 @pcmanfm --desktop --profile LXDE-pi&lt;br /&gt;
 @xscreensaver -no-splash&lt;br /&gt;
 @point-rpi&lt;br /&gt;
 @xset s noblank&lt;br /&gt;
 @xset s off&lt;br /&gt;
 @xset -dpms&lt;br /&gt;
 @feh -F -Y -z -r -D 3600 --zoom fill /backup/fotos/&lt;/div&gt;</summary>
		<author><name>Rueling</name></author>
	</entry>
	<entry>
		<id>https://wiki.wingeav.de/index.php?title=Windows_10_ISO_mit_WIM&amp;diff=232</id>
		<title>Windows 10 ISO mit WIM</title>
		<link rel="alternate" type="text/html" href="https://wiki.wingeav.de/index.php?title=Windows_10_ISO_mit_WIM&amp;diff=232"/>
		<updated>2020-04-23T23:10:08Z</updated>

		<summary type="html">&lt;p&gt;Rueling: Die Seite wurde neu angelegt: „Die Windows 10 ISO Dateien, die man direkt laden kann, enthalten keine WIM-Datei sondern eine ESD-Datei. &amp;lt;br&amp;gt; für einige Anwendungsfälle braucht man aber ein…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Die Windows 10 ISO Dateien, die man direkt laden kann, enthalten keine WIM-Datei sondern eine ESD-Datei. &amp;lt;br&amp;gt;&lt;br /&gt;
für einige Anwendungsfälle braucht man aber ein WIM-File.&amp;lt;br&amp;gt;&lt;br /&gt;
Mit einem Trick kommt man an eine ISO mit WIM.&amp;lt;br&amp;gt;&lt;br /&gt;
 Quelle: https://www.bleepingcomputer.com/news/microsoft/how-to-download-the-windows-10-1909-iso-from-microsoft/&lt;br /&gt;
Man startet einen Browser (Firefox, Chrome oder Edge) und ruft die normale Download Seite auf: https://www.microsoft.com/en-us/software-download/windows10&amp;lt;br&amp;gt;&lt;br /&gt;
Nun startet man die Entwickler Optionen im Browser (entweder über das Menü oder mit Strg+Shift+M in Firefox)&amp;lt;br&amp;gt;&lt;br /&gt;
Bei Edge ruft man diese mit F12 auf und hat in der Menü Leiste des Tool-Frames ein Dropdown Menü mit &amp;lt;b&amp;gt;Emulation&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Als Gerät wählt man ein Smartphone (Windows oder iPhone) aus und lädt die Seite mit F5 neu. &amp;lt;br&amp;gt;&lt;br /&gt;
Nun ändert sich die Seite und man kann eine Edition (i.d.R. die aktuelle) und Sprache auswählen.&amp;lt;br&amp;gt;&lt;br /&gt;
Die heruntergeladene ISO enthält nun eine WIM statt ESD&lt;/div&gt;</summary>
		<author><name>Rueling</name></author>
	</entry>
	<entry>
		<id>https://wiki.wingeav.de/index.php?title=WinSXS_Dateien_Fehlerhaft&amp;diff=231</id>
		<title>WinSXS Dateien Fehlerhaft</title>
		<link rel="alternate" type="text/html" href="https://wiki.wingeav.de/index.php?title=WinSXS_Dateien_Fehlerhaft&amp;diff=231"/>
		<updated>2020-04-23T22:51:38Z</updated>

		<summary type="html">&lt;p&gt;Rueling: Die Seite wurde neu angelegt: „wenn man beim Ausführen von &amp;lt;b&amp;gt;SFC /scannow&amp;lt;/b&amp;gt; Fehlerhafte Dateien oder Manifeste auftreten bzw. bei &amp;lt;b&amp;gt;Dism /Online /Cleanup-Image /RestoreHealth&amp;lt;/b&amp;gt; die Re…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;wenn man beim Ausführen von &amp;lt;b&amp;gt;SFC /scannow&amp;lt;/b&amp;gt; Fehlerhafte Dateien oder Manifeste auftreten bzw. bei &amp;lt;b&amp;gt;Dism /Online /Cleanup-Image /RestoreHealth&amp;lt;/b&amp;gt; die Reparatur fehlschlägt weil die Dateien nicht online heruntergeladen oder lokal gefunden wurden, kann es helfen, eine Windows 10 (oder Server) WIM Datei zu mounten und das entsprechende Update, das diese Dateien enthält in die WIM zu installieren.&amp;lt;br&amp;gt;&lt;br /&gt;
Danach sollte &lt;br /&gt;
 Dism /Online /Cleanup-Image /RestoreHealth /Source:wim:C:\temp\install.wim:1 /LimitAccess&lt;br /&gt;
die Dateien wiederherstellen können.&lt;br /&gt;
&lt;br /&gt;
In der C:\Windows\Logs\CBS\cbs.log stehen z.B. folgende Einträge:&lt;br /&gt;
 2020-04-23 23:28:44, Error                 CBS    Failed to look for file WinSxS\Manifests\x86_netfx4-globalserifcf_b03f5f7f11d50a3a_4.0.15788.328_none_1e9f7453db8db61b.manifest in some alternate sources [HRESULT = 0x80070003 - ERROR_PATH_NOT_FOUND]&lt;br /&gt;
 2020-04-23 23:28:44, Info                  CBS    Repr: Not able to find replacement manifests for component x86_netfx4-globalserifcf_b03f5f7f11d50a3a_4.0.15788.328_none_1e9f7453db8db61b from any local source&lt;br /&gt;
&lt;br /&gt;
 2020-04-23 23:20:08, Info                  CSI    00000007 Manifest hash for component [l:77 ml:140]&#039;x86_netfx4-globalserifcf_b03f5f7f11d50a3a_4.0.15788.328_none_1e9f7453db8db61b&#039; does not match expected value. &lt;br /&gt;
 Expected:{l:32 b:57632c7a093132e166a120033b242fa3850cc68a33812946afc646b41f000476}&lt;br /&gt;
 Found:{l:32 b:aa5d4a93a18a877fd1839669095f0f8b7946d0198a40e16b66c7f60c73dc7538}.&lt;br /&gt;
 2020-04-23 23:20:08, Info                  CSI    00000008 Unable to load manifest for component [l:77 ml:140]&#039;x86_netfx4-globalserifcf_b03f5f7f11d50a3a_4.0.15788.328_none_1e9f7453db8db61b&#039;&lt;br /&gt;
 2020-04-23 23:20:08, Info                  CSI    00000009 Manifest hash mismatch. Component: [l:77 ml:140]&#039;x86_netfx4-globalserifcf_b03f5f7f11d50a3a_4.0.15788.328_none_1e9f7453db8db61b&#039;&lt;br /&gt;
 2020-04-23 23:20:08, Info                  CSI    0000000a Warning: Unable to repair manifest for component ([l:77 ml:140]&#039;x86_netfx4-globalserifcf_b03f5f7f11d50a3a_4.0.15788.328_none_1e9f7453db8db61b&#039;) from backups directory with disposition (2). A backup file may not exist or may be corrupt. Falling back to WU.&lt;br /&gt;
Anhand der Versionsnummer &amp;lt;b&amp;gt;4.0.15788.32&amp;lt;/b&amp;gt; lässt sich evtl ermitteln, um welches Update es sich handelt. &amp;lt;br&amp;gt;&lt;br /&gt;
Im konkreten Beispiel ergab die Suche eine CSV-Datei mit der KB-Nummer und den Dateiennamen als Inhalt.&amp;lt;br&amp;gt;&lt;br /&gt;
Anhand der KB-Nummer konnte das NET-Framework Update von 2020-02 ermittelt werden. &lt;br /&gt;
&lt;br /&gt;
Um zu prüfen ob ein Update (.msu) die benötigten Dateien enthält, kann man das Update entpacken&lt;br /&gt;
 expand -f:* &amp;lt;Pfad-zu-Update.msu&amp;gt; &amp;lt;Ziel-Pfad&amp;gt;&lt;br /&gt;
In der darin enthaltenen .cab Datei findet man die Dateien&lt;br /&gt;
&lt;br /&gt;
Aus einem (speziellen) Windows 10 ISO konnte die install.wim kopiert und gemountet werden (mount-windowsimage). In das gemountete Image wurde dann die Update-Datei (.msu) installiert (Add-WindowsPackage -PackagePath &amp;lt;MSU-Datei&amp;gt; -Path &amp;lt;WIM-Mount-Pfad&amp;gt;). Nach einem Dismount-WindowsImage mit &amp;quot;-Save&amp;quot; hatte man eine angepasste WIM für DISM&lt;/div&gt;</summary>
		<author><name>Rueling</name></author>
	</entry>
	<entry>
		<id>https://wiki.wingeav.de/index.php?title=Linux_Firewalld&amp;diff=230</id>
		<title>Linux Firewalld</title>
		<link rel="alternate" type="text/html" href="https://wiki.wingeav.de/index.php?title=Linux_Firewalld&amp;diff=230"/>
		<updated>2020-04-08T14:47:23Z</updated>

		<summary type="html">&lt;p&gt;Rueling: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p&amp;gt;&lt;br /&gt;
In Centos wurde iptables durch firewalld abgelöst. &amp;lt;br&amp;gt;&lt;br /&gt;
Die Konfiguration funktioniert wie folgt:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;firewall-cmd --list-all&amp;lt;/code&amp;gt;&lt;br /&gt;
zeigt alle aktiven Zonen (i.d.R. nur &amp;quot;public&amp;quot;) und die dazugehörigen Services an&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Default-Services liegen unter &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;/usr/lib/firewalld/services&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Eigene Services werden unter&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;/etc/firewalld/services&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
abgelegt&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Services werden mit &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; firewall-cmd --zone=public --add-service=&amp;lt;servicename&amp;gt; &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
hinzugefügt.&amp;lt;br&amp;gt;&lt;br /&gt;
Diese sind aber nach dem Restart wieder verschwunden.&amp;lt;br&amp;gt;&lt;br /&gt;
Dauerhaft werden die mit dem Parameter &amp;quot;&#039;&#039;&#039;--permanent&#039;&#039;&#039;&amp;quot; hinzugefügt. ABER: durch den &#039;&#039;&#039;--permanent&#039;&#039;&#039; Parameter werden die nicht sofort aktviert sondern erst nach einem reload&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;firewall-cmd --reload&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Wenn das mit einer Fehlermeldung &amp;quot;INVALID_SERVICE&amp;quot; nicht erfolgreich ist, kann ggf. ein firewalld-Dienst Neustart helfen&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
man kann aber auch einzelne Portfreigaben hinzufügen&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;firewall-cmd --zone=public --add-port=443/tcp&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Rueling</name></author>
	</entry>
	<entry>
		<id>https://wiki.wingeav.de/index.php?title=Windows_CA_Recovery_Agent&amp;diff=229</id>
		<title>Windows CA Recovery Agent</title>
		<link rel="alternate" type="text/html" href="https://wiki.wingeav.de/index.php?title=Windows_CA_Recovery_Agent&amp;diff=229"/>
		<updated>2020-03-20T15:46:34Z</updated>

		<summary type="html">&lt;p&gt;Rueling: Die Seite wurde neu angelegt: „Um Private Keys für Zertifikate einer Windows CA wiederherstellen zu können, muss der Recovery Agent konfiguriert werden.  1. Vorlage &amp;quot;Key Recovery Agent&amp;quot; ak…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Um Private Keys für Zertifikate einer Windows CA wiederherstellen zu können, muss der Recovery Agent konfiguriert werden.&lt;br /&gt;
 1. Vorlage &amp;quot;Key Recovery Agent&amp;quot; aktivieren&lt;br /&gt;
 2. als (Domain)Admin ein Zertifikat mit dem Template &amp;quot;Key Recovery Agent&amp;quot; erstellen&lt;br /&gt;
 3. ggf. Zertifikat von CA genehmigen&lt;br /&gt;
 4. Zertifikat von CA exportieren und auf Server von dem beantragt wurde importieren - der Private Key des Zertifikates sollte dabei automatisch mit importiert werden&lt;br /&gt;
 5. Eigenschaften der CA bearbeiten und Recovery Agent aktivieren - Zertifikate zum wiederherstellen auswählen&lt;br /&gt;
&lt;br /&gt;
Nun müssen die Vorlagen entsprechend angepasst werden, dass diese den Key Archivieren.&lt;br /&gt;
&lt;br /&gt;
Die Wiederherstellung eines Archivierten Keys funktioniert wie folgt:&lt;br /&gt;
 1. Seriennummer des Zertifikates kopieren&lt;br /&gt;
 2. Certutil -getkey &amp;lt;seriennummer&amp;gt; recoveryblob&lt;br /&gt;
 3. Certutil -recoverkey recoveryblob &amp;lt;dateiname&amp;gt;.pfx --&amp;gt; dieser Schritt funktioniert nur auf Servern auf denen das Recovery Agent Zertifikat mit Private Key installiert ist.&lt;/div&gt;</summary>
		<author><name>Rueling</name></author>
	</entry>
	<entry>
		<id>https://wiki.wingeav.de/index.php?title=WinRM&amp;diff=228</id>
		<title>WinRM</title>
		<link rel="alternate" type="text/html" href="https://wiki.wingeav.de/index.php?title=WinRM&amp;diff=228"/>
		<updated>2020-01-23T11:44:21Z</updated>

		<summary type="html">&lt;p&gt;Rueling: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Wenn Remote Administration über Servermanager und Powersell nicht funktionieren, könnte es an WinRM liegen.&lt;br /&gt;
Mit &amp;lt;b&amp;gt;WinRM quickconfig&amp;lt;/b&amp;gt; kann man grundlegend die Remote Administration aktivieren.&amp;lt;br&amp;gt;&lt;br /&gt;
Sollte es dennoch Probleme geben, kann man mit folgendem Befehl prüfen, ob WinRM tatsächlich auch auf seiner IP Adresse lauscht&lt;br /&gt;
&amp;lt;b&amp;gt;winrm e winrm/config/Listener&amp;lt;/b&amp;gt;&lt;br /&gt;
Die Ausgabe sollte wie folgt aussehen&amp;lt;br&amp;gt;&lt;br /&gt;
 Listener [Source=&amp;quot;GPO&amp;quot;]&lt;br /&gt;
     Address = *&lt;br /&gt;
     Transport = HTTP&lt;br /&gt;
     Port = 5985&lt;br /&gt;
     Hostname&lt;br /&gt;
     Enabled = true&lt;br /&gt;
     URLPrefix = wsman&lt;br /&gt;
     CertificateThumbprint&lt;br /&gt;
     ListeningOn = 127.0.0.1, &amp;lt;IPv4 Adresse der Netzwerkkarte&amp;gt;, ::1, &amp;lt;linklocal IPv6 Adresse&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn die IPv4 Adresse nicht auftaucht, könnte das an einer Firewall Einstellung liegen oder Gruppenrichtlinie liegen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;winrm get winrm/config&amp;lt;/b&amp;gt; gibt alle Infos zu WinRM aus&lt;/div&gt;</summary>
		<author><name>Rueling</name></author>
	</entry>
	<entry>
		<id>https://wiki.wingeav.de/index.php?title=WAV_to_MP3_mit_Lame_und_Powershell&amp;diff=227</id>
		<title>WAV to MP3 mit Lame und Powershell</title>
		<link rel="alternate" type="text/html" href="https://wiki.wingeav.de/index.php?title=WAV_to_MP3_mit_Lame_und_Powershell&amp;diff=227"/>
		<updated>2019-07-23T20:23:35Z</updated>

		<summary type="html">&lt;p&gt;Rueling: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; $localpath = (get-location).path &lt;br /&gt;
 $output = &amp;quot;D:\hdd\mp3converted&amp;quot;&lt;br /&gt;
 get-childitem -filter *.wav -Recurse | % {&lt;br /&gt;
    $NewPath = $_.Directory.Fullname -Replace [regex]::escape($localpath), $output&lt;br /&gt;
    $OutFile = $_.Fullname -Replace [regex]::escape($localpath), $output -Replace &amp;quot;\.wav&amp;quot;,&amp;quot;.mp3&amp;quot;&lt;br /&gt;
    if (-not (Test-Path $NewPath)) {New-Item -Path $NewPath -ItemType Directory }&lt;br /&gt;
    &amp;amp; D:\hdd\Programme\lame\lame.exe -V 0 -b 128 --priority 3 --tt $_.BaseName  --preset standard $_.Fullname $OutFile&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Alle WAV Dateien unterhalb vom aktuellen Pfad werden konvertiert.&amp;lt;br&amp;gt;&lt;br /&gt;
Der Pfad unterhalb wird dabei mit übernommen und der Teil vom aktuellen Pfad (also Start-Pfad) wird durch $output ersetzt&amp;lt;br&amp;gt;&lt;br /&gt;
Bsp: Aktueller Pfad ist D:\HDD\Musik&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;quot;D:\HDD\Musik\Brass\Interpret1\Titel1.wav&amp;quot; wird zu &amp;quot;D:\HHD\mp3converted\Brass\Interpret1\Titel1.mp3&amp;quot;&lt;/div&gt;</summary>
		<author><name>Rueling</name></author>
	</entry>
	<entry>
		<id>https://wiki.wingeav.de/index.php?title=WAV_to_MP3_mit_Lame_und_Powershell&amp;diff=226</id>
		<title>WAV to MP3 mit Lame und Powershell</title>
		<link rel="alternate" type="text/html" href="https://wiki.wingeav.de/index.php?title=WAV_to_MP3_mit_Lame_und_Powershell&amp;diff=226"/>
		<updated>2019-07-23T20:23:15Z</updated>

		<summary type="html">&lt;p&gt;Rueling: Die Seite wurde neu angelegt: „ $localpath = (get-location).path   $output = &amp;quot;D:\hdd\mp3converted&amp;quot;  get-childitem -filter *.wav -Recurse -Path &amp;quot;d:\hdd\Music\BPh  Horn Quartet&amp;quot; | % {     $New…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; $localpath = (get-location).path &lt;br /&gt;
 $output = &amp;quot;D:\hdd\mp3converted&amp;quot;&lt;br /&gt;
 get-childitem -filter *.wav -Recurse -Path &amp;quot;d:\hdd\Music\BPh  Horn Quartet&amp;quot; | % {&lt;br /&gt;
    $NewPath = $_.Directory.Fullname -Replace [regex]::escape($localpath), $output&lt;br /&gt;
    $OutFile = $_.Fullname -Replace [regex]::escape($localpath), $output -Replace &amp;quot;\.wav&amp;quot;,&amp;quot;.mp3&amp;quot;&lt;br /&gt;
    if (-not (Test-Path $NewPath)) {New-Item -Path $NewPath -ItemType Directory }&lt;br /&gt;
    &amp;amp; D:\hdd\Programme\lame\lame.exe -V 0 -b 128 --priority 3 --tt $_.BaseName  --preset standard $_.Fullname $OutFile&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Alle WAV Dateien unterhalb vom aktuellen Pfad werden konvertiert.&amp;lt;br&amp;gt;&lt;br /&gt;
Der Pfad unterhalb wird dabei mit übernommen und der Teil vom aktuellen Pfad (also Start-Pfad) wird durch $output ersetzt&amp;lt;br&amp;gt;&lt;br /&gt;
Bsp: Aktueller Pfad ist D:\HDD\Musik&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;quot;D:\HDD\Musik\Brass\Interpret1\Titel1.wav&amp;quot; wird zu &amp;quot;D:\HHD\mp3converted\Brass\Interpret1\Titel1.mp3&amp;quot;&lt;/div&gt;</summary>
		<author><name>Rueling</name></author>
	</entry>
	<entry>
		<id>https://wiki.wingeav.de/index.php?title=RDP_Zertifikate&amp;diff=225</id>
		<title>RDP Zertifikate</title>
		<link rel="alternate" type="text/html" href="https://wiki.wingeav.de/index.php?title=RDP_Zertifikate&amp;diff=225"/>
		<updated>2019-05-08T09:31:13Z</updated>

		<summary type="html">&lt;p&gt;Rueling: Die Seite wurde neu angelegt: „für RDP Verbindungen werden automatisch selbstsignierte Zertifikate ausgestellt (TLS/SSL). &amp;lt;br&amp;gt;Diese haben aber nur eine relativ kurze Laufzeit.&amp;lt;br&amp;gt; Das für…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;für RDP Verbindungen werden automatisch selbstsignierte Zertifikate ausgestellt (TLS/SSL). &amp;lt;br&amp;gt;Diese haben aber nur eine relativ kurze Laufzeit.&amp;lt;br&amp;gt;&lt;br /&gt;
Das für RDP gebundene Zertifikat kann man mit folgendem Befehl auslesen:&amp;lt;br&amp;gt;&lt;br /&gt;
  wmic /namespace:\\root\cimv2\TerminalServices PATH Win32_TSGeneralSetting get SSLCertificateSHA1Hash&lt;br /&gt;
Zu Ändern des Zertifikates benötigt man den Thumbprint vom Zertifikat und ändert es dann mit folgendem Befehl&lt;br /&gt;
  wmic /namespace:\\root\cimv2\TerminalServices PATH Win32_TSGeneralSetting Set SSLCertificateSHA1Hash=&amp;lt;ThumbPrint&amp;gt;&lt;/div&gt;</summary>
		<author><name>Rueling</name></author>
	</entry>
	<entry>
		<id>https://wiki.wingeav.de/index.php?title=Powershell_Proxy&amp;diff=224</id>
		<title>Powershell Proxy</title>
		<link rel="alternate" type="text/html" href="https://wiki.wingeav.de/index.php?title=Powershell_Proxy&amp;diff=224"/>
		<updated>2019-01-31T10:22:46Z</updated>

		<summary type="html">&lt;p&gt;Rueling: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Um in Powershell mit der PSGallery zu arbeiten und z.b: Docker zu installieren (auf WindowsServer) muss bei einem Unternehmensproxy folgendes gesetzt werden:&amp;lt;br&amp;gt;&lt;br /&gt;
notepad $PROFILE&amp;lt;br&amp;gt;&lt;br /&gt;
[system.net.webrequest]::defaultwebproxy = new-object system.net.webproxy(&#039;http://YourProxyHostNameGoesHere:ProxyPortGoesHere&#039;)&amp;lt;br&amp;gt;&lt;br /&gt;
[system.net.webrequest]::defaultwebproxy.credentials = [System.Net.CredentialCache]::DefaultNetworkCredentials&amp;lt;br&amp;gt;&lt;br /&gt;
[system.net.webrequest]::defaultwebproxy.BypassProxyOnLocal = $true&amp;lt;br&amp;gt;&lt;br /&gt;
Datei Speichern und Powershell neu öffnen&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Für Docker selbst:&amp;lt;br&amp;gt;&lt;br /&gt;
[Environment]::SetEnvironmentVariable(&amp;quot;HTTP_PROXY&amp;quot;, &amp;quot;http://server:port&amp;quot;, [EnvironmentVariableTarget]::Machine)&amp;lt;br&amp;gt;&lt;br /&gt;
[Environment]::SetEnvironmentVariable(&amp;quot;HTTPS_PROXY&amp;quot;, &amp;quot;http://server:port&amp;quot;, [EnvironmentVariableTarget]::Machine)&amp;lt;br&amp;gt;&lt;br /&gt;
Restart-Service -Name docker&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Um PSGallery zu verwenden muss folgendes ausgeführt werden:&amp;lt;br&amp;gt;&lt;br /&gt;
 Register-PSRepository -Default&lt;/div&gt;</summary>
		<author><name>Rueling</name></author>
	</entry>
</feed>