Probleme mit Remot-PowerShell-Sitzung wegen GPOs

Interessante, alltägliche Themen und Diskussionen.
Cyber-Mike
Beobachter
Beobachter
Beiträge: 3
Registriert: 30.03.2024, 00:19
Hat sich bedankt: 12 Mal
Danke erhalten: 3 Mal
Gender:

Re: Probleme mit Remot-PowerShell-Sitzung wegen GPOs

Beitrag von Cyber-Mike » 02.04.2024, 21:11

Code: Alles auswählen

New-GPO -Name "ScreenSaverTimeOut" -Comment "Sets the time to 300 seconds"

Set-GPRegistryValue `
-Name "ScreenSaverTimeOut" `
-Key "HKCU\Software\Policies\Microsoft\Windows\Control Panel\Desktop" `
-ValueName ScreenSaveTimeOut -Type String -Value 300
Wenn ich diesen Block direkt am Server in PS ausführe wird eine neue GPO erstellt und auch umgesetzt.
Wenn ich das mit RPSS ausführe wird diese zwar auch erstellt, aber die 300 Sekunden werden nicht übernommen. :sauer:

Tante Google

Re: Probleme mit Remot-PowerShell-Sitzung wegen GPOs

Beitrag von Tante Google » 02.04.2024, 21:11


Benutzeravatar
Holgi
Elite
Elite
Beiträge: 2680
Registriert: 12.05.2018, 12:33
Hat sich bedankt: 327 Mal
Danke erhalten: 414 Mal
Gender:

Re: Probleme mit Remot-PowerShell-Sitzung wegen GPOs

Beitrag von Holgi » 02.04.2024, 22:46

Cyber-Mike hat geschrieben: 02.04.2024, 20:53 Das muss ich testen, aber der Server is ja jungfräulich frisch aufgesetzt.
Das ist schon richtig; aber es wird ja auch PowerShell 7 installiert und danach die GPOs.
Wenn da also mit PS7 was nicht richtig ist, dann könnte es schon sein, oder?
Warum muss PS7 eigentlich installiert werden? PS funktioniert doch auch so Out-of-the-box.
Vlt. mal PS7 Installation weglassen?
Ich würde das Script ja selbst testen, aber kenne mich mit Active Directory etc. nicht aus.
PDF24 angepasste Installation (nur PDF Druckertreiber) per Script: viewtopic.php?t=30284
Winget (Desktop App Installer) für Windows Versionen ohne Store installieren (HowTo): viewtopic.php?t=26214
Vorstellung: tiny11builder; Script zur Verschlankung von Windows 11: viewtopic.php?t=30134
Windows StartMenü Empfohlen (Recommended Section) komplett ausblenden: viewtopic.php?t=30574
Hyper-V VM per Script erstellen viewtopic.php?t=25114

Benutzeravatar
Holgi
Elite
Elite
Beiträge: 2680
Registriert: 12.05.2018, 12:33
Hat sich bedankt: 327 Mal
Danke erhalten: 414 Mal
Gender:

Re: Probleme mit Remot-PowerShell-Sitzung wegen GPOs

Beitrag von Holgi » 02.04.2024, 23:14

Hi Cyber-Mike,
habe heute mich mal dran versucht. Leider scheitere ich an der WINRM Umsetzung.
Die Unterschiede zwischen deinem und meinem Netzwerk (lokal) sind wohl zu groß.
Was ich erreicht habe ist folgendes:
Windows Server 2022 in einer Hyper-V VM installiert.
Auf dem Host ist das "Windows Admin Center" installiert.
Flugs den Server 2022 über die IP eingebunden und Powershell-Console im Admin Center geöffnet.
Dann die 3 fraglichen GPOs abgesetzt:

Code: Alles auswählen

Set-ItemProperty -Path "HKCU:\Control Panel\Desktop" -Name "ScreenSaveTimeOut" -Value 300

Code: Alles auswählen

Set-ItemProperty -Path "HKLM:\Software\Microsoft\Windows\CurrentVersion\Policies\System" -Name "DontDisplayLastUserName" -Value 1

Code: Alles auswählen

Set-ItemProperty -Path "HKLM:\Software\Microsoft\Windows\CurrentVersion\Policies\System" -Name "DisableCAD" -Value 0
Alles wurde klaglos auf dem Remote-Server umgesetzt.
Was mich immer noch interessiert:
was soll eigentlich mit dem Screensaver Timout bewirkt werden? Ist ja kein Screensaver eingerichtet. Es passiert also auch nach 5 Minuten nichts, oder?
PDF24 angepasste Installation (nur PDF Druckertreiber) per Script: viewtopic.php?t=30284
Winget (Desktop App Installer) für Windows Versionen ohne Store installieren (HowTo): viewtopic.php?t=26214
Vorstellung: tiny11builder; Script zur Verschlankung von Windows 11: viewtopic.php?t=30134
Windows StartMenü Empfohlen (Recommended Section) komplett ausblenden: viewtopic.php?t=30574
Hyper-V VM per Script erstellen viewtopic.php?t=25114

Cyber-Mike
Beobachter
Beobachter
Beiträge: 3
Registriert: 30.03.2024, 00:19
Hat sich bedankt: 12 Mal
Danke erhalten: 3 Mal
Gender:

Re: Probleme mit Remot-PowerShell-Sitzung wegen GPOs

Beitrag von Cyber-Mike » 03.04.2024, 21:27

einen wunderschönen guten Abend

Ja Holgi, dass das mit dem Admin Center funktionieren muss, ist mir klar, aber es sollte doch auch nur mit dem RPSS funktionieren bzw. umgesetzt werden können.

Und wegen den 5 Minuten, wenn ein Client solange inaktiv ist, dann muss sich der Benutzer dort neu anmelden, egal welcher Screensaver hinterlegt ist.

Werde ab morgen Mittag wieder testen und die Ergebnisse kundtun.

In diesem Sinne schönen Abend
VG Mike

Cyber-Mike
Beobachter
Beobachter
Beiträge: 3
Registriert: 30.03.2024, 00:19
Hat sich bedankt: 12 Mal
Danke erhalten: 3 Mal
Gender:

Re: Probleme mit Remot-PowerShell-Sitzung wegen GPOs

Beitrag von Cyber-Mike » 03.04.2024, 21:32

Holgi hat geschrieben: 02.04.2024, 23:14 Hi Cyber-Mike,
habe heute mich mal dran versucht. Leider scheitere ich an der WINRM Umsetzung.

Code: Alles auswählen

Write-Host "`nBitte starten Sie die Server VM und führen Sie die Installation durch`nnach der Fertigstellung, öffnen Sie die PowerShell Konsole als Administrator und geben Sie folgendes ein`n" -NoNewline
        Write-Host "Enable-PSRemoting -force" -NoNewline -ForegroundColor Cyan
        Write-Host "`n" -NoNewline
        Write-Host "winrm quickconfig`nund bestätigen Sie mit 'y'" -ForegroundColor Cyan
        Write-Host "`nim Anschluss machen Sie die Einstellungen anhand der Anleitung für den Netzwerkadapter`nund benennen Sie den Server in $Server um und Geben Sie 'OK' ein, wenn Sie fertig sind.`n"
das sind die beiden PS Befehle am Server

Code: Alles auswählen

# hinzufügen des Servers zur Liste der vertrauenswürdigen Hosts 
Set-Item WSMan:\localhost\Client\TrustedHosts -Value $Server -Force
und das sollte Dir den Server in die Liste am Host einfügen, dazu muss der Server aber die Grundinstallation haben.

Benutzeravatar
Holgi
Elite
Elite
Beiträge: 2680
Registriert: 12.05.2018, 12:33
Hat sich bedankt: 327 Mal
Danke erhalten: 414 Mal
Gender:

Re: Probleme mit Remot-PowerShell-Sitzung wegen GPOs

Beitrag von Holgi » 03.04.2024, 22:59

Dankeschön!
Ok, werde ich nochmals probieren.
PDF24 angepasste Installation (nur PDF Druckertreiber) per Script: viewtopic.php?t=30284
Winget (Desktop App Installer) für Windows Versionen ohne Store installieren (HowTo): viewtopic.php?t=26214
Vorstellung: tiny11builder; Script zur Verschlankung von Windows 11: viewtopic.php?t=30134
Windows StartMenü Empfohlen (Recommended Section) komplett ausblenden: viewtopic.php?t=30574
Hyper-V VM per Script erstellen viewtopic.php?t=25114

Cyber-Mike
Beobachter
Beobachter
Beiträge: 3
Registriert: 30.03.2024, 00:19
Hat sich bedankt: 12 Mal
Danke erhalten: 3 Mal
Gender:

Re: Probleme mit Remot-PowerShell-Sitzung wegen GPOs

Beitrag von Cyber-Mike » 04.04.2024, 19:59

Einen wunderschönen, bin einen Schritt weiter :yahoo:

hab zwar noch wegen der Using-Variable zwei Fehlermeldungen, aber die GPO für den Screensaver wird angelegt und definiert.

Code: Alles auswählen

# Anmeldeinformationsobjekt
    $cred = Get-Credential -UserName $AdminName -Message "Bitte geben Sie Ihr Passwort ein"

    # Startet die Remote-PowerShell-Sitzung
    $Session = New-PSSession -ComputerName $Server -Credential $cred

    # Definiert die Funktion Write-ErrorLog
function Write-ErrorLog {
    param (
        [Parameter(Mandatory=$true)]
        [string] $ErrorMessage
    )

    $timestamp = Get-Date -Format "dd-MM-yyyy HH:mm:ss"
    $logMessage = "$timestamp - $ErrorMessage"
    $logFile = "C:\\log\\log.txt"

    $dir = Split-Path -Path $logFile
    if(!(Test-Path $dir)) {
        New-Item -ItemType Directory -Force -Path $dir
    }

    $logMessage | Out-File $logFile -Append
    }
    try {
    # Definierung des PowerShell-Skripts
    $powershellScript = {
        # Importieren der Module
        Import-Module ActiveDirectory
        Import-Module GroupPolicy

        # Bildschirmschoner-Timeout 5 Minuten
        $gpo = New-GPO -Name 'ScreenSaverTimeOut' -Comment 'Sets the time to 300 seconds'
        Set-GPRegistryValue -Name $gpo.DisplayName -Key 'HKCU\\Software\\Policies\\Microsoft\\Windows\\Control Panel\\Desktop' -ValueName ScreenSaveTimeOut -Type String -Value 300

        # Wartezeit 10 Sekunden
        Start-Sleep -Seconds 10

        # Erstellt den GPO-Link
        $gpoLink = New-GPLink -Name 'ScreenSaverTimeOut' -Target "dc=$using:DomainName,dc=$using:TopLevelDomain"
        if ($null -ne $gpoLink) {
            # Erzwingt die GPO
            Set-GPLink -Name $gpoLink.Name -Target $gpoLink.Target -Enforced Yes
        } else {
            throw "Failed to create GPLink"
        }
    }

        # Speichert das Skript auf dem Server
        Invoke-Command -Session $Session -ScriptBlock { param($script, $path) Set-Content -Path $path -Value $script } -ArgumentList $powershellScript, "C:\\Software\\GPO-SSTO.ps1"

        # Führt das Skript auf dem Server aus
        Invoke-Command -Session $Session -ScriptBlock { param($path) & $path } -ArgumentList "C:\\Software\\GPO-SSTO.ps1"
        } catch {
            Write-ErrorLog -ErrorMessage $_.Exception.Message
        }

        # Wartezeit 10 Sekunden
        Start-Sleep -Seconds 10

    try {
        # Definierung des PowerShell-Skripts
        $powershellScript = {
            # Importieren der Module
            Import-Module ActiveDirectory
            Import-Module GroupPolicy

            $gpoLink = New-GPLink -Name 'ScreenSaverTimeOut' -Target "dc=$using:DomainName,dc=$using:TopLevelDomain"
            # Erzwingen Sie die GPO
            Set-GPLink -Name $gpoLink.Name -Target $gpoLink.Target -Enforced Yes
        }

    # Speichert das Skript auf dem Server
    Invoke-Command -Session $Session -ScriptBlock { param($script, $path) Set-Content -Path $path -Value $script } -ArgumentList $powershellScript, "C:\\Software\\GPO-SSTO.ps1"

    # Führt das Skript auf dem Server aus
    Invoke-Command -Session $Session -ScriptBlock { param($path) & $path } -ArgumentList "C:\\Software\\GPO-SSTO.ps1"
    } catch {
        Write-ErrorLog -ErrorMessage $_.Exception.Message
    }

    # Beenden der Remote-PowerShell-Sitzung
    Remove-PSSession -Session $Session
Eine Using-Variable kann nicht abgerufen werden. Eine Using-Variable kann nur mit "Invoke-Command", "Start-Job" oder mit "InlineScript" im Skriptworkflow verwendet werden. Bei Verwendung mit "Invoke-Command" ist die Using-Variable nur gültig, wenn der Skriptblock auf einem
Remotecomputer aufgerufen wird.
+ CategoryInfo : InvalidOperation: (:) [], RuntimeException
+ FullyQualifiedErrorId : UsingWithoutInvokeCommand
+ PSComputerName : LABSRV

Leider funktioniert das ganze nicht mit der Login-Richtlinie was, STRG+ALT+ENTF und letzten User nicht anzeigen, angeht.
Bei diesen kommt die Fehlermeldung, dass der Schlüssel ungültig ist
Der folgende Schlüssel ist für eine Gruppenrichtlinien-Registrierungseinstellung ungültig: "\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System". Der Schlüssel muss sich in einer der folgenden Registrierungsstrukturen befinden: HKEY_LOCAL_MACHINE oder
HKEY_CURRENT_USER. Stellen Sie sicher, dass der Key-Parameter einen gültigen Schlüssel enthält. Führen Sie den Befehl dann erneut aus.
Parametername: key
+ CategoryInfo : NotSpecified: (:) [Set-GPRegistryValue], ArgumentException
+ FullyQualifiedErrorId : System.ArgumentException,Microsoft.GroupPolicy.Commands.SetGPRegistryValueCommand
+ PSComputerName : LABSRV

VG Mike

Cyber-Mike
Beobachter
Beobachter
Beiträge: 3
Registriert: 30.03.2024, 00:19
Hat sich bedankt: 12 Mal
Danke erhalten: 3 Mal
Gender:

Re: Probleme mit Remot-PowerShell-Sitzung wegen GPOs

Beitrag von Cyber-Mike » 04.04.2024, 23:03

hoffe dass ich den nächsten Step morgen umsetzen kann

Code: Alles auswählen

            Set-GPRegistryValue -Name 'LoginRichtlinie' -Key 'HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System' -ValueName 'DisableCAD' -Type DWord -Value 0
            
            Set-GPRegistryValue -Name 'LoginRichtlinie' -Key 'HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System' -ValueName 'DontDisplayLastUserName' -Type DWord -Value 1
eben nochmal direkt auf dem Server getestet und wenn ich anstatt HKLM das ganze ausschreibe wie im Code, werden die Einstellungen in der GPO übernommen.

Aber Feierabend für heute, morgen ist auch noch Zeit dafür

Schönen Abend und ich geb Feedback

Benutzeravatar
Holgi
Elite
Elite
Beiträge: 2680
Registriert: 12.05.2018, 12:33
Hat sich bedankt: 327 Mal
Danke erhalten: 414 Mal
Gender:

Re: Probleme mit Remot-PowerShell-Sitzung wegen GPOs

Beitrag von Holgi » 05.04.2024, 08:17

kam mir gleich etwas eigenartig vor, da Set-ItemProperty nur "value" zulässt und nicht die Registry-spezifischen Typen wie Reg_SZ, Reg_DWORD etc.
Habe mir leider gestern meine Konfiguration versaut. Jetzt funzt bei mir AdminCenter nicht mehr. :betruebt:
WINRM Fehler.JPG
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
PDF24 angepasste Installation (nur PDF Druckertreiber) per Script: viewtopic.php?t=30284
Winget (Desktop App Installer) für Windows Versionen ohne Store installieren (HowTo): viewtopic.php?t=26214
Vorstellung: tiny11builder; Script zur Verschlankung von Windows 11: viewtopic.php?t=30134
Windows StartMenü Empfohlen (Recommended Section) komplett ausblenden: viewtopic.php?t=30574
Hyper-V VM per Script erstellen viewtopic.php?t=25114

Cyber-Mike
Beobachter
Beobachter
Beiträge: 3
Registriert: 30.03.2024, 00:19
Hat sich bedankt: 12 Mal
Danke erhalten: 3 Mal
Gender:

Re: Probleme mit Remot-PowerShell-Sitzung wegen GPOs

Beitrag von Cyber-Mike » 05.04.2024, 13:57

Holgi hat geschrieben: 05.04.2024, 08:17 kam mir gleich etwas eigenartig vor, da Set-ItemProperty nur "value" zulässt und nicht die Registry-spezifischen Typen wie Reg_SZ, Reg_DWORD etc.
Habe mir leider gestern meine Konfiguration versaut. Jetzt funzt bei mir AdminCenter nicht mehr. :betruebt:

WINRM Fehler.JPG
Ohh :-o und läuft wieder ?

Benutzeravatar
Holgi
Elite
Elite
Beiträge: 2680
Registriert: 12.05.2018, 12:33
Hat sich bedankt: 327 Mal
Danke erhalten: 414 Mal
Gender:

Re: Probleme mit Remot-PowerShell-Sitzung wegen GPOs

Beitrag von Holgi » 05.04.2024, 14:13

nee; bin selber schuld:
never touch a running system!
PDF24 angepasste Installation (nur PDF Druckertreiber) per Script: viewtopic.php?t=30284
Winget (Desktop App Installer) für Windows Versionen ohne Store installieren (HowTo): viewtopic.php?t=26214
Vorstellung: tiny11builder; Script zur Verschlankung von Windows 11: viewtopic.php?t=30134
Windows StartMenü Empfohlen (Recommended Section) komplett ausblenden: viewtopic.php?t=30574
Hyper-V VM per Script erstellen viewtopic.php?t=25114

Cyber-Mike
Beobachter
Beobachter
Beiträge: 3
Registriert: 30.03.2024, 00:19
Hat sich bedankt: 12 Mal
Danke erhalten: 3 Mal
Gender:

Re: Probleme mit Remot-PowerShell-Sitzung wegen GPOs

Beitrag von Cyber-Mike » 05.04.2024, 19:00

Code: Alles auswählen

#########################################
# Überprüfung ob WinRM-Dienst aktiviert #
#########################################

try {
    # Überprüfung ob der WinRM-Dienst läuft
    $service = Get-Service -Name WinRM -ErrorAction SilentlyContinue
    if ($null -eq $service) {
        Write-Host "Der WinRM-Dienst ist nicht vorhanden. Das Skript wird deshalb beendet!" -ForegroundColor Red
        exit
    }
    elseif ($service.Status -ne 'Running') {
        # Starten Sie den WinRM-Dienst
        Write-Host "Starte den WinRM-Dienst..." 
        Start-Service -Name WinRM
    }

    # Legen Sie den WinRM-Diensttyp auf einen verzögerten automatischen Start fest
    Write-Host "Setze den WinRM-Diensttyp auf einen verzögerten automatischen Start..." -ForegroundColor Green
    $regPath = "HKLM:\SYSTEM\CurrentControlSet\Services\$($service.Name)"
    Set-ItemProperty -Path $regPath -Name 'DelayedAutoStart' -Value 1

} catch {
    Write-ErrorLog "$_ - $($_.Exception.Message)"
}
benutze den Block bei mir im Skript fürn Host, evlt kann da mit PS nen Restart oder ähnliches machen, damit das wieder funst.

Mache jetzt dann den finalen Testlauf, hoffe dass das Skript durchläuft.

Benutzeravatar
Holgi
Elite
Elite
Beiträge: 2680
Registriert: 12.05.2018, 12:33
Hat sich bedankt: 327 Mal
Danke erhalten: 414 Mal
Gender:

Re: Probleme mit Remot-PowerShell-Sitzung wegen GPOs

Beitrag von Holgi » 05.04.2024, 20:30

läuft wieder!
1. Get-Service winrm (lief bereits)
2. WinRM quickconfig
3. Set-Item WSMan:\localhost\Client\TrustedHosts *

danach lief es wieder.
PDF24 angepasste Installation (nur PDF Druckertreiber) per Script: viewtopic.php?t=30284
Winget (Desktop App Installer) für Windows Versionen ohne Store installieren (HowTo): viewtopic.php?t=26214
Vorstellung: tiny11builder; Script zur Verschlankung von Windows 11: viewtopic.php?t=30134
Windows StartMenü Empfohlen (Recommended Section) komplett ausblenden: viewtopic.php?t=30574
Hyper-V VM per Script erstellen viewtopic.php?t=25114

Cyber-Mike
Beobachter
Beobachter
Beiträge: 3
Registriert: 30.03.2024, 00:19
Hat sich bedankt: 12 Mal
Danke erhalten: 3 Mal
Gender:

Re: Probleme mit Remot-PowerShell-Sitzung wegen GPOs

Beitrag von Cyber-Mike » 05.04.2024, 20:33

Freut mich

Benutzeravatar
Holgi
Elite
Elite
Beiträge: 2680
Registriert: 12.05.2018, 12:33
Hat sich bedankt: 327 Mal
Danke erhalten: 414 Mal
Gender:

Re: Probleme mit Remot-PowerShell-Sitzung wegen GPOs

Beitrag von Holgi » 05.04.2024, 20:36

Wie war der finale Testlauf?
PDF24 angepasste Installation (nur PDF Druckertreiber) per Script: viewtopic.php?t=30284
Winget (Desktop App Installer) für Windows Versionen ohne Store installieren (HowTo): viewtopic.php?t=26214
Vorstellung: tiny11builder; Script zur Verschlankung von Windows 11: viewtopic.php?t=30134
Windows StartMenü Empfohlen (Recommended Section) komplett ausblenden: viewtopic.php?t=30574
Hyper-V VM per Script erstellen viewtopic.php?t=25114

Antworten