2017-02-03 3 views
7

FolksUnable Prozess von Powershell

Ich versuche, eine Batch-Skript von einer Energie Shell-Datei starten aufzurufen und der Aufruf funktioniert manuell, wenn ausgeführt in Ordnung.

Start-Process C:\USR\test.bat 

Allerdings habe ich einen Dienst in C#, die Protokolle mit der Powershell-Skript löschen können und schreiben aber es einfach diesen Schritt ignoriert und nichts passiert. Liegt es daran, dass dieses Skript von einem Windows-Dienst aufgerufen wird?

if (Test-Path \\xxxsharepathfullper\FileWatcher\target\watcher.mon) { 
echo "File removed" >> C:\USR\logger.txt 
Start-Process C:\USR\test.bat 
Remove-Item \\xxxsharepathfullper\FileWatcher\target\watcher.mon 
} 
else { 

} 
  • Execution Politik ist uneingeschränkt

Antwort

0

können Sie versuchen, den Prozess als Administrator ausführen und einen Fehler protokollieren:

Start-Process -FilePath "C:\USR\test.bat" -RedirectStandardError "testError.txt" -verb RunAs 
1

prüfen Zugriffsrechte auf einen Anteil, vielleicht Ihre Benutzer admin haben keine Zugriffsrechte.

+0

Nur für den Fall - "admin user" ist hier, unter denen Sie Ihren Dienst ausführen, kann es nicht standardmäßig Administrator sein. – Tarcus