Benutzer mit den meisten Antworten
Umrechnung Bytes auf MB

Frage
-
Habe jetzt noch eine Umrechnung der geliefeten Bytes in MB eingebaut.
Das Ergebinis sieht jetzt so aus für den Wert: WS: 12.96484375Mb
WS: $($_.WS / 1MB)Mb,
Wollte die Kürzung auf 2 Stellen so machen
WS: ${[math]::round($_.WS / 1MB, 2)}Mb,
Allerdings sieht dann das Ergebnis so aus: WS: Mb,
Was stimmt da nicht? So steht es in der Powershell - Doku
- Geteilt Denniver ReiningMVP, Moderator Dienstag, 11. Juni 2013 12:06 ...
Antworten
-
Ich Poste hier mal den ganzen (Funktionierenden) Code mit der MB Umrechnung!
Mann muss wie in der Mathematik die runden Klammern () richtig setzten, damit alles in der richtigen Reihenfolge abgearbeitet wird (von innen nach aussen) !# Variablen $smtpServer = "smtp.xxxx.int" $serverliste = 'c:\temp\amd\serverliste.txt' $logfile = "d:\tmp\test.txt" $username = "myuser" $passwort = "mypassword" $subject = "Test Monitoring IE " $mailfrom = "from@xxxxxx.int" $mailto = "To@xxxxx.de" $mailbody = "Test" # Serverlist.txt enthaelt alle zu überwachenden Server $Servers = Get-Content $serverliste # logfile.txt enhält das Ergebnis if (!([system.io.file]::exists($logfile))) { new-item $logfile -type file } #Falls altes log vorhanden lösche es# if (test-path $LogFile) {remove-item $LogFile } # alle Server durchlaufen foreach($server in $Servers){ Get-Wmiobject win32_process -computer $server | Where-Object {$_.name -like "iexplore.exe" -and $_.ws -gt "100000"} | Select-Object __Server,WS,name,@{n="owner";e={$_.getowner().user}} | ForEach-Object {"$(get-date -format u), Auf Server: $($_.__Server), Prozess: $($_.name), WS: $([math]::round($_.WS / 1MB, 2))MB, User: $($_.owner)"| Out-File -FilePath $LogFile -Append -Encoding ASCII} } #Mail Objekte erstellen# $smtp = new-object Net.Mail.SmtpClient($smtpServer) $attachment = new-object Net.Mail.Attachment($LogFile) $credentials=new-object system.net.networkcredential $credentials.username = $username $credentials.password = $passwort $smtp.Credentials = $credentials.getcredential($smtpServer,"25","basic") $message = New-Object Net.Mail.MailMessage $message.Subject = $subject $message.From = $mailfrom $message.To.Add($mailto) $message.Body = $mailbody $message.Attachments.Add($attachment) If (Test-Path $LogFile){ $smtp.Send($message) } $attachment.dispose()
Please click “Mark as Answer” if my post answers your question and click “Vote As Helpful” if my Post helps you.
Bitte markiere hilfreiche Beiträge von mir als “Als Hilfreich bewerten” und Beiträge die deine Frage ganz oder teilweise beantwortet haben als “Als Antwort markieren”.
My PowerShell Blog http://www.admin-source.info
[string](0..21|%{[char][int]([int]("{0:d}" -f 0x28)+('755964655967-86965747271757624-8796158066061').substring(($_*2),2))})-replace' '
German ? Come to German PowerShell Forum!- Als Antwort vorgeschlagen Peter Kriegel Montag, 17. Juni 2013 05:49
- Als Antwort markiert Denniver ReiningMVP, Moderator Samstag, 22. Juni 2013 10:20
Alle Antworten
-
Das wurde jetzt sehr unübersichtlich, deshalb habe ich die neue Frage mal abgetrennt. Bitte ändere obigen Post nochmal ab und poste die ganze Codezeile.
Gruß, Denniver
Blog: http://bytecookie.wordpress.com
Hilf mit und markiere hilfreiche Beiträge als "Hilfreich" und Beiträge die deine Frage ganz oder teilweise beantwortet haben als "Antwort". -
Ich Poste hier mal den ganzen (Funktionierenden) Code mit der MB Umrechnung!
Mann muss wie in der Mathematik die runden Klammern () richtig setzten, damit alles in der richtigen Reihenfolge abgearbeitet wird (von innen nach aussen) !# Variablen $smtpServer = "smtp.xxxx.int" $serverliste = 'c:\temp\amd\serverliste.txt' $logfile = "d:\tmp\test.txt" $username = "myuser" $passwort = "mypassword" $subject = "Test Monitoring IE " $mailfrom = "from@xxxxxx.int" $mailto = "To@xxxxx.de" $mailbody = "Test" # Serverlist.txt enthaelt alle zu überwachenden Server $Servers = Get-Content $serverliste # logfile.txt enhält das Ergebnis if (!([system.io.file]::exists($logfile))) { new-item $logfile -type file } #Falls altes log vorhanden lösche es# if (test-path $LogFile) {remove-item $LogFile } # alle Server durchlaufen foreach($server in $Servers){ Get-Wmiobject win32_process -computer $server | Where-Object {$_.name -like "iexplore.exe" -and $_.ws -gt "100000"} | Select-Object __Server,WS,name,@{n="owner";e={$_.getowner().user}} | ForEach-Object {"$(get-date -format u), Auf Server: $($_.__Server), Prozess: $($_.name), WS: $([math]::round($_.WS / 1MB, 2))MB, User: $($_.owner)"| Out-File -FilePath $LogFile -Append -Encoding ASCII} } #Mail Objekte erstellen# $smtp = new-object Net.Mail.SmtpClient($smtpServer) $attachment = new-object Net.Mail.Attachment($LogFile) $credentials=new-object system.net.networkcredential $credentials.username = $username $credentials.password = $passwort $smtp.Credentials = $credentials.getcredential($smtpServer,"25","basic") $message = New-Object Net.Mail.MailMessage $message.Subject = $subject $message.From = $mailfrom $message.To.Add($mailto) $message.Body = $mailbody $message.Attachments.Add($attachment) If (Test-Path $LogFile){ $smtp.Send($message) } $attachment.dispose()
Please click “Mark as Answer” if my post answers your question and click “Vote As Helpful” if my Post helps you.
Bitte markiere hilfreiche Beiträge von mir als “Als Hilfreich bewerten” und Beiträge die deine Frage ganz oder teilweise beantwortet haben als “Als Antwort markieren”.
My PowerShell Blog http://www.admin-source.info
[string](0..21|%{[char][int]([int]("{0:d}" -f 0x28)+('755964655967-86965747271757624-8796158066061').substring(($_*2),2))})-replace' '
German ? Come to German PowerShell Forum!- Als Antwort vorgeschlagen Peter Kriegel Montag, 17. Juni 2013 05:49
- Als Antwort markiert Denniver ReiningMVP, Moderator Samstag, 22. Juni 2013 10:20
-
Ist deine Frage damit beantwortet Joshua?
Blog: http://bytecookie.wordpress.com
Hilf mit und markiere hilfreiche Beiträge als "Hilfreich" und Beiträge die deine Frage ganz oder teilweise beantwortet haben als "Antwort". -
Hallo Joschua,
Ist die Thematik geklärt?
Viele Grüße,
AlexAlex Pitulice, MICROSOFT
Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.