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

<channel>
	<title>AD &#8211; abow &#8211; how do you do IT</title>
	<atom:link href="https://abow.info/tag/ad/feed/" rel="self" type="application/rss+xml" />
	<link>https://abow.info</link>
	<description>Alle möglichen Handkniffe, die ich mir so zusammentrage im Berufsalltag</description>
	<lastBuildDate>Thu, 13 Feb 2025 13:56:38 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	
	<item>
		<title>Active Directory // Gruppenrichtlinie kommt nicht bei Benutzern oder Computern an</title>
		<link>https://abow.info/microsoft/active-directory-gruppenrichtlinie-kommt-nicht-bei-benutzern-oder-computern-an/</link>
					<comments>https://abow.info/microsoft/active-directory-gruppenrichtlinie-kommt-nicht-bei-benutzern-oder-computern-an/#respond</comments>
		
		<dc:creator><![CDATA[Andi Bow]]></dc:creator>
		<pubDate>Fri, 13 Jan 2023 20:37:21 +0000</pubDate>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Microsoft Active Directory]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[GPO]]></category>
		<category><![CDATA[Gruppenrichtlinien]]></category>
		<category><![CDATA[Loopback]]></category>
		<guid isPermaLink="false">https://abow.info/?p=223</guid>

					<description><![CDATA[Warum wird eine GPO nicht angewendet? Wo kann der Fehler liegen?]]></description>
										<content:encoded><![CDATA[
<p>Durchaus kann es mal vorkommen, dass ihr Gruppenrichtlinien (GPOs) anlegt und konfiguriert aber diese nicht bei den Benutzern oder Computern ankommen&#8230; Warum? Na das kann ganz unterschiedlich sein.</p>



<p>Ist die GPO komplett neu angelegt? Oder wurde eine bestehende genutzt und umgeändert?</p>



<p><br>Folgend habe ich euch mal mögliche Grüne aufgeführt, die mir eingefallen sind. Gerne könnt ihr mir in den Kommentaren Ergänzungsvorschläge mitteilen.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="has-text-align-center wp-block-heading">Der Scope (Anwendungsbereich) ist nicht richtig definiert</h2>



<figure class="wp-block-image size-large"><img fetchpriority="high" decoding="async" width="1024" height="662" src="https://abow.info/wp-content/uploads/2023/01/2023-01-12-09_36_39-Window-1024x662.png" alt="" class="wp-image-224" srcset="https://abow.info/wp-content/uploads/2023/01/2023-01-12-09_36_39-Window-1024x662.png 1024w, https://abow.info/wp-content/uploads/2023/01/2023-01-12-09_36_39-Window-300x194.png 300w, https://abow.info/wp-content/uploads/2023/01/2023-01-12-09_36_39-Window-768x497.png 768w, https://abow.info/wp-content/uploads/2023/01/2023-01-12-09_36_39-Window.png 1214w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>Die GPO muss natürlich zwingend auf die Organisationseinheiten (OU) angewendet werden, in dem die Objekte liegen, die die GPO erhalten sollen.</p>



<figure class="wp-block-image size-full"><img decoding="async" width="249" height="89" src="https://abow.info/wp-content/uploads/2023/01/2023-01-12-09_41_48-Window.png" alt="" class="wp-image-225"/></figure>



<p>Weitere Einschränkungsmöglichkeiten:</p>



<ol class="wp-block-list">
<li>Sicherheitsfilter: Standardmäßig wird eine GPO auf alle &#8222;Authentifizierte Benutzer / Authenticated Users&#8220; gefiltert, sprich alle AD-Mitglieder. Hier kann auf einzelne/mehrere Objekte gefiltert werden.</li>



<li>WMI-Filter: Möglichkeit einer Filterung auf bestimmte Betriebsversionen (Windows Management Instrumentation)</li>
</ol>



<p>Sollten diese Filtermöglichkeiten genutzt worden sein, ist sicherzustellen, dass die Benutzer/Computer enthalten sind.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="has-text-align-center wp-block-heading">Loopback-Policy verhindert die Anwendung</h2>



<p>Liegt der Computer an dem sich der Benutzer anmeldet in einer anderen OU, könnte sich dort eine GPO befinden die eine Loopbackverarbeitung aktiviert hat. (Direkt oder vererbt)</p>



<p>Grundsätzlich werden GPO wie folgt gezogen und angewendet:</p>



<ul class="wp-block-list">
<li>Computerrichtlinien = werden beim Bootvorgang/Netzwerkanmeldung des Rechners verarbeitet</li>



<li>Benutzerrichlinien = werden bei der Benutzeranmeldung verarbeitet</li>



<li>Änderungen werden standardmäßig alle 90 Minuten synchronisiert</li>
</ul>



<p>Eine Loopbackverarbeitung bietet zwei mögliche Einstellungsmöglichkeiten:</p>



<ul class="wp-block-list">
<li>Zusammenführen (die Computerrichtlinien werden nach den Benutzerrichtlinien angewendet und erhalten so eine höhere Priorität)</li>



<li>Ersetzen (Benutzerrichtlinien werden vollkommen von Computerrichtlinien ersetzt, heißt GPO die auf der Benutzer-OU liegen werden ignoriert. Liegen an der Computer-OU Benutzerrichtlinien an, werden diese angewendet.)</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="has-text-align-center wp-block-heading">Nötige Berechtigungen sind nicht gegeben</h2>



<p>Haben die Benutzer und Computer die nötigen Lese- und Anwendungsrechte auf der GPO?</p>



<figure class="wp-block-image size-full"><img decoding="async" width="745" height="735" src="https://abow.info/wp-content/uploads/2023/01/2023-01-13-21_25_06-Window.png" alt="" class="wp-image-228" srcset="https://abow.info/wp-content/uploads/2023/01/2023-01-13-21_25_06-Window.png 745w, https://abow.info/wp-content/uploads/2023/01/2023-01-13-21_25_06-Window-300x296.png 300w" sizes="(max-width: 745px) 100vw, 745px" /></figure>



<p>Damit eine GPO erfolgreich angewendet werden kann, muss diese von dem Benutzer/Computer gelesen und angewendet werden dürfen. Unter &#8222;<strong>Delegierung</strong>&#8220; kann dies geprüft und korrigiert werden.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="has-text-align-center wp-block-heading">Benutzer- oder Computereinstellungen der GPO deaktiviert</h2>



<p>Enthält eine GPO nur Benutzerrichtlinien, empfiehlt es sich die Computereinstellungen der GPO zu deaktivieren.</p>



<p>Enthält eine GPO hingegen nur Computerrichtlinien, sollten die Benutzereinstellungen deaktiviert werden.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="364" height="122" src="https://abow.info/wp-content/uploads/2023/01/2023-01-13-21_34_53-Window.png" alt="" class="wp-image-230" srcset="https://abow.info/wp-content/uploads/2023/01/2023-01-13-21_34_53-Window.png 364w, https://abow.info/wp-content/uploads/2023/01/2023-01-13-21_34_53-Window-300x101.png 300w" sizes="(max-width: 364px) 100vw, 364px" /></figure>



<p>Enthält sie beides sollte natürlich nichts dergleichen deaktiviert werden.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>Grundsätzlich solltet ihr für einen neuen Zweck, immer eine neue frische GPO anlegen, sauber konfigurieren, einen Kommentar hinterlegen und nur notwendige Rechte vergeben.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="382" height="79" src="https://abow.info/wp-content/uploads/2023/01/2023-01-13-21_36_18-Window.png" alt="" class="wp-image-231" srcset="https://abow.info/wp-content/uploads/2023/01/2023-01-13-21_36_18-Window.png 382w, https://abow.info/wp-content/uploads/2023/01/2023-01-13-21_36_18-Window-300x62.png 300w" sizes="(max-width: 382px) 100vw, 382px" /></figure>



<p><br>Vor Verknüpfung einer GPO auf eine Produktivumgebung, bitte immer erst testen.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://abow.info/microsoft/active-directory-gruppenrichtlinie-kommt-nicht-bei-benutzern-oder-computern-an/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Powershell // Einen Prozess auf Remotecomputern beenden</title>
		<link>https://abow.info/microsoft/powershell-einen-prozess-auf-remotecomputern-beenden/</link>
					<comments>https://abow.info/microsoft/powershell-einen-prozess-auf-remotecomputern-beenden/#respond</comments>
		
		<dc:creator><![CDATA[Andi Bow]]></dc:creator>
		<pubDate>Wed, 21 Dec 2022 12:00:00 +0000</pubDate>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Microsoft Powershell]]></category>
		<category><![CDATA[Active Directory]]></category>
		<category><![CDATA[AD]]></category>
		<category><![CDATA[Dienste beenden]]></category>
		<category><![CDATA[Powershell]]></category>
		<category><![CDATA[Remote-Powershell]]></category>
		<category><![CDATA[Skript]]></category>
		<guid isPermaLink="false">https://abow.info/?p=193</guid>

					<description><![CDATA[Dieses Skript wurde auf eine Basis von Windows 10 Computern und Windows Server 2016 getestet. In diesem Artikel stelle ich euch ein Skript von mir vor, mit dem ihr einen Prozess auf einem oder mehreren Remote-Computern beenden könnt. Es gibt genau zwei Möglichkeiten Computer anzugeben in diesem Skript WICHTIG: Damit das Skript funktionieren kann, muss [&#8230;]]]></description>
										<content:encoded><![CDATA[
<pre class="wp-block-preformatted">Dieses Skript wurde auf eine Basis von Windows 10 Computern und Windows Server 2016 getestet.</pre>



<p>In diesem Artikel stelle ich euch ein Skript von mir vor, mit dem ihr einen Prozess auf einem oder mehreren Remote-Computern beenden könnt.</p>



<p>Es gibt genau zwei Möglichkeiten Computer anzugeben in diesem Skript</p>



<ul class="wp-block-list">
<li>eine .txt-Datei angeben mit einer Liste an Hostnamen</li>



<li>eine Organisationseinheit des Active Directory angeben und anhand eines Strings durchsuchen</li>
</ul>



<p><strong>WICHTIG</strong>:</p>



<pre class="wp-block-preformatted">Damit das Skript funktionieren kann, muss der Remote Computer vom ausführendem Computer aus im Netzwerk erreichbar sein und ihr braucht Admin-Rechte auf dem Remotecomputer z.B. Domain-Administrator.
Außerdem: Das Powershell-Skript kann evtl. aufgrund von ExecutionPolicys an der Ausführung gehindert werden. (Wie ihr das für Benutzer oder Computer aufhebt, gerne in einem weiteren Artikel)</pre>



<p>Damit das Skript auch weiß welchen Dienst ihr denn beenden wollt, müsst ihr diesen ebenfalls angeben.</p>



<p>Das Skript zeigt euch die gefundenen Computer einmal an und fragt euch noch einmal ob ihr wirklich diesen Dienst auf diesen gefundenen Computern beenden wollt.</p>



<pre class="wp-block-code"><code>&lt;#
.SYNOPSIS
    Dieses Skript beendet euch via remote-powershell Dienste
 
 
.NOTES   
    Name: PS_Remote_Dienste_beenden
    Author: Andreas Bowitz
    Version: 0.1
    LastUpdated: 2022-Dec-02
 
#>

#Prüfung ob der aktuelle Benutzer Adminrechte besitzt
Add-Type -AssemblyName System.Windows.Forms

	If (-NOT (&#91;Security.Principal.WindowsPrincipal] &#91;Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole(&#91;Security.Principal.WindowsBuiltInRole] “Administrator”))
	{
		Write-Warning "Sie haben keine Administrator-Rechte um dieses Skript auszuführen!`nBitte starten Sie das Skript als Administrator!"
		Break
	}

$AbfrageWeg = Read-Host -Prompt "Möchten Sie eine .txt_Datei mit Computernamen angeben oder eine OU durchsuchen? Geben Sie entweder 'txt' oder 'ou' ohne ' ein."
#OU-Such Variante
	If($AbfrageWeg -eq "ou")
		{
		$Computernamen = Read-Host -Prompt "Bitte geben Sie einen String ein der in den Computernamen enthalten ist."
		$Searchbase = Read-Host -Prompt "Bitte geben Sie die Such-Basis Organisationseinheit als 'DistinguishedName' ein. Beispiel: OU=Server,DC=abow,DC=local"

		$AllComputer = Get-ADComputer -Filter "Name -like $Computernamen" -SearchBase $Searchbase | ft Name
		}
#Text-Datei Variante
	elseif ( $AbfrageWeg -eq "txt")	{
		$txt = Read-Host -Prompt "Bitte geben Sie den Pfad zur .txt-Datei an. Beispiel: C:\temp\test.txt"
		$AllComputer = &#91;IO.File]::ReadAllText($txt)
		}
	else 
	{
		write-host 'Der Vorgang wurde angebrochen.'
		break
		PAUSE
	}

#Ausgabe der gefundenen Computer
Write-Host "Es wurden folgende Computer gefunden: " 
$AllComputer

#Angabe des Prozesses
$ProzessName = Read-Host -Prompt "Bitte geben Sie einen Prozessnamen ein. Beispiel: Microsoft.Dynamics.Nav.Client"


#Absicherungsfrage
$Abfrage = &#91;System.Windows.Forms.MessageBox]::Show("Möchten Sie auf diesen Server wirklich den Dienst $ProzessName beenden?","Frage an den Benutzer",3,&#91;System.Windows.Forms.MessageBoxIcon]::Question)
 
	If($Abfrage -eq "Yes")
    {
	   $cred = Get-Credential -Message "Bitte mit einem Administrator anmelden."
	   
       write-host 'Der Prozess wird jetzt beendet. '

       foreach ($Computer in $AllComputer)
            {
                   #Remote Verbindung herstellen und Prozess beenden
                   Enter-PSSession -ComputerName $Computer -credential $cred
                   write-host $Computer
								   #Animation für den User, damit er sieht das war passiert.
									for($i = 0; $i -le 100; $i++)
									{
										Write-Progress -Activity "Prozess beenden" -PercentComplete $i -Status "Fortschritt $($i)";
										Sleep -Milliseconds 10;
									}
                   invoke-command $Computer {get-process $ProzessName |stop-process -force}

                   

							#Prüfung ob der Prozess beendet ist.
							$ProzessAktiv = Get-Process $ProzessName -ComputerName $Computer -ErrorAction SilentlyContinue
							If($ProzessAktiv -eq $null){

							#Nachricht an den User das der Prozess beendet wurde.
							Write-Host “Der Prozess $ProzessName wurde auf dem Computer $Computer beendet.”
							PAUSE
                            
					Exit-PSSession
							
							else {
							Write-Host “Der Prozess konnte nicht beendet werden.”
							PAUSE
							}
											}
				}
    }
    elseif ( $Abfrage -eq "No")
    {
        write-host 'Der Vorgang wurde angebrochen.'
        break
		PAUSE
    }
    else 
    {
        write-host 'Der Vorgang wurde angebrochen.'
        break
		PAUSE
    }
	
	
	#Clear all Variables/Arrays
	$AllComputer = $null
	$ProzessName = $null
	$Abfrage = $null
	$ProzessAktiv = $null
	$i = $null
	$cred = $null
	$Computer = $null
	$txt = $null
	$AbfrageWeg = $null
	$Computernamen = $null
	$SearchBase = $null
	
	###Vorschlag: SeviceAccount anlegen und lokale Admin Rechte geben -> Fest im Skript einbauen</code></pre>



<p>Hier könnt ihr das Skript herunterladen:</p>



<div class="wp-block-file"><a id="wp-block-file--media-5388561d-aad2-4ef9-be78-017d59241d65" href="https://abow.info/wp-content/uploads/2022/12/PS_Remote_Dienste_beenden-1.ps1">PS_Remote_Dienste_beenden-1</a><a href="https://abow.info/wp-content/uploads/2022/12/PS_Remote_Dienste_beenden-1.ps1" class="wp-block-file__button wp-element-button" download aria-describedby="wp-block-file--media-5388561d-aad2-4ef9-be78-017d59241d65"><strong>Herunterladen</strong></a></div>



<pre class="wp-block-preformatted">Wie immer berichte ich in diesem Artikel nur von meinen persönlichen Erfahrungen und Erkenntnissen/Ergebnissen.
Es handelt sich hierbei um keine offizielle Anleitung von Microsoft.
Ein nachhandeln und nutzen von Skripten geschieht auf eigene Gefahr. ;)</pre>
]]></content:encoded>
					
					<wfw:commentRss>https://abow.info/microsoft/powershell-einen-prozess-auf-remotecomputern-beenden/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
