STEALTHCHIP.DE
:: I WANT TO DECRYPT.


Nikon-Blogger-Linkring :: powered by KLUGERD
TopBlogs.de das Original - Blogverzeichnis | Blog Top Liste
Blogverzeichnis Bloggerei.de - Fotoblogs




2024-07-26
SAAD - Ein Hoch auf die Systemadministratoren!


Letzten Freitag hat sich ein IT-Sicherheitsunternehmen (Crowdstrike Holdings, Inc. ) nicht gerade mit Ruhm bekleckert. Das Ergebnis: zahlreiche Systemadministratoren mussten viele Überstunden leisten und das Wochenende war für viele Menschen außerhalb der IT-Branche ruiniert.

Dank der Disziplin und Expertise weltweit beschäftigter Systemadministratoren konnten die meisten Systeme schlussendlich wieder in Betrieb genommen werden. Auch wenn mein Arbeitgeber nicht direkt betroffen war und mein Team sich folglich stressfrei ins Wochenende verabschiedete, möchte ich pünktlich zum System Administrator Appreciation Day allen interessierten Informatikern mit diesem Beitrag meine Wertschätzung ausdrücken und einige praktische Lösungsschablonen aus meiner beruflichen Praxis vorstellen.

Lösungsschablonen:
Entscheidungsfindung für Dateidownload über ein Datumsvergleich

Entscheidungsfindung für Dateidownload über ein Datumsvergleich
In der beruflichen Praxis eines Systemadministrators kommt es häufig vor, dass bestimmte Dateien nur dann heruntergeladen oder aktualisiert werden müssen, wenn sie neuer sind als die bereits vorhandenen. Eine einfache, aber effektive Methode zur Entscheidungsfindung für Dateidownloads basiert auf einem Datumsvergleich.

Hinzu kommt, dass der vom Betriebssystem aufgedrückte Zeitstempel nach dem Download mit dem Zeitstempel der Downloadquelle synchronisiert werden muss, um einen effizienten Datumsvergleich (ab dem zweiten Durchlauf) durchzuführen.

Ausschlaggebend für den Download ist der Zeitstempel - beispielsweise: 2024-07-26 13:45.

Hier ist ein praktisches Beispiel, wie dies mit einem PowerShell-Skript umgesetzt werden kann:

<#
RSA-Update-Downloader Ver. 0.2
(C) Alexander H. / STEALTHCHIP.DE
#>

Start-Transcript -Path "C:\Skripte\RSAUPDATE\RSAKEYDATE-Transcript.log"
$url = "https://trustcenter-data.itsg.de/dale/gesamt-rsa4096.key"
$verzeichnis = "C:\Skripte\RSAUPDATE\RSAFILE"
$logdateipfad = "C:\Skripte\RSAUPDATE\RSAKEYDATE.log"

$dateipfad = Join-Path $verzeichnis (Split-Path $url -Leaf)
if (Test-Path $dateipfad) {
    $lastModifiedRemote = (Invoke-WebRequest -Uri $url -Method Head -UseBasicParsing).Headers["Last-Modified"]
    $lastModifiedRemoteDateTime = [DateTime]::ParseExact($lastModifiedRemote, "ddd, dd MMM yyyy HH:mm:ss 'GMT'", [System.Globalization.CultureInfo]::InvariantCulture)
    $creationTimeLocal = (Get-Item $dateipfad).CreationTime

    if ($creationTimeLocal -lt $lastModifiedRemoteDateTime) {
        Invoke-WebRequest -Uri $url -OutFile $dateipfad
        (Get-Item $dateipfad).CreationTime = $lastModifiedRemoteDateTime
        $logText = "$(Get-Date -Format 'yyyy-MM-dd HH:mm:ss') | Datei heruntergeladen und Erstelldatum aktualisiert."
        Add-Content -Path $logdateipfad -Value $logText
    } else {
        $logText = "$(Get-Date -Format 'yyyy-MM-dd HH:mm:ss') | Die Datei ist bereits vorhanden und aktuell."
        Add-Content -Path $logdateipfad -Value $logText
    }
} else {
    Invoke-WebRequest -Uri $url -OutFile $dateipfad
    $lastModified = (Invoke-WebRequest -Uri $url -Method Head -UseBasicParsing).Headers["Last-Modified"]
    $lastModifiedDateTime = [DateTime]::ParseExact($lastModified, "ddd, dd MMM yyyy HH:mm:ss 'GMT'", [System.Globalization.CultureInfo]::InvariantCulture)
    (Get-Item $dateipfad).CreationTime = $lastModifiedDateTime
    $logText = "$(Get-Date -Format 'yyyy-MM-dd HH:mm:ss') | Datei heruntergeladen und Erstelldatum aktualisiert."
    Add-Content -Path $logdateipfad -Value $logText
}
Stop-Transcript
					
Der unter $verzeichnis angegebene Ordner muss vor Skriptausführung erstellt werden.

Ein häufiger Fehler beim Kontrollieren ist; visuell abweichende, aber korrekte Zeitstempel aufgrund von unterschiedlichen Zeitzonen falsch zu interpretieren (zum Beispiel 2024-07-26 13:45 > 2024-07-26 11:45).

Visuell abweichender aber korrekter Zeitstempel (2024-07-26 13:45 > 2024-07-26 11:45) - Zeitzone...


Ähnliche Artikel:


2024-01-16 - ...lesen.

2024-01-03 - ...lesen.

2023-03-25 - ...lesen.