Jump to content

asta46

Members
  • Gesamte Inhalte

    8
  • Registriert seit

  • Letzter Besuch

Beiträge erstellt von asta46

  1. Hallo zusammen...

     

    Ich hab im Nachgreifen nun doch noch eine Frage...

    Ich kämpfe im Moment noch mit der Formatierung der Ausgabe.

     

    Code ist folgender:

     

    get-date -format yyyyMMddHHmmss | Out-File -filepath $filepath -encoding default #Zeitstempel

    $filepath="c:\temp\xyz.txt" #Filepath

    $counter=0001

    $load=Get-WmiObject win32_processor | format-wide -property loadpercentage

    $b="{0}, {1:0.0}" -f $($counter), $($load)

    $b | Out-File -filepath $filepath -append -encoding default

     

     

    Ausgabe:

     

    20111222134655

    9950, System.Object[]

     

    Die aktuelle Cpu Last soll mir dadurch angezeigt werden, allerdings nur der eigentliche Wert. Leider kriege ich diesen nicht entsprechend formatiert, so dass unter anderem obige Ausgabe entsteht.... Die Ausgabe sollte nach Möglichkeit folgendermaßen aussehen:

     

    Bei einer angenommenen Cpu Last von 14%

     

     

    20111222134655

    9950, 14

     

     

    Hat da jmd noch einmal freundlicherweise einen Rat oder Tip für mich???

     

     

    Besten Dank im Voraus und Gruß

    asta

  2. Nachtrag:

     

    Habe folgendes geschrieben und dabei ist mir aufgefallen, dass der Code natürlich einen entscheidenden Designfehler hat:

     

    $drives=[system.io.driveinfo]::getdrives()

     

    get-date -format yyyyMMddHHmmss

     

    $width_0=0

    $drives | foreach {

    if ($_.totalsize -gt 0){

    $Totalsize=$($_.totalsize)/1GB

    $TotalFreeSpace=$($_.totalfreespace)/1GB

    $PercentFree=$($_.totalfreespace)/$($_.totalsize)

     

    "7987,", "{0,$($width_0):0.0}" -f `

    $(100*$PercentFree)

     

    }} #| Out-File c:\scripts\test.txt

     

    Ausgabe:

     

    20111220163200

    7987, 21,8

    7987, 76,0

    7987, 42,0

     

    Nun habe ich zwar den Code 7987 voranstehen inkl. Trenner, jedoch natürlich für jedes Laufwerk den gleichen. Allerdings ist es nötig, dass ich für jedes Laufwerk einen eigenen Code definiere.....

    Und da bin ich nun komplett raus... Muss ich das über einen Zähler lösen, der zB. bei 7987 anfängt zu zählen und dan pro Partition um eins hochzählt? Doch wie kann ich da ansetzen??

  3. Also ich bin dank der Tips schon ein ganzes Stück weiter... die Ausgabe passt inzwischen dahingehend, dass Zeitstempel und belegter Platz korrekt angezeigt werden. Lediglich der vorangestellt Code fehlt noch und der Export in ein File funktioniert noch nicht.... Weiß hier jemand noch abschließend einen Rat?

     

    Bisher sieht der Code folgendermaßen aus:

     

    $drives=[system.io.driveinfo]::getdrives()

     

    get-date -format yyyyMMddHHmmss

    $width_0=0

     

    $drives | foreach {

    if ($_.totalsize -gt 0){

    $Totalsize=$($_.totalsize)/1GB

    $TotalFreeSpace=$($_.totalfreespace)/1GB

    $PercentFree=$($_.totalfreespace)/$($_.totalsize)

    "{0,$($width_0):0.0}" -f `

    $(100*$PercentFree)

    }}

     

    Wie kann ich die Ausgabe nun via out-file in eine Datei schieben?

     

    Wenn ich ein einfaches | Out-File c:\scripts\test.txt hinter die letzte Klammer einfüge, wird lediglich der belegte Plattenplatz geschrieben, nicht jedoch der Zeitstempel....

     

    $drives=[system.io.driveinfo]::getdrives()

     

    get-date -format yyyyMMddHHmmss

    $width_0=0

     

    $drives | foreach {

    if ($_.totalsize -gt 0){

    $Totalsize=$($_.totalsize)/1GB

    $TotalFreeSpace=$($_.totalfreespace)/1GB

    $PercentFree=$($_.totalfreespace)/$($_.totalsize)

    "{0,$($width_0):0.0}" -f `

    $(100*$PercentFree)

     

    }} | Out-File c:\scripts\test.txt

     

     

    Besten Dank und Gruß!!

  4. Hallo,

     

    also ich habe mir mit Hilfe des Beispiels folgendes gebastelt:

     

    $drives=[system.io.driveinfo]::getdrives()

     

    $width_0=13

     

    $drives | foreach {

    if ($_.totalsize -gt 0){

    $Totalsize=$($_.totalsize)/1GB

    $TotalFreeSpace=$($_.totalfreespace)/1GB

    $PercentFree=$($_.totalfreespace)/$($_.totalsize)

     

    "{0,$($width_0):0.0%}" -f `

    $PercentFree

    }}

     

    Die Ausgabe sieht dann wie folgt aus:

     

    22,7%

    76,0%

    42,0%

     

    Nun stehe ich vor weiteren Schwierigkeiten:

    1. Wie kriege ich das % Zeichen aus der Ausgabe entfernt,

    2. Einen Zeitstempel eingefügt, im Format 20111220100101 -->Jahr/Monat/Tag/Uhrzeit

    3. und schlussendlich folgende Ausgabe als Ergebnis in ein File geschrieben?:

     

     

    20111220100101

    9908, 22,7 --> Codes sind wieder exemplarisch, frei gewählt und dienen zur internen Identifikation

    9909, 76,0

    9910, 42,0

     

    Soweit schon einmal besten Dank für die Hilfe... ich hoffe jemand kann mir auf den letzten Metern noch ein wenig Hilfestellung leisten!

    Dank und Gruß

  5. Nun wie gesagt, ich bin gerade erst eingestiegen in Sachen Powershell...

    Erfahrung mit Programmieren habe ich lediglich mit C++, Sql und im Bash Scripting...

     

    Der Code dient zur internen Weiterverarbeitung und war exemplarisch.... Also völlig losgelöst von Microsoft etc...

    Im Prinzip solle es also einfach irgendwie möglich sein hinter einen zuvor definierten Code den belegten Festplattenplatz in Prozent in einem File zu speichern...

     

    Besten Dank im Voraus und Gruß

  6. Hallo zusammen,

     

    ich bin erst seit kurzem im Bereich Windows Powershell tätig und habe ein Problem, welches ich nicht lösen kann....

    Ich hoffe jemand kann sich einen kurzen Moment Zeit nehmen, um mir einen Rat zu geben!

     

    Sachverhalt ist folgender....:

    Ich möchte den folgenden Befehl in eine Datei Ausgeben:

     

    Get-PSDrive

     

    Die einfache Umleitung in eine Datei habe ich durch

     

    Get-PSDrive | Out-File c:\scripts\test.txt

     

    erreicht!

     

    Nun ist es jedoch so, dass ich eigentlich nur den belegten Speicherplatz in % benötige, und das ganze durch einen Trenner getrennt hinter einem Code stehen soll.

    Also angenommen der belegte Speicherplatz von C: beträgt prozentual 86% und der von D: 56%, dann soll die Ausgabe innerhalb der Datei nach Möglichkeit folgendermaßen aussehen:

     

    4568:86 --> 4568 stellt hierbei den Code dar...

    4556:56

     

    Gibt es überhaupt eine Möglichkeit dies so zu bewerkstelligen??

     

    Ich wäre jedem, der mir helfen kann unendlich dankbar!!!!

     

     

    Besten Dank und Gruß

×
×
  • Neu erstellen...