Probleme mit Remot-PowerShell-Sitzung wegen GPOs
Verfasst: 30.03.2024, 00:58
Hallo zusammen und Frohe Ostern erstmal,
hoffe ich poste im richtigen Bereich, da ich mit der Suche nichts gefunden habe. *ascheaufmeinhaupt*
Befasse mich seit knapp 2 Monaten mit PowerShell und Automation, und möchte ein Skript erstellen, das mir verschiedene VM in Hyper-V anlegt, die ISOs einbindet und ich die Installation manuell durchführe, im Anschluss soll dann, sofern ein Server angelegt wurde die Features und Rollen wie AD-DS, DHCP und DNS installiert werden. Der Server dann zum DC hochgestuft, DHCP Range eingestellt und der DNS Eintrag für die Firewall gemacht werden.
Wenn das alles abgearbeitet ist, geht es an die GPOs, Passwort Richtlinien, STRG-ALT-ENTF (DisableCAD) auf 0, DontDisplayLastUserName auf 1, Bildschirmschoner auf 5 Minuten und das PowerShell 7 auf allen Computern in der Domäne installiert werden soll, falls nicht vorhanden.
Hoffe das ist verständlich erklärt
Die VMs werden sauber erstellt, mit Abfragen von RAM, HDD, Switche und etc. Installation wird wie erwähnt manuell durchgeführt. Der Server wird zum DC hochgestuft, aber Die Registrierung des DHCP-Servers im Active Directory ist fehlgeschlagen. bei folgendem
kann aber trotzdem den Bereich, Leasedauer usw. angeben und funktioniert auch. (über dieses Problem mache ich mir später vllt Gedanken
)
Erstelle dann mit dem Skript einen Ersatz Admin, weise dem die nötigen Gruppen zu und deaktiviere den Standard Admin.
ändert meine Passwort Richtlinien, was auch übernommen, und in der Domäne angewendet wird.
Und nun komme ich zu den GPOs die mir Sorgen machen.
Diese beiden Befehle laufen anscheinend ins nichts, weder mit RPSS noch direkt auf dem Server, werden diese nicht übernommen.
ebenso dieser Befehl wird nicht angewandt.
was wieder funktioniert, ist die Verteilung von PS7 mit der Abfrage ob schon installiert oder nicht
So jetzt hab ich fast meine Lebensgeschichte verfasst
aber hoffe dennoch Ihr könnt mir vllt weiterhelfen.
Wünsche Euch frohe Ostern und viel Spaß bei der Eiersuche
Gruß Mike
hoffe ich poste im richtigen Bereich, da ich mit der Suche nichts gefunden habe. *ascheaufmeinhaupt*
Befasse mich seit knapp 2 Monaten mit PowerShell und Automation, und möchte ein Skript erstellen, das mir verschiedene VM in Hyper-V anlegt, die ISOs einbindet und ich die Installation manuell durchführe, im Anschluss soll dann, sofern ein Server angelegt wurde die Features und Rollen wie AD-DS, DHCP und DNS installiert werden. Der Server dann zum DC hochgestuft, DHCP Range eingestellt und der DNS Eintrag für die Firewall gemacht werden.
Wenn das alles abgearbeitet ist, geht es an die GPOs, Passwort Richtlinien, STRG-ALT-ENTF (DisableCAD) auf 0, DontDisplayLastUserName auf 1, Bildschirmschoner auf 5 Minuten und das PowerShell 7 auf allen Computern in der Domäne installiert werden soll, falls nicht vorhanden.
Hoffe das ist verständlich erklärt

Die VMs werden sauber erstellt, mit Abfragen von RAM, HDD, Switche und etc. Installation wird wie erwähnt manuell durchgeführt. Der Server wird zum DC hochgestuft, aber Die Registrierung des DHCP-Servers im Active Directory ist fehlgeschlagen. bei folgendem
Code: Alles auswählen
$scriptBlock = {
param($DomainName, $TopLevelDomain, $StaticIP)
Add-DhcpServerInDC -DnsName "$using:DomainName.$using:TopLevelDomain" -IPAddress $using:StaticIP
if ($?) {
Write-Host "Der Befehl wurde erfolgreich ausgeführt."
# überprüft die Registrierung des DHCP-Servers im Active Directory
$registeredServers = Get-DhcpServerInDC
if ($registeredServers -contains "$using:DomainName.$using:TopLevelDomain") {
Write-Host "Der DHCP-Server wurde erfolgreich im Active Directory registriert."
} else {
Write-Host "Die Registrierung des DHCP-Servers im Active Directory ist fehlgeschlagen."
}
} else {
Write-Host "Es gab ein Problem bei der Ausführung des Befehls."
}
}

Erstelle dann mit dem Skript einen Ersatz Admin, weise dem die nötigen Gruppen zu und deaktiviere den Standard Admin.
Code: Alles auswählen
# Definieren der Passwortrichtlinie
$PasswordPolicy = @{
ComplexityEnabled = $true
MinPasswordLength = 12
PasswordHistoryCount = 24
LockoutThreshold = 5
LockoutObservationWindow = (New-TimeSpan -Minutes 60)
LockoutDuration = (New-TimeSpan -Minutes 60)
}
# Einfügen des DN für die Domäne
$DomainDN = "$using:DomainName.$using:TopLevelDomain"
# Anwenden der Passwortrichtlinie
Set-ADDefaultDomainPasswordPolicy -Identity $DomainDN @PasswordPolicy
Und nun komme ich zu den GPOs die mir Sorgen machen.
Code: Alles auswählen
# Setzen Sie die interaktive Anmeldung auf STRG+ALT+ENTF
Set-ItemProperty -Path "HKLM:\Software\Microsoft\Windows\CurrentVersion\Policies\System" -Name "DisableCAD" -Value 0
# Deaktivieren Sie die Anzeige des letzten Benutzers
Set-ItemProperty -Path "HKLM:\Software\Microsoft\Windows\CurrentVersion\Policies\System" -Name "DontDisplayLastUserName" -Value 1
Code: Alles auswählen
# Setzen Sie den Bildschirmschoner-Timeout auf 5 Minuten
Set-ItemProperty -Path "HKCU:\Control Panel\Desktop" -Name "ScreenSaveTimeOut" -Value 300
was wieder funktioniert, ist die Verteilung von PS7 mit der Abfrage ob schon installiert oder nicht
Code: Alles auswählen
# Überprüfen, ob der Zielordner vorhanden ist
$TargetFolder = "C:\Software"
if (-not (Test-Path -Path $TargetFolder)) {
# Wenn der Ordner nicht vorhanden ist, wird die Installation der PowerShell 7 MSI-Datei ausgeführt
$PowerShell7MSIPath = Join-Path -Path $Server -ChildPath "\Software\PowerShell7.msi"
Invoke-Command -Session $Session -ScriptBlock {
Start-Process -FilePath "msiexec.exe" -ArgumentList "/i $using:PowerShell7MSIPath /qn" -Wait
}

Wünsche Euch frohe Ostern und viel Spaß bei der Eiersuche
Gruß Mike