Bitte um Hilfe!!!!!!!!!!!!! Variable und Powershell

  • Warum machst du das überhaupt mit Powershell? Mit Autoit kannst du ebenfalls Änderungen an der Registry vornehmen und Schlüssel auslesen. Aber wenn du schon Autoit missbrauchst um ein Powershell Script auszuführen kannst du auch einfach dein Powershellscript erstellen und dann die Powershell.exe mit Parameter "-File meinpowershellscript" starten. (siehe auch hier: http://technet.microsoft.com/de-de/library/dd315276.aspx )

    Warum das so nicht funktioniert wie du das machst? Weil Send() die Zeichen nicht immer wie gewünscht überträgt. Besser wäre wenn du mit controlsend() arbeitest.

    EDIT: Mit Powershell Parameter -Command kannst du im übrigen auch eine einzelne Codezeile ausführen lassen, somit erübrigt sich die Übergabe per send().

    Einmal editiert, zuletzt von misterspeed (3. Mai 2011 um 22:46)

  • Danke für die info ich werde mal sehen was man da so machen kann.

    Aber was meinst du den mit "EDIT: Mit Powershell Parameter -Command kannst du im übrigen auch eine einzelne Codezeile ausführen lassen, somit erübrigt sich die Übergabe per send(). "

    kanns Du das mal näher erleutern.

    MfG

  • Naja schau dir eben die Beispiele auf der MS Website an.

    Code
    PowerShell.exe -Command {Get-EventLog -LogName security}

    Sprich du musst dein Powersehllscript nichtmal in eine Datei auslagern, sondern kannst das Script auch gleich per Parameter übergeben, sofern es nur ein Einzeiler wie in deinem Beispiel Script ist.
    Ein Aufruf in Autoit könnte dann zum Beispiel so aussehn:

    [autoit]


    run("PowerShell.exe -Command {Get-EventLog -LogName security}")
    ; oder wenn das Script umfangreicher ist eben in eine Datei gespeichert und dann mit dem File Parameter
    run("PowerShell.exe -File meinpowershellscript.ps1")

    [/autoit]

    Alles ungetestet, da ich noch nie mit Powershell gearbeitet habe. Aber wie bereits erwähnt kann Autoit auch direkt mit der Registry arbeiten sieh dazu die Hilfe zu folgenden Funktionen:

    [autoit]


    RegDelete()
    RegEnumKey()
    RegEnumVal()
    RegRead()
    RegWrite()

    [/autoit]