chodzi mi od dłuższego czasu po głowie art dot. powershell, opisujący jak dobrze żyć z tym wynalazkiem. ponieważ pomysły roją się w głowie do absurdalnych wielkości małej książki czy kompendium, na razie drobny wpis tego, co mi zalega na płacie czołowym. będę wdzięczny za komentarze i linki (:

podstawowy pomysł to konfiguracja środowiska. kiedy pracowałem z Linuxami, spędziłem kiedyś dwa dni na tym, żeby prompt wyświetlał się w odpowiednich kolorach na odpowiednich serwerach. głupota? nie zupełnie. kiedy zaczyna się pracować na zdalnych hostach szybko można zgubic rachubę na którym się jest aktualnie. wtedy takie niuanse grają rolę – bo zrestartować nie-ten-serwer może mieć bardzo niemiłe konsekwencje. ponieważ PS daje możliwości pracy zbliżone do tych z Linuxa [lepsze? gorsze? hmm… inne], pozostaje podstawowe pytanie – jak sobie to wszystko poukładać, żeby pracowało się miło i wydajnie. najważniejsze aspekty:

  • włączenie usługi i credSSP – jedną z najfajniejszych opcji jest remoting, który po odpowiednim skonfigurowaniu jest tak wygodny, jak ssh na Linuxach. żeby jednak to się stało, trzeba go włączyć oraz pozwolić na uwierzytelnienie credSSP, które jest standardowo wyłączone. bez włączenia przekazania credntiali po zalogowaniu zdalnym jest się zsandboxowanym do lokalnego serwera, czyli odpają jakiekolwiek operacje sieciowe. dodatkowo warto na firewallu zrobić wyjątek dla winRM.
  • historia – kolejny ficzer, który radykalnie zmienia komfort pracy z linią poleceń jest historia. genialny wynalazek z basha – ‘!’ – oraz .bash_history to potęga nie do przecenienia. wielokrotnie ratował mi tyłek [samo-dokumentacja], pomagał w śledztwach [po domniemanych włamaniach, czy ‘kto co robił’] i oczywiście przyspieszał normalną pracę. o ile historia w PS jest całkiem fajna, to jest ograniczona do jednej sesji. aby była permanentna – trzeba sobie dokonfigurować.
  • script signing – standardowo nie da się korzytać ze skryptów. trzeba zmienić politykę uruchomienia … albo podpisywać każdy skrypt certem.

te rzeczy mam już zebrane i opisane. te, nad którymi pracuję jeszcze [i liczę na pomoc] to:

  • zbiór dodatkowych aliasów – na razie poza standardowymi, których jest na prawdę wiele, bardzo mi się podoba pomysł ‘ssh –> enter-pssession’… wydaje mi się jednak, że takich dodatków jest więcej
  • własne funkcje – PS bardzo mocno czerpie z pomysłów basha i tak samo można ‘wczytać plik’ za pomocą kropki ‘.’. to otwiera drogę do utworzenia czegoś bardziej zaawansowanego niż aliasy – całe funkcje, które są wczytywane podczas logowania. na razie nie mam pomysłu co z tą wiedzą można zrobić ciekawego.
  • centralne repozytorium skryptów – na to póki co nie mam konkretnych pomysłów. kombinowałem z przekierowaniem katalagoów [folder redirection] ale to rozwiązanie trochę zbyt ‘globalne’. a warto mieć pod ręką zbiór swoich własnych skryptów.
  • w efekcie – dokładny opis co się dzieje podczas uruchomienia PS. zrozumienie tego procesu pozwoli na realizację wszelkich pomysłów:
  • co jest ładowane w jakiej kolejności
  • jak załadować własne fukcje, aliasy i inne
  • automatyczna modyfikacja zmiennych środowiskowych [np. path dla skryptów]
  • globalna historia
  • … i cała reszta.
  • zmiana promptu i kolorów. jedną z najbardziej vq*wiających błędów są te dziwne opcje ze zmieniającymi się wilkościami fontów. raz małe, raz jakieś wielkie… trzeba w końcu ogarnąć skrypt, który będzie to konfigurował i załadować go podczas startu. wraz z kolorami samego okna [ten navy-blue powoduje u mnie problemy ze zdrowiem]
  • pierwsze [włączenie,signing,historia] postaram się wkrótce opisać… jeśli macie inne ciekawe pomysły to zapraszam do współpracy.

    eN.