Nie wiem, czy zapomniałeś - w twoim pytaniu, ale to -ExecutionPolicy
. Jeśli ten skrypt nie jest podpisany, nie wykona również tego skryptu, możesz użyć bypass
jako polisa wykonawcza, aby to wykluczyć.
Wątpię, czy możesz uruchamiać skrypty i polecenia po kolei w linii poleceń. Dodaj exit $LASTEXITCODE
do skryptu i uruchom go za pomocą -File C:\script.ps1
.
Jeśli by biegnij ukryty masz na myśli brak okna konsoli, zwykle nazywam moje skrypty jak
powershell.exe -noprofile -executionpolicy bypass -file C:\script.ps1
i nigdy nie zobaczę okna.
Aby uzyskać dane wyjściowe skryptu do pliku, wprowadź do niego polecenia Tee-Object
"Hello World" | Tee-Object C:\output.file
Możesz nazwać plik, co chcesz, zaimplementować logikę w skrypcie, aby zwiększyć nazwę pliku, lub - mój ulubiony - użyć RRRRMMddhhmmss w nazwie pliku.
Aktualizacja
Również wzięte z Strona Technet firmy Microsoft na PowerShell:
Bloki skryptu muszą być ujęte w nawiasy klamrowe ({}). Możesz określ blok skryptu tylko podczas uruchamiania PowerShell.exe w Windows PowerShell . Wyniki skryptu są zwracane do powłoki macierzystej jako deserializowane obiekty XML, a nie obiekty na żywo.
Jeśli wartością polecenia jest ciąg, Polecenie musi być ostatnim parametrem w poleceniu, ponieważ wszystkie znaki wpisane po poleceniu są interpretowane jako argumenty polecenia .