none
Get- Service Pfad zur EXE Datei auslesen RRS feed

  • Frage

  • Hallo zusammen

    Ich möchte bei einem Dienst den Pfad zur exe Datei auslesen.
    Ist dies mit Get-Service möglich.

    Das Ziel:
    Dienst stoppen
    Agent der unter dem exe Pfad (Verzeichnis) läuft löschen.
    Neuer Agent in das exe Pfad Verzeichnis hereinkopieren.
    Dienst mit neuem Agenten starten.

    Diesen Pfad brauche ich weil der Agent nicht immer im gleichen Verzeichnis installiert ist.

    Kann mir jemand weiterhelfen.
    Besten Dank im voraus.

    xenios63 alias stefan
    Dienstag, 10. November 2009 12:08

Antworten

  • Hallo Xenios,

    mit get-service wird das nix. Du kannst es aber so lösen:

    $computer = "localhost"
    $quelle = "Pfad zur neuen exe"
    $service = get-wmiobject -computer $computer -class win32_service -filter "name='namedesdienstes'"
    $service.stopservice()
    start-sleep -seconds 3
    copy-item $quelle (($service.pathname).replace("C:","\\$computer\c$")) -force
    $service.startservice()
    Damit geht das sogar über das Netz. Get-Service arbeitet nur lokal.

    Grüße

    Frank
    Dienstag, 10. November 2009 14:30

Alle Antworten

  • Hallo Xenios,

    mit get-service wird das nix. Du kannst es aber so lösen:

    $computer = "localhost"
    $quelle = "Pfad zur neuen exe"
    $service = get-wmiobject -computer $computer -class win32_service -filter "name='namedesdienstes'"
    $service.stopservice()
    start-sleep -seconds 3
    copy-item $quelle (($service.pathname).replace("C:","\\$computer\c$")) -force
    $service.startservice()
    Damit geht das sogar über das Netz. Get-Service arbeitet nur lokal.

    Grüße

    Frank
    Dienstag, 10. November 2009 14:30
  • Hallo Frank

    Besten Dank für die Anwort.

    Ich möchte den Pfad des bestehenden Services dynamisch bei jedem einzelnen System auslesen und mit diesem dann als Quelle weiterarbeiten.

    Ich kann leider $quelle nicht generell setzen.

    Da liegt im Moment mein Problem.

    Du hast richtigerweise angenommen dass ich dies remote für alle Systeme durchführen will, somit müsste ich nur noch das Problem mit dem ermitteln des exe Pfades lösen. 

    Gruss

    Stefan
    Dienstag, 10. November 2009 14:59
  • Hallo Xenios,

    teste das Skript und überdenke deine Antwort. $quelle ist der Pfad zur neuen Exe. Das Einzige was ich annehme, ist das Windows bzw. der Dienst unter C: installiert ist. Schau Dir einfach mal das Skript etwas genauer an.

    Grüße

    Frank
    Dienstag, 10. November 2009 20:35
  • Hallo Frank

    Du hast natürlich recht.

    Mit $service.pathname wird der Pfad ausgelesen.
    Sorry hab ich übersehen.

    Besten Dank für deine Hilfe.

    Gruss
    Stefan
    Donnerstag, 12. November 2009 11:16
  • Hallo Stefan,

    vielen Dank fürs Feedback und happy Sripting;-)

    Grüße

    Frank
    Donnerstag, 12. November 2009 11:31