none
Starten eines Files RRS feed

  • Frage

  • Hallo zusammen,

    Wir möchte gern ein Logoffscript hinterlegen, den die User nur an Clientmaschinen (kein Serverbetriebsystem)  bekommen. Dazu würden wir gern ein Powershell Script verwenden doch stellen wir uns nun folgende Frage.

    Ist es in PS möglich, ein File zu starten welches im gleichen Ordner liegt wie das Script ohne den kompletten Pfad anzugeben?

    PowerShell.exe -windowstyle hidden {
    
    $HostOS = get-wmiobject win32_operatingsystem |select -ExpandProperty caption
    
    If (!($HostOS -like "*server*")) {
    	. C:\temp\Marketing\Umwelt.hta
    	Wait-Process -Name mshta }}
    VG, Thomas

    • Bearbeitet Digiflex Freitag, 14. Dezember 2012 11:26
    Freitag, 14. Dezember 2012 11:25

Antworten

  • Da:

      . $scriptpath

    gehört kein Punkt hin. Außerdem, schau dir mal Peters Blogeintrag zu Thema Starten von externen Files an: Link.

    Grüße, 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".




    Freitag, 14. Dezember 2012 12:30
    Moderator

Alle Antworten

  • Hiermit liest du den Pfad des laufenden Script aus:

     

    $scriptpath = Split-Path -parent $MyInvocation.MyCommand.Definition
     

    Damit kannst du dann andere Dateien mit z.b. $scriptpath\myfile.exe adressieren.

    Grüße, 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".

    Freitag, 14. Dezember 2012 11:37
    Moderator
  • Hallo Denniver, danke für deine Idee. Leider bleibt bei mir die Variable leer und bekomme folgende Fehlermeldung:

    powershell.exe : Die Benennung "
    
    $HostOS = get-wmiobject win32_operatingsystem |select -ExpandProperty caption
    
    If (!($HostOS -like "*server*")) {
        $scriptpath = Split-Path -parent $MyInvocation.MyCommand.Definition
        . $scriptpath\Umwelt.hta" wurde nicht als Name eines Cmdlet, einer Funktion, einer Skriptdatei oder eines ausführbaren Programms erkannt. Überprüfen Sie die Schreibweise
     des Namens, oder ob der Pfad korrekt ist (sofern enthalten), und wiederholen Sie den Vorgang.
    Bei C:\Temp\Marketing\Umwelt.ps1:1 Zeichen:15
    + PowerShell.exe <<<<  -windowstyle hidden {
        + CategoryInfo          : ObjectNotFound: (
    
    $HostOS = g...path\Umwelt.hta:String) [], CommandNotFoundException
        + FullyQualifiedErrorId : CommandNotFoundException


    • Bearbeitet Digiflex Freitag, 14. Dezember 2012 12:02
    Freitag, 14. Dezember 2012 12:02
  • Da:

      . $scriptpath

    gehört kein Punkt hin. Außerdem, schau dir mal Peters Blogeintrag zu Thema Starten von externen Files an: Link.

    Grüße, 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".




    Freitag, 14. Dezember 2012 12:30
    Moderator
  • So funzt es nun!Total simple ^^ DANKE Denniver.

    PowerShell.exe -windowstyle hidden {
    
    $HostOS = get-wmiobject win32_operatingsystem |select -ExpandProperty caption
    
    If (!($HostOS -like "*server*")) {
    	.\Umwelt.hta
    	Wait-Process -Name mshta }}
    
    VG, Thomas
    Freitag, 14. Dezember 2012 12:43