none
Variable RRS feed

  • Frage

  • Hallo erst einmal und ein schönen guten Abend,

    ich habe ein kleines Problem und muss zuvor, dazu sagen das ich in Power Shell so gut wie noch nie was gemacht habe und hoffe das ihr mir helfen könnt.

    Wenn ich in cmd z.B. "netsh mbn show interface" eingebe bekomme ich die Firmware von der Karte raus.

    Nun ist es kein Problem in cmd diese FW als Variable zu setzten, für die Weiterverarbeitung.

    Um, damit ein Update der FW nur dann durchgeführt wird wenn diese noch nicht aktuell ist.

    Nur wie mache ich das in Power Shell, könnt ihr mir bitte etwas helfen dabei ???

    Gruß

    Markus

    Sonntag, 7. Februar 2016 18:22

Antworten

  • In Windows 8 oder Server 2012 gibt es neue PS Module mit denen das wohl geht. (NetAdapter)
    Aber nicht in W7.
    Da wäre es am einfachsten weiter netsh zu benutzen. Du kannst es ja auch aus PS heraus aufrufen.Ich habe kein Modem im PC, kann also dein Kommando nicht testen.

    Das Beispiel mit "lan" um die physicalichen Adressen anzeigen zu lassen.

    $netsh=(netsh lan show interface)
    
    $netsh | ?{$_ -like "*Physical*" } | %{$_.split(":")[1]}


    Dienstag, 9. Februar 2016 08:20

Alle Antworten

  • Hi Markus,

    das definieren einer Variable ist recht einfach:

    $variable = Dein-Ausdruck
    

    Diese Variable kannst du dann weiter verwenden...

    Mehr Infos rund um Variablen findest du hier:

    https://technet.microsoft.com/de-de/magazine/2007.03.powershell.aspx

    Beste Grüße

    Eric


    Microsoft MVP Cloud and Datacenter Management
    Microsoft Partner Technical Solutions Professional (P-TSP)
    --
    www.ericberg.de
    @ericberg_de
    --
    MCSE: Enterprise Devices and Apps | MCSE: Private Cloud | MCSE: Server Infrastructure | MCSE: Desktop Infrastructure

    Sonntag, 7. Februar 2016 21:20
  • Hallo Eric,

    danke für die Antwort.

    Hab evtl. die Frage etwas falsch beschrieben.

    Ich meine wenn ich z.B.

    for /F "tokens=1,2" %a in ('netsh mbn show interface|find /i "Firmware"') do SET FW=%b

    habe ich die FW als Variable (FW)

    Nun möchte ich gern dies in Powershell umsetzten.

    Habe dazu heute einen ansatz gefunden, was ich aber im gegesatz zu cmd ziehmlich aufwändig finde.

    $oInvocation = (Get-Variable MyInvocation).Value $sCurrentDirectory = Split-Path $oInvocation.MyCommand.Path Function fQueryModem($sQueryString, $sRegExp) { $oComPort = New-Object System.IO.Ports.SerialPort $sComPortNumber,$sComPortSpeed,None,8,1 $oComPort.Open() $oComPort.Write("AT") $oComPort.Write($sQueryString + "`r") Start-Sleep -m 50 $tVar = $oComPort.ReadExisting() $tVar = ($tVar -replace "OK","").trim() $oComPort.Close() If (!($sRegExp -eq "")) {$tVar -Match $sRegExp|Out-Null; $tVar = $Matches[0]} return $tVar } $sFirmware = fQueryModem "+GMR" ""

       [System.Windows.MessageBox]::Show("Firmware ist: $sFirmware" ,"Firmware Version",0)


    Oder gehts das nicht anders?

    gruss

    Markus

    Montag, 8. Februar 2016 18:58
  • In Windows 8 oder Server 2012 gibt es neue PS Module mit denen das wohl geht. (NetAdapter)
    Aber nicht in W7.
    Da wäre es am einfachsten weiter netsh zu benutzen. Du kannst es ja auch aus PS heraus aufrufen.Ich habe kein Modem im PC, kann also dein Kommando nicht testen.

    Das Beispiel mit "lan" um die physicalichen Adressen anzeigen zu lassen.

    $netsh=(netsh lan show interface)
    
    $netsh | ?{$_ -like "*Physical*" } | %{$_.split(":")[1]}


    Dienstag, 9. Februar 2016 08:20
  • Hallo,

    das ist genau das was ich wissen wollte, habe es auch gleich versucht.

    So einfach :-O.

    Vielen Dank.

    VG

    Markkus

    solved

    Dienstag, 9. Februar 2016 19:23
  • Dann markiere doch bitte noch den Beitrag von deroppi als Antwort.

    Grüße, D.


    Blog: http://bytecookie.wordpress.com

    Kostenloser Powershell Snippet Manager v4: Link ! Neue Version !
    (Schneller, besser + komfortabler scripten.)

    Hilf mit und markiere hilfreiche Beiträge mit dem "Abstimmen"-Button (links) und Beiträge die eine Frage von dir beantwortet haben, als "Antwort" (unten).
    Warum das Ganze? Hier gibts die Antwort.

    Dienstag, 9. Februar 2016 22:52
    Moderator