Kiedy lokalnie loguję się do instalacji Server 2012 Core, za każdym razem muszę pisać, powershell
aby przejść do wiersza polecenia programu PowerShell zamiast zwykłego old cmd.
Zakładając, że nigdy nie usunę funkcji Windows PowerShell, jak mogę skonfigurować serwer tak, aby wyświetlał mnie bezpośrednio w wierszu polecenia programu PowerShell zamiast cmd?
źródło
AvailableShells
klucza, tylko TrustedInstaller. Nie mogę zmienić uprawnień bez przejęcia własności klucza. Czy uważasz, że przejęcie na własność klucza systemowego spowoduje jakieś problemy? Oto listy ACL mojego rejestru: gist.github.com/vcsjones/4dca25f94bfb1cfd5857reg add
przykładzie.Oto moje rozwiązanie tego pytania.
AvailableShells
ścieżki.Moim rozwiązaniem, jak wielu, które znajdziesz podczas wyszukiwania, jest zmiana
HKLM:SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Shell
wartości na PowerShell. Używałem kierowania na poziomie przedmiotu, aby modyfikować tę wartość tylko w systemach bez explorer.exe. AFAIK, jest to jeden z najprostszych testów do sortowania systemów Server Core od Systemów ze standardowym pulpitem.Wiersz poleceń, którego używam (
powershell.exe -noexit -Command "Set-Location ${Env:USERPROFILE} ;start sconfig ; start runonce.exe /AlternativeShellStartup"
), uruchamia PowerShell, odpala zadania runone, ustawia mój bieżący katalog i uruchamia sconfig w innym oknie.źródło
Polecenie w odpowiedzi syneticon-dj nie działa, ponieważ normalny administrator z podwyższonym poziomem uprawnień nie ma dostępu do zapisu do klucza. Komentarze wspominają, że musisz zmienić uprawnienia. Ale wymaga to wiele kliknięć w regedit.exe i nie działa w przypadku instalacji skryptowych.
Używam następującego skryptu PowerShell:
najpierw zmienia uprawnienia do klucza, a następnie ustawia PowerShell jako powłokę.
Zauważ, że może to działać tylko w angielskim systemie operacyjnym, ponieważ odnosi się do grupy „Administratorzy”.
źródło