Próbuję uruchomić sesję PowerShell za pomocą PSexec z alternatywnymi kolorami i niektórymi atrybutami okna. Powodem, dla którego musiałbym uruchomić PowerShell za pośrednictwem PSExec, jest to, że mogę mieć gotowy skrót jednym kliknięciem, aby uruchomić okno terminala w kontekście systemu lokalnego. Ma to sens codziennego testowania skryptów i kodu w pakietach MDT / SCCM. Wydaje się to bezcelowe, ale mam wiele otwartych okien poleceń, więc trudno mi rozróżnić, które okna terminali działają jako system, użytkownik, lokalny administrator itp. Kolory ułatwiłyby natychmiastowe zauważenie tej różnicy .
Do tej pory próbuję tego, ale eksplorator ulega awarii po uruchomieniu:
C:\SysinternalsSuite\psexec.exe /i /s "PowerShell.exe -NoExit -Command "& $HOST.UI.RawUI.ForeGroundColor = cyan"
Mogę dobrze uruchomić PowerShell, tak jak to:
C:\SysinternalsSuite\psexec.exe /i /s powershell.exe
Jestem pewien, że ma to coś wspólnego ze sposobem analizowania cytatów.
Odpowiedzi:
Rozgryzłem to. Oto co zrobiłem:
1) Utworzono 2 pliki nietoperzy w folderze o nazwie C: \ Launchers - jeden do uruchamiania CMD jako systemu, a drugi do PS
2) Pobrałem najnowszą wersję SysinternalsSuite i umieściłem folder w C: \
3) Przypiąłem skrót do paska zadań, a następnie wykonałem następujące czynności: A) ustawiłem pole „Cel:” na: C: \ Windows \ System32 \ cmd.exe / C "C: \ Launchers \ Launch_PS_As_Sys.bat" B) ustaw pole „Rozpocznij w:” na „C: \ Launchers”. C) kliknął „Zaawansowane” i zaznaczył „Uruchom jako administrator”
Plik nietoperza zawiera następujący wiersz dla programu uruchamiającego PowerShell System:
I ta linia dla CMD Monit:
Okazuje się, że sposób, w jaki cytaty .bat i / lub PSExec w jakiś sposób są ze sobą sprzeczne, dlatego musisz używać pojedynczych cudzysłowów zamiast podwójnych. Prawdopodobnie mój błąd. W każdym razie mam nadzieję, że ktoś uzna to za przydatne.
źródło
Dwie rzeczy:
Oba działają bez konieczności korzystania z zewnętrznych narzędzi, takich jak psexec.
Twoje podejście jest zbyt skomplikowane. Po prostu utwórz skrót do programu Powershell, a następnie otwórz właściwości łącza i ustaw wartość „Rozpocznij w” w katalogu, w którym chcesz uruchomić program Powershell, i dostosuj kolory powłoki za pomocą karty kolorów. To samo działa z cmd.exe.
źródło