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, 741 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 ..
Neuester Wissensbeitrag
Ähnliche Inhalte
VB for Applications
Powershell Script aus VBA heraus ausführen (2)

Frage von mcnico1978 zum Thema VB for Applications ...

Batch & Shell
gelöst Powershell-Script als Admin über CMD ausführen (2)

Frage von Tobiased zum Thema Batch & Shell ...

Batch & Shell
Windows Explorer hängt sich bei Powershell Script auf (5)

Frage von zamsi7 zum Thema Batch & Shell ...

Batch & Shell
gelöst PowerShell Script für Dateisuche (4)

Frage von Stefan007 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (33)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...