Desktophintergrund exportieren (mit PowerShell)

Dieses Thema Desktophintergrund exportieren (mit PowerShell) im Forum "Software: Empfehlungen, Gesuche & Problemlösungen" wurde erstellt von Timo112, 13. Juli 2016.

Thema: Desktophintergrund exportieren (mit PowerShell) Hallo Leute, ich soll ein PowerShell-Skript erstellen, das mir den Desktophintergrund bei dem PC auf dem es...

  1. Hallo Leute,
    ich soll ein PowerShell-Skript erstellen, das mir den Desktophintergrund bei dem PC auf dem es ausgeführt wird kopiert und in einen bestimmten Ordner speichert.

    Dies ist teil einer etwas Größeren Aufgabe aber leider hänge ich hier fest.

    Für die die es interessiert hier der Code der bis jetzt steht.


    $speicherort = Read-Host "Speicherort wählen: [1] Desktop / [2] Skriptverzeichnis" #Fragt den Speicherort vom Benutzer ab

    $datumzeit = get-date -Format "dd.MM.yyyy, HH:mm:ss"
    $dateiname = get-date -Format "yyyy-MM-dd_hh-mm" #Gibt Datum/Uhrzeit aus

    $pcname = $(Get-WmiObject Win32_Computersystem).name #Gibt den PC-Namen aus

    $OSversion = [System.Environment]::OSVersion.Version #Gibt die OS-Version aus

    $benutzer = $Env:USERNAME #Gibt den aktuell angemeldeten Benutzernamen aus

    $domäne = $env:USERDNSDOMAIN #Gibt die aktuelle Domäne aus



    $Laufwerk = Get-WmiObject -class win32_logicalDisk
    ForEach ($Element in $Laufwerk){
    if ($Element.DriveType -eq 3){
    $Laufwerk2 = $Element.FreeSpace/1GB
    $Laufwerk01 = $Element.Size/1GB
    $Laufwerk4 = $Laufwerk01|Out-String
    $Laufwerk3 = $Laufwerk2|Out-String
    $frei = Write-Output ($Laufwerk3.SubString(0,5))
    $gesamt = Write-Output ($Laufwerk4.SubString(0,5))
    }
    }
    #Gibt den freien und den gesamten Festplattenspeicher an


    $internetverbindung = if (Test-Connection 213.183.81.10 -BufferSize 16 -Count 1 -Quiet) { Write-output aktiv} else {Write-Output inaktiv} #Gibt an, ob eine Internetverbindung besteht


    #$internetverbindung = (Resolve-DnsName www.cc-net.ag).ip4address
    #$domäne = [Environment]::UserDomainName
    #$benutzer = [Environment]::UserName
    #$speicher = Get-WMIObject Win32_LogicalDisk -filter "name='c:'" | select name, freespace
    #$speicher = gwmi Win32_LogicalDisk -Computer $pcname | ForEach {$_.name, [math]::truncate($_.freespace / 1GB)}
    #$internetverbindung = Test-NetConnection 213.183.81.10 | select Pingsucceeded
    #New-item c:\PC-Info\$date.txt -force -value "$Titel `r`n`r`nComputername: $pcname`r`n`r`nWindowsversion: $OSversion`r`n`r`nangemeldeter Benutzer: $benutzer`r`n`r`nDomäne: $domäne`r`n`r`nInternetverbindung: $internetverbindung`r`n`r`n$speicher"

    function Get-ScriptDirectory {
    $Invocation = (Get-Variable MyInvocation -Scope 1).Value
    Split-Path $Invocation.MyCommand.Path
    } #Sucht den aktuellen Speicherort des Skriptes



    switch ($speicherort){
    1 {$pfad = "C:\Users\$benutzer\Desktop"}
    2 {$pfad = Get-ScriptDirectory}
    } #Wählt den Speicherort zwischen Desktop und aktuellem Verzeichnis


    New-item $pfad\Info.$pcname.$dateiname.log -force -type file -value "
    _______________________________________________________________
    |
    Datum, Uhrzeit | $datumzeit
    _________________________|_____________________________________
    |
    Computername: | $pcname
    _________________________|_____________________________________
    |
    Domäne: | $domäne
    _________________________|_____________________________________
    |
    angemeldeter Benutzer: | $benutzer
    _________________________|_____________________________________
    |
    Windowsversion: | $OSversion
    _________________________|_____________________________________
    |
    Internetverbindung: | $internetverbindung
    _________________________|_____________________________________
    |
    Speicher in C:/ | $gesamt GB gesamt, $frei GB frei
    _________________________|_____________________________________


    "
    #erstellt die Log-Datei mit allen Infos



    $mail = Read-Host "Soll die Datei per E-Mail versendet werden? (ja/nein)" #Fragt den Nutzer ob die Datei per Mail verschickt werden soll

    switch ($mail){
    ja {
    $absender = Read-Host "Bitte den Absender eingeben"
    $empfänger = Read-Host "Bitte den Empfänger eingeben"
    $server = Read-Host "Bitte den SMTP-Server eingeben"
    $ssl = Read-Host "Möchten Sie eine SSL-Verbindung nutzen? (Standard: nein)"
    $betreff = Read-Host "Bitte den Betreff eingeben"
    $text = Read-Host "Bitte einen E-Mailtext eingeben"
    }
    nein {exit}
    }
    #Fragt die nötigen infos zur Mail vom Benutzer ab

    switch ($ssl){
    ja {Send-MailMessage -From "$absender" -to "$empfänger" -Subject "$betreff" -Body "$text" -SmtpServer "$server" -UseSSL -Port 587 -Credential "$absender" -Attachments "$pfad\Info.$pcname.$dateiname.log"}
    nein {Send-MailMessage -From "$absender" -to "$empfänger" -Subject "$betreff" -Body "$text" -SmtpServer "$server" -Credential "$absender" -Attachments "$pfad\Info.$pcname.$dateiname.log"}
    }
    #Fragt ab ob eine SSL-Verschlüsselung gewünscht ist und sendet die E-Mail mit allen Infos ab

    Read-Host "[Enter] drücken um das Skript zu beenden" #Pausiert das Skript vor dem Schließen solange, bis der Nutzer eine Taste drückt. Dadurch kann er Fahlermeldungen lesen und kopieren.




    Gruß Timo
     
Die Seite wird geladen...

Desktophintergrund exportieren (mit PowerShell) - Ähnliche Themen

Forum Datum
3 Monitore - Problem mit Desktophintergrund Windows 8 Forum 11. Apr. 2015
DreamScene ( Animierte Desktophintergründe ) Windows XP Forum 13. Nov. 2009
Systemreparatur, danach nur desktophintergrund Windows XP Forum 19. Dez. 2011
Hilfe ! Win zeigt nach hochfahren nur Desktophintergrund kein Menü/symbole Windows XP Forum 16. Okt. 2010
Fehler im Desktophintergrund - Fenster im Hintergrund lässt sich nicht schließen Windows XP Forum 25. Sep. 2009