2014-04-11 16 views
5

PowerShell Web Access pozwala uruchamiać cmdlet PowerShell za pośrednictwem przeglądarki internetowej. Pokazuje internetowe okno konsoli.Dostęp API do PowerShell Web Access?

Czy istnieje sposób uruchamiania poleceń cmdlet bez wpisywania ich w oknie konsoli? Czy istnieje sposób na odzyskanie wyników?

Jestem w trakcie projektowania aplikacji, która pozwala użytkownikowi nietechnicznym zrestartować kolejkę wydruku (na przykład) bez znajomości PowerShell. Aplikacja wyświetli listę kolejek wydruku, a następnie użytkownik może wybrać jedną z nich i ponownie uruchomić kolejkę. Aplikacja zasadniczo byłaby opakowaniem, które zajmuje się składnią i zmiennymi, dzięki czemu użytkownicy nie muszą o tym wiedzieć.

Czy można to zrobić za pomocą PowerShell Web Access? Czy jest jakiś inny sposób, aby aplikacja inna niż Windows wysyłała dowolne polecenia do serwera Windows bez ponownego odkrywania koła?

Odpowiedz

2

Nie z PowerShell Web Access **. To jest przeznaczone do sesji interaktywnej.

Istnieje kilka sposobów na wykonanie tego. Wszystkie przykłady są przykładowe i mogą być nieaktualne, niezabezpieczone itp.

  • Utwórz aplikację internetową ASP.NET z uruchomionym C#. Uruchom PowerShell w C#. W razie potrzeby użyj usługi PowerShell. Example.
  • Twórz aplikacje GUI przy użyciu Windows Presentation Foundation lub WinForms. W razie potrzeby użyj usługi PowerShell. Example.
  • Utwórz usługi za pomocą interfejsu API (np. REST), z którego może korzystać PowerShell.
  • ** OK, kłamałem. Utwórz rozwiązanie typu clunky, które wykorzystuje delegowane, ograniczone punkty końcowe dostępne za pośrednictwem PowerShell Web Access.
  • Dla każdego z powyższych rozwiązań korzystającego z usług PowerShell, należy wziąć pod uwagę delegowane i/lub ograniczone punkty końcowe. Example.

Mamy aplikację internetową, która pozwala niektórym użytkownikom wykonywać określone funkcje o określonych parametrach. Wykorzystuje ASP.NET wspierany przez C# za pomocą zestawu predefiniowanych skryptów PowerShell i konfiguracji, kto może robić to, co jest przechowywane w SQL DB. Na przykład ...

  • Jane można ponownie uruchomić puli aplikacji X na serwerze Y.
  • John można ponownie uruchomić serwis Q. Z na serwerze
  • IT Wsparcie może odblokować własne konta „administracyjne” ze swoich standardowych kont .
  • Wszystko to może być uruchamiane z komputerów innych niż Windows. Niektóre z nich mogą być starannie eksponowane, aby umożliwić korzystanie z urządzeń mobilnych:)

Jeśli masz przypadki użycia, niewielkie koszty związane z zaprojektowaniem systemu i napisaniem kodu za nim szybko się zwrócą.

Pozdrawiam!