2017-01-13 6 views
-1

Ich habe ein Problem mit meinem PowerShell-Skript im Taskplaner ausgeführt. Ich habe Skript in PowerShell ISE erstellt und es funktioniert gut.PowerShell vs PowerShell ISE

Aber wenn ich es von PowerShell ausführen, meldet es einige Fehler.

Haben Sie irgendwelche Ideen, warum das passieren kann?

Ich habe versucht, funktioniert eine einzige Zeile Datei mit

powershell_ise.exe -File D:\script.ps1 

oder

powershell.exe -File D:\script.ps1 

Aber weder davon zu erstellen. Ich habe die Politik überprüft, aber ich habe es uneingeschränkt.

habe ich versucht,

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NonInteractive -Command d:\Script.ps1 

in Powershell ISE und es funktioniert gut zu laufen.

Wenn ich es in Powershell ausgeführt es zeigt Fehler:

The term '▬' is not recognized as the name of a cmdlet, function, script file, 
or operable program. Check the spelling of the name, or if a path was included, 
verify that the path is correct and try again. 
At line:1 char:1
$datetime = Get-Date -f yyyMMdd 

$strFileName = "c:\test\BS_" + $datetime + ".txt" 

if (Test-Path $strFileName) { 
    exit 
} else { 
    exit 
} 

... 
+1

Ich frage mich, welche Fehlermeldung 'es einige Fehler meldet 'enthält. Es scheint, dass Sie denken, dass diese für das Problem nicht relevant sind. Warum das? – vonPryz

+0

Startet die .ps1-Datei mit einem Strich '-'? – vonPryz

+0

Nein, es ist BS_test.ps1 – HeadOverFeet

Antwort

0

Das get-date Cmdlets nicht und Alias ​​für -Format hat

Bitte benutzen Sie das folgende Syntax

$datetime = Get-Date -format "yyyyMMdd" 
+0

Sie sind irgendwie richtig, der Fehler war in "-", aber es funktioniert auch mit -f :) – HeadOverFeet

+0

Was versuchen Sie mit dem obigen Code zu erreichen? – YanivK

0

Das Problem war mit

$datetime = Get-date -f yyyymmdd 

wo ich falsch verwendet "-". Danke Ihnen allen für Hinweise

Verwandte Themen