2016-07-12 3 views
0

Ich habe Probleme mit einem Powershell-Skript, das im Hintergrund ausgeführt wird. Folgendes ist mein Befehl. >Powershell.exe -File C:\testFolder\script.ps1 -WindowStyle Hidden. Nichts passiert. Das Skript funktioniert nicht. Das Skript funktioniert einwandfrei mit Windows Powershell ISE.Ausblenden des Fensters mit Powershell-Skript, das im Hintergrund ausgeführt wird

Folgendes ist mein Powershell-Skript.

$watcher = New-Object System.IO.FileSystemWatcher 
$watcher.Path = "C:\ProgramData\" 
$watcher.Filter = "output.txt"; 
$watcher.EnableRaisingEvents = $true 
$args = “$Server $FolderName” 
$command = “cmd /C cscript .\VBScript.vbs $args” 

$action = { $path = $Event.SourceEventArgs.FullPath 
      $changeType = $Event.SourceEventArgs.ChangeType 
      $logline = "$(Get-Date), $changeType, $path" 
      Add-content "D:\log.txt" -value $logline 
      invoke-expression $command 
Write-Host "Test2" 
      }  
Write-Host "Test" 
$created = Register-ObjectEvent $watcher "Created" -Action $action 
$changed = Register-ObjectEvent $watcher "Changed" -Action $action 
$deleted = Register-ObjectEvent $watcher "Deleted" -Action $action 
$renamed = Register-ObjectEvent $watcher "Renamed" -Action $action 

Ausführen des Powershell-Skript in der Windows Powershell ISE gibt sowohl (Test und Test2), während an der Eingabeaufforderung gibt nur "Test".

+0

Sind Sie sicher, dass Ihre Ausführungspolitik das Ausführen des Skripts erlaubt? Versuchen Sie 'Powershell.exe-ExecutionPolicy Bypass -WindowStyle Versteckt -File C: \ testFolder \ script.ps1' –

+0

Funktioniert es, wenn Sie den' -WindowStyle Hidden' Parameter weglassen? – vonPryz

+0

Leider nicht. Ich habe den Powershell.exe-Pfad in den Umgebungsvariablen überprüft. Aber scheint einfach nicht zu funktionieren. Gibt auch keinen Fehler. – NeelDeveloper

Antwort

0

Oh. Ich musste am Ende while ($true) {} hinzufügen.

Verwandte Themen