Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Powershell Script - Ausgabe Tasks eines Servers in eine HTML Seite

Frage Entwicklung Batch & Shell

Mitglied: lexura

lexura (Level 1) - Jetzt verbinden

30.01.2015, aktualisiert 12:48 Uhr, 749 Aufrufe, 4 Kommentare

Powershell Neuling !!!!

Hallo, hatte vor kurzem ja schon die Frage nach einem Script zum Auslesen der Tasks gefragt. Das habe ich soweit hinbekommen. Ich kann das Ergebnis auch "lesbar" in eine .txt Datei ausgeben. Mein Problem ist es jetzt dieses auch "lesbar" in eine HTML Seite zu bekommen. Die reine Ausgabe nach html klappt, aber lesbar und hübsch ist was anderes.

Hier mal mein Code bislang:

01.
$Datum = Get-Date -Format " dd.MM.yyyy 'um' HH:mm:ss 'Uhr'" 
02.
$Ueberschrift = "<h1 ALIGN=CENTER>TASK ÜBERSICHT</h1>" 
03.
$Erstell_Dat = "<h3 ALIGN=CENTER>Erstellungsdatum:$Datum</h3>" 
04.
$TaskS = "<h1 ALIGN=CENTER>Alle eingetragenen Tasks</h1>" 
05.
 
06.
$sched = New-Object -Com "Schedule.Service" 
07.
$sched.Connect() 
08.
$out = @() 
09.
$sched.GetFolder("\").GetTasks(0) | % { 
10.
    $xml = [xml]$_.xml 
11.
    $out += New-Object psobject -Property @{ 
12.
                'Name' = $_.name 
13.
                'Pfad' = $_.path 
14.
                'Status' = $_.state 
15.
                'Enabled' = $_.enabled 
16.
                'LastRunTime' = $_.lastruntime 
17.
                'LastTaskResult' = $_.lasttaskresult 
18.
                'NumberOfMissedRuns' = $_.numberofmissedruns 
19.
                'NextRunTime' = $_.nextruntime 
20.
                'UserId' = ([xml]$_.xml).Task.Principals.Principal.UserID 
21.
                'Description' = ([xml]$_.xml).Task.RegistrationInfo.Description 
22.
23.
24.
 
25.
$out | fl Name,Pfad,Status,Enabled,LastRunTime,NextRuNTime,LastTaskResult,NumberOfMissedRuns,userID,Description | 
26.
 
27.
out-file 'C:\test.txt' 
28.
 
29.
$Ergebnis = Get-Content "C:\test.txt" 
30.
 
31.
ConvertTo-Html -Title "Eventübersicht" -body "$Ueberschrift $Erstell_Dat <br/> <hr NOSHADE SIZE=6 WIDTH=80% COLOR=#0033CC /> <br/> 
32.
                                                                  $Tasks <br/> $Ergebnis" | 
33.
 
34.
out-file 'C:\test.html'
An meinem Code gibt es sicherlich noch Verbesserungen. Das Ergebnis sollte jeden gefundenen Task (samt Metadaten) einzelnd in der html darstellen (so wie sie auch in der txt zu lesen sind).

Besten Dank im Voraus an euch Profis.

Gruß Ralf

Screenshots:

acf331d19d3b5eb4ab98ae4b291465fa - Klicke auf das Bild, um es zu vergrößern

e6a837fed7158e01604d03e1c37a1003 - Klicke auf das Bild, um es zu vergrößern
Mitglied: lexura
30.01.2015 um 10:35 Uhr
Hallo Tiberus,

ich muss ehrlich gestehen, das ich bislang noch nicht viel mit Programmieren zu tun hatte. Deine Tips habe ich gelesen und mich auch daran versucht.
Leider ohne auch nur ansatzweise eine Lösung hinzubekommen.
Ich habe schon ein ähnliches Projekt bewerkstelligt, in dem wir alle Events von unseren Servern auslesen und jeweils in eigene Variablen schreiben. Da war dann die Ausgabe in HTML für mich einfacher zu lösen. Da ich bei der Task Aufgabe aber nicht jeden Task in eine eigene variable schreibe, kann ich den folgenden Code nicht einfach übernehmen.

Kann mir hier einer helfen mein Script so anzupassen, dass ich entweder jeden Task in eine Variable schreibe oder doch über das auslesen der erstellten Textdatei ein lesbares Ergebnis in HTML hinbekomme ???

01.
 
02.
$Datum = Get-Date -Format " dd.MM.yyyy 'um' HH:mm:ss 'Uhr'" 
03.
 
04.
$Ueberschrift = "<h1 ALIGN=CENTER>ALLE SERVER-EVENTS DER LETZTEN 3 TAGE</h1>" 
05.
$Erstell_Dat = "<h3 ALIGN=CENTER>Erstellungsdatum:$Datum</h3>" 
06.
 
07.
$P_SERVER = "<h1 ALIGN=CENTER>PRODUKTIONS - SERVER (virtuell)</h1>" 
08.
$D_SERVER = "<h1 ALIGN=CENTER>ENTWICKLUNGS - SERVER (virtuell)</h1>" 
09.
$S_SERVER = "<h1 ALIGN=CENTER>TEST - SERVER (virtuell)</h1>" 
10.
$K_SERVER = "<h1 ALIGN=CENTER>HYPER-V KNOTEN (physikalisch)</h1>" 
11.
$M_SERVER = "<h1 ALIGN=CENTER>MANAGEMENT - SERVER (physikalisch)</h1>" 
12.
 
13.
ConvertTo-Html -Title "Eventübersicht" -body "$Ueberschrift $Erstell_Dat <br/> <hr NOSHADE SIZE=6 WIDTH=80% COLOR=#0033CC /> <br/>  
14.
                                              $P_SERVER <br/> $SRV_01 <br/> <hr NOSHADE SIZE=3 WIDTH=80% COLOR=#0033CC /> <br/> $SRV_02 <br/> <hr NOSHADE SIZE=3 WIDTH=80% COLOR=#0033CC /> <br/> $SRV_03 <br/> <hr NOSHADE SIZE=3 WIDTH=80% COLOR=#0033CC /> <br/> $SRV_04 <br/> <hr NOSHADE SIZE=8 WIDTH=80% COLOR=#0033CC /> <br/> <br/> <br/>  
15.
                                              $D_SERVER <br/> $SRV_05 <br/> <hr NOSHADE SIZE=3 WIDTH=80% COLOR=#0033CC /> <br/> $SRV_06 <br/> <hr NOSHADE SIZE=8 WIDTH=80% COLOR=#0033CC /> <br/> <br/>  
16.
                                              $S_SERVER <br/> $SRV_07 <br/> <hr NOSHADE SIZE=3 WIDTH=80% COLOR=#0033CC /> <br/> $SRV_08 <br/> <hr NOSHADE SIZE=8 WIDTH=80% COLOR=#0033CC /> <br/> <br/>  
17.
                                              $K_SERVER <br/> $SRV_09 <br/> <hr NOSHADE SIZE=3 WIDTH=80% COLOR=#0033CC /> <br/> $SRV_10 <br/> <hr NOSHADE SIZE=8 WIDTH=80% COLOR=#0033CC /> <br/> <br/>  
18.
                                              $M_SERVER <br/> $SRV_11" | 
19.
 
20.
Out-File C:\Status-Event.html 
21.
 
Bitte warten ..
Mitglied: colinardo
LÖSUNG 30.01.2015, aktualisiert um 12:52 Uhr
Hallo Lexura,
guckst du hier:
01.
$sched = New-Object -Com "Schedule.Service" 
02.
$sched.Connect() 
03.
$out = @() 
04.
$sched.GetFolder("\").GetTasks(0) | % { 
05.
    $xml = [xml]$_.xml 
06.
    $out += New-Object psobject -Property @{ 
07.
                'Name' = $_.name 
08.
                'Pfad' = $_.path 
09.
                'Status' = $_.state 
10.
                'Enabled' = $_.enabled 
11.
                'LastRunTime' = $_.lastruntime 
12.
                'LastTaskResult' = $_.lasttaskresult 
13.
                'NumberOfMissedRuns' = $_.numberofmissedruns 
14.
                'NextRunTime' = $_.nextruntime 
15.
                'UserId' = ([xml]$_.xml).Task.Principals.Principal.UserID 
16.
                'Description' = ([xml]$_.xml).Task.RegistrationInfo.Description 
17.
18.
19.
 
20.
$tasks = $out | fl Name,Pfad,Status,Enabled,LastRunTime,NextRuNTime,LastTaskResult,NumberOfMissedRuns,userID,Description | out-string 
21.
 
22.
$html = @" 
23.
<!DOCTYPE HTML> 
24.
<html> 
25.
<head> 
26.
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
27.
<title>Geplante Tasks</title> 
28.
</head> 
29.
<style type="text/css"> 
30.
    .center{text-align:center} 
31.
</style> 
32.
<body> 
33.
    <div class="center"> 
34.
        <h1>TASK ÜBERSICHT</h1> 
35.
        <h3>Erstellungsdatum:$(Get-Date -Format " dd.MM.yyyy 'um' HH:mm:ss 'Uhr'")</h3> 
36.
        <h1>Alle eingetragenen Tasks</h1> 
37.
        <hr NOSHADE SIZE=6 WIDTH=80% COLOR=#0033CC /> 
38.
    </div> 
39.
    <div> 
40.
        <pre> 
41.
            $tasks 
42.
        </pre> 
43.
    </div> 
44.
</body> 
45.
</html> 
46.
"@ | out-file 'C:\Status-Event.html'
Grüße Uwe
Bitte warten ..
Mitglied: lexura
30.01.2015 um 12:48 Uhr
DANKE Uwe, das ist perfekt !!!

Gruß Ralf
Bitte warten ..
Ähnliche Inhalte
Heiß diskutierte Inhalte
Windows 7
gelöst BOOTMGR is missing (auch nach bootrec -RebuildBcd) (21)

Frage von Mipronimo zum Thema Windows 7 ...

Router & Routing
Tipps für Router (ca. 100 clients, VPN) (20)

Frage von oel-auge zum Thema Router & Routing ...

Windows Userverwaltung
Windows Freigabe: Zugriff auf alle Ordner trotz Sicherheitseinstellungen (18)

Frage von Pandreas zum Thema Windows Userverwaltung ...

Exchange Server
gelöst MS Exchange 2016 - Basicconfig Fragen (16)

Frage von maddig zum Thema Exchange Server ...