anak1m
Goto Top

Bildschirmschoner mit GPO aktualisieren

Hallo zusammen,

ich verteile einen .scr-Datei via GPO auf alle unsere Clients welche als Bildschirmschoner verwendet wird.
Die darin enthaltenen Bilder ändern sich ca. alle 2 Monate, der Dateiname bleibt gleich.

Ist bei der GPO welche die Datei auf den Client kopiert, es ausreichend "Aktualisieren" auszuwählen?
Also wird berücksichtigt, wenn sich die Datei ändert und vom Datum her neuer ist, diese dann auf den Client kopiert wird, sollte Quell- und Zieldatei gleich sein (Erstellungsdatum der Datei), wird es übersprungen.

Ersetzen bewirkt zwar dies, aber hier wird die Datei erst gelöscht und dann wieder erstellt ... das verlangsamt aber den Anmeldevorgang "Group Policy Files wird übernommen..."

Vielen Dank für eure Hilfe

Content-ID: 578484

Url: https://administrator.de/contentid/578484

Ausgedruckt am: 22.11.2024 um 03:11 Uhr

NordicMike
NordicMike 11.06.2020 um 20:40:15 Uhr
Goto Top
Versuche es einfach mal, indem Du deinen PC in eine unter-OU versetzt.
Marco98
Marco98 13.06.2020 aktualisiert um 17:15:32 Uhr
Goto Top
Leider sind Gruppenrichtlinien bei Dateioperationen nicht so intelligent, geänderte Dateien auszutauschen.

Beachte auch, dass "ersetzen" keinerlei Effekt hat, wenn die Datei gar nicht angelegt wurde.
z.B. ein Neugerät wurde bei "ersetzen" die eine Datei bekommen.

Ich würde entweder den Dateinamen alle zwei Monate ändern:
Erstellen => custom-2020-06.scr
Löschen => custom-2020-04.scr

Oder alternativ ein Powershell-Skript als Startskript über eine Gruppenrichtlinie verteilen, dass eine eigene Logik zum Austausch der Datei hat.
Dies könnte dann auch asynchron laufen und belastet die policy-anwendungsdauer nicht so stark.
Beachte, dass wenn das Skript auf Fileshares zugreift, dass die Berechtigungen des AD-Computeraccount greifen.
anak1m
anak1m 15.06.2020 um 10:31:50 Uhr
Goto Top
Moin Moin,

danke für die Antworten.
Ich habe im Internet folgendes PS Skript gefunden und auf mich angepasst - funktioniert soweit auch.

$BackEndDir = "\\FILE01\Clients\"  
$BackEndFile = "Screensaver_Custom.scr"  
$FrontEndDir = "C:\Windows\System32\"  
 
if ( !$BackEndDir.EndsWith("\") )  
{ $BackEndDir = $BackEndDir + "\" }  
if ( !$FrontEndDir.EndsWith("\") )  
{ $FrontEndDir = $FrontEndDir + "\" }  
 
$BackFile = $BackEndDir + $BackEndFile
$FrontFile = $FrontEndDir + $BackEndFile
 
if ( !(Test-Path $BackFile) )
{
    Write-Host("Datei im Backend ist nicht vorhanden")  
    return
}
 
$objBackFile = get-item $BackFile
$objBackFileLWT = [datetime]$objBackFile.LastWriteTimeUTC
 
Write-Host ("BackEndDatei: " + $objBackFileLWT)  
 
If ( (Test-Path $FrontFile) )
{
    echo "Datei vorhanden"  
    $objFrontFile = get-item $FrontFile
    $objFrontFileLWT = [datetime]$objFrontFile.LastWriteTimeUTC
    Write-Host ("FrontEndDatei: " + $objFrontFileLWT)  
    if ($objBackFileLWT -gt $objFrontFileLWT)
    {
        Write-Host ("Datei wird im FrontEnd aktualisiert")  
        Copy-Item $BackFile $FrontEndDir
    }
    else
    {
        Write-Host ("Datei im FrontEnd ist gleich alt bzw. aktueller")  
    }
}
Else
{
    Write-Host ("Datei nicht vorhanden")  
}

Jetzt meine Frage:

Was muss ich wo einbauen, damit die Datei kopiert wird, wenn diese nicht vorhanden ist.
Aktuell gibt PS dann nur aus: "Datei nicht vorhanden" diese wird aber nicht kopiert.

Copy-Item -Path "\\FILE01\Clients\Screensaver_Custom.scr" -Destination "C:\Windows\System32\"  

Gruß
NordicMike
NordicMike 15.06.2020 um 21:22:09 Uhr
Goto Top
Indem Du den Befehl zum kopieren dort hin einbaust, wo die Meldung kommt, dass die Datei nicht vorhanden ist. Du kannst auch den Text erweitern: Datei nicht vorhanden und wird nun kopiert.