Dutch_OnE 39 Geschrieben 19. Dezember 2012 Melden Teilen Geschrieben 19. Dezember 2012 Hallo, ich habe mir über Powershell ein paar Daten in eine Text Datei schreiben lassen. Nun möchte ich diese, wie z.B. im Qstatus von MSXFAQ.DE:QStatus diese Daten aufbereiten. Wie kann man das machen? Gerade weil die Farben einzelner Spalten sich anhand der Daten ändern. Kann man mit XML Text Dateien importieren, oder muss man die XML aus Powershell machen? Wie kommen die Farbunterschiede zustande? In PHP würde ich die importieren und dann jede Spalte auf Ihren Wert abfragen, aber in XML??? Gruß Daniel Zitieren Link zu diesem Kommentar
Necron 71 Geschrieben 20. Dezember 2012 Melden Teilen Geschrieben 20. Dezember 2012 Hi, ConvertTo-Xml heißt unter PowerShell das Cmdlet. Zur Formatierung: Die XML-Datei kann direkt auf den Webserver abgelegt werden. Die Formatumwandlung macht der Browser unter Zuhilfenahme des entsprechende Stylesheets. Zitieren Link zu diesem Kommentar
Dutch_OnE 39 Geschrieben 20. Dezember 2012 Autor Melden Teilen Geschrieben 20. Dezember 2012 Hallo, das klingt schon sehr gut. Im Moment schreibe ich alles einzelnt in eine Textdatei. Geht es dass ich es stattdessen in ein Array / Pipe / ... schreibe und dieses dann mit der Methode in ein XML wandel? Gruß daniel Zitieren Link zu diesem Kommentar
Dukel 455 Geschrieben 20. Dezember 2012 Melden Teilen Geschrieben 20. Dezember 2012 Du kannst deine Ausgabe direkt in XML machen (statt oder zusätzlich zum Txt File). Zitieren Link zu diesem Kommentar
Dutch_OnE 39 Geschrieben 20. Dezember 2012 Autor Melden Teilen Geschrieben 20. Dezember 2012 Das klingt doch schon mal sehr gut. Damit ich das richtig verstehe kann ich mit convertto-xml z.B. eine Ausgabe eines Powershell Befehls in eine Datei im XML Format speichern und ich kann aber auch aus Powershell direkt ein xml erstellen? Using PowerShell to Generate XML Documents - Windows PowerShell Blog - Site Home - MSDN Blogs Zitieren Link zu diesem Kommentar
Dukel 455 Geschrieben 21. Dezember 2012 Melden Teilen Geschrieben 21. Dezember 2012 Ich habe das in einem meiner letzten Scripte so gelöst, dass ich eine XML Variable erstellt habe, diese im Script mit Inhalten gefüllt und am ende auf Disk geschrieben habe. Zitieren Link zu diesem Kommentar
Necron 71 Geschrieben 21. Dezember 2012 Melden Teilen Geschrieben 21. Dezember 2012 Das klingt doch schon mal sehr gut. Damit ich das richtig verstehe kann ich mit convertto-xml z.B. eine Ausgabe eines Powershell Befehls in eine Datei im XML Format speichern und ich kann aber auch aus Powershell direkt ein xml erstellen? Using PowerShell to Generate XML Documents - Windows PowerShell Blog - Site Home - MSDN Blogs Der Blogartikel stammt aus einer Zeit der PowerShell wo es das Cmdlet Convertto-Xml noch nicht gab. ;) Zitieren Link zu diesem Kommentar
Dutch_OnE 39 Geschrieben 23. Dezember 2012 Autor Melden Teilen Geschrieben 23. Dezember 2012 Hallo, bisher lasse ich eine Powershell Batch mit einzelnen Abfragen ablaufen und schicke die Ergebnisse in eine Textdatei oder auf die Konsole. Was ich möchte ist, dass anstatt einer Textdatei eine XML Datei entsteht. Muss ich nun nach jeder einzelnen Abfrage das converttoxml aufrufen und kann ich z.B. die kompletten Konsolenausgaben am Ende einmalig mit ctoxml in die xml schreiben? Ich lege mal den Quellcode (Auszug) dazu, denn vielleicht möchten andere das auch haben. gruß daniel # for Exchange 2010 # Check if Ex2010 cmdlets are present - if not, load them $ExCom = Get-Command get-Mailbox -ErrorAction SilentlyContinue if ($ExCom -eq $Null) { Add-PSSnapin Microsoft.Exchange.Management.PowerShell.E2010 } # Set global Constants $DiskspacePercentageFree = 10 $QueueMessageUpperLevel = 20 # In Number of Messages $MemoryThreshold = 800 # MB Free $CPU_UpperLeverPercentage = 20 # Utilisation over sample period # Get local server name $Srv = $env:computername # Set initial error state (0 is OK, 1 is critical) Set-Variable -Name Exitcode -Value 0 -Scope Global function PrintMessage($strSubject,$strBody){ $strSubject $strBody } function checkServer(){ $pingStat = Get-WmiObject -class Win32_PingStatus -Filter "Address = '$Srv'" | select StatusCode if ($pingStat.StatusCode -eq 0){ Write-Host "Server $Srv Replied to ping" -ForegroundColor Green Write-Output "Server $Srv Replied to ping" checkRoles }else{ Write-Host "Server $Srv did not reply to ping" -ForegroundColor Red Write-Output "Server $Srv did not reply to ping" $MessBody = "Exchange Server: $Srv is not responding to ping requests" PrintMessage "Exchange Server not responding to pings" $MessBody Set-Variable -Name Exitcode -Value 1 -Scope Global Exit $Exitcode } } function checkDiskSpaceFree($strServer){ $fixedDisks = Get-WmiObject -ComputerName $strServer -Class Win32_LogicalDisk -Filter "DriveType = 3" foreach($disk in $fixedDisks){ $id = $disk.DeviceID [float]$size = $disk.size [float]$free = $disk.FreeSpace $pctFree = [Math]::Round(($free / $size) * 100, 2) $szGB = [Math]::Round($size / 1073741824, 2) $frGB = [Math]::Round($free / 1073741824, 2) if($pctFree -lt $DiskspacePercentageFree){ $MessBody = "Exchange Server Disk Space Issue: $strServer disk $id has less than $DiskspacePercentageFree% Free`nDisk Size: $szGB`nFree Space: $frGB" PrintMessage "Exchange Disk Issue Detected" $MessBody Set-Variable -Name Exitcode -Value 1 -Scope Global } } } function mailBoxRoleTests($strMBXServer){ # Check for dismounted Databases # Backups (called from this function) # Size of DB $MDB = Get-MailboxDatabase -Server $strMBXServer -Status $PFD = Get-PublicFolderDatabase -Server $strMBXServer -Status Write-Host "Checking Mailbox Databases" -ForegroundColor Cyan Write-Output "Checking Mailbox Databases" foreach($MxDB in $MDB){ if($MxDB.Mounted -eq $False){ $MessBody = "Exchange Server Mailbox Database $MxDB is not Mounted" PrintMessage "Exchange Database not Mounted" $MessBody Set-Variable -Name Exitcode -Value 1 -Scope Global } } Write-Host "Checking Public Folders Databases" -ForegroundColor Cyan Write-Output "Checking Public Folders Databases" foreach($pfDB in $PFD){ if($pfDB.Mounted -eq $False){ $MessBody = "Exchange Server Public Folder Database $pfDB is not Mounted" PrintMessage "Exchange Public Folder Database not Mounted" $MessBody Set-Variable -Name Exitcode -Value 1 -Scope Global } } # Get disk information Write-Host "Checking Free Disk Space" Write-Output "Checking Free Disk Space" checkDiskSpaceFree $strMBXServer } Zitieren Link zu diesem Kommentar
Dutch_OnE 39 Geschrieben 26. Dezember 2012 Autor Melden Teilen Geschrieben 26. Dezember 2012 Jetzt bin ich doch selbst einen Schritt weitergekommen. Das PS1 Skript lasse ich über eine Batch Datei aufrufen und dabei übergebe ich den Befehl convertto-xml. Nun habe ich die gewünschte XML Datei. Allerdings würde ich gerne noch eine css Datei mit integrieren. Würde es funktionieren, wenn ich im PS1 Skript eine Textausgabe wie z.B. "<!DOCTYPE fahrplan SYSTEM "test.dtd"> <?xml-stylesheet type="text/css" href="test.css" ?>" mache? Oder folgenden Parameter angeben? -CssUri Uri The Uniform Resource Identifier (URI) of the cascading style sheet The CSS URI is included as a style sheet link in the output. Gruß Daniel Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.