niby proste, a wpisów na forach dużo.. a jednak zajęło mi sporo czasu. wiele rzeczy uważane za proste zajmuje mi czas, żeby dogłębnie zrozumieć i dopiero mogę je wykorzystać – it’s not a bug, it’s a feature (;
nie pamiętam już nawet wszystkich zapisów, których próbowałem, żeby to odpalić… więc tylko szorcik, z samym rozwiązaniem:
Start-Process "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -ArgumentList @("-noExit","-file c:\scripts\somescript.ps1")
kilka uwag:
- w dużej ogólności widać, że ArgumentList jest tablicą argumentów (nie ciągiem znaków, nie hashtable)
- pomimo że 'file’ oraz ścieżka są de facto dwoma elementami – jednak w tablicy argumentów podaje się je razem, jako jeden „argument-z-wartością”. to nie jest oczywiste, a wręcz trochę dziwne…
- uruchomienie skryptu z przełącznikiem 'file’ i bez niego zachowuje się nieco inaczej
- druga bardzo ważna uwaga, którą długo pomijałem (czytaj doqmentację DOKŁADNIE!), to że jeśli używa się 'file’ to musi to być ostatni parametr. można również uruchomić skrypt ’powershell.exe c:\scripts\somescript.ps1’ i wtedy musi to być pierwszy argument.
eN.