Benutzer mit den meisten Antworten
Starten eines Files

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
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".
- Bearbeitet Denniver ReiningMVP, Moderator Freitag, 14. Dezember 2012 12:33
- Als Antwort markiert Digiflex Freitag, 14. Dezember 2012 12:43
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". -
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
-
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".
- Bearbeitet Denniver ReiningMVP, Moderator Freitag, 14. Dezember 2012 12:33
- Als Antwort markiert Digiflex Freitag, 14. Dezember 2012 12:43
-
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