Zwykło się mawiać, że Powershell powstał po to, aby użytkownicy Linuxa w końcu przestali się śmiać z Windowsa i jego cmd. Faktycznie, Powershell to język dla Microsoftu przełomowy. O jego możliwościach można mówić wiele. Wspomnę narazie jedynie o dostępie do całego środowiska .NET. Krótko mówiąc, Powershell to taka powłoka skryptowa, w której mamy trzaskać skrypty automatyzujące pracę(nie bez powodu główna przestrzeń poleceń Powershella to System.Management.Automation).
Tylko co, jeśli przyjdzie nam ochota na pokazanie użytkownikowi skryptu jakiegoś okienka? Ja, dla przykładu, jestem zbyt leniwy żeby resetować użytkownikom AD hasło z poziomu konsoli. Jednocześnie też jestem zbyt leniwy żeby odpalać Remote Desktop serwera, odpalić ADUaC, znaleźć grupę, znaleźć użytkownika i dopiero wtedy zmienić mu hasło. Wolę to zautomatyzować, ograniczają się do kilku kliknięć.
To jest jeden z przykładów, kiedy okna się przydają. Z pewnością znajdzie się jeszcze parę takich zastosowań. Tylko jak tu tworzyć okna w Powershellu?
Fakt, mamy dostęp do całego .NETa, ale nie piszemy skryptów tak jak aplikacji w VisualStudio.