2014-04-11 19 views
5

PowerShell Web Access consente di eseguire i cmdlet di PowerShell tramite un browser web. Mostra una finestra della console basata sul web.Accesso API all'accesso Web PowerShell?

C'è un modo per eseguire i cmdlet senza digitarli nella finestra della console? E c'è un modo per ottenere i risultati?

Sto immaginando un'applicazione che consenta a un utente non tecnico di riavviare una coda di stampa (ad esempio) senza dover conoscere PowerShell. L'app mostrerebbe un elenco di code di stampa e quindi l'utente potrebbe selezionarne uno e riavviare la coda. L'app sarebbe essenzialmente un wrapper che si occupa della sintassi e delle variabili in modo che gli utenti non debbano sapere.

C'è un modo per farlo tramite PowerShell Web Access? O c'è un altro modo per un'applicazione non Windows per inviare comandi arbitrari a un server Windows senza reinventare la ruota?

risposta

2

Non con PowerShell Web Access **. È progettato per una sessione interattiva.

Ci sono alcuni modi per farlo. Tutti gli esempi sono illustrativi e potrebbero essere obsoleti, non sicuri, ecc.

  • Creare un'applicazione Web ASP.NET in esecuzione C#. Esegui PowerShell nel C#. Utilizzare il servizio remoto di PowerShell secondo necessità. Example.
  • Creare applicazioni GUI utilizzando Windows Presentation Foundation o WinForms. Utilizzare il servizio remoto di PowerShell secondo necessità. Example.
  • Creare servizi con un'API (ad esempio REST) ​​che PowerShell può colpire.
  • ** OK, ho mentito. Creare una soluzione goffa che utilizzi endpoint con vincoli delegati a cui si accede tramite PowerShell Web Access.
  • Per ciascuna delle soluzioni di cui sopra che utilizza il servizio remoto di PowerShell, considerare gli endpoint delegati e/o vincolati. Example.

Abbiamo un'applicazione Web che consente a determinati utenti di eseguire determinate funzioni con determinati parametri. Utilizza ASP.NET supportato da C# con un set di script PowerShell predefiniti e la configurazione di chi può fare ciò che è memorizzato in un DB SQL. Per esempio ...

  • Jane può riavviare pool di applicazioni X su Y. server di
  • John possibile riavviare il servizio Z sul server di Q.
  • Supporto
  • IT può sbloccare i propri account 'amministrativi' dai loro conti standard .
  • Tutto questo può essere eseguito da computer non Windows. Alcuni potrebbero essere esposti con attenzione per consentire l'utilizzo sui dispositivi mobili:)

Se si dispone dei casi di utilizzo, il piccolo sovraccarico di progettazione del sistema e la scrittura del codice dietro di esso si ripaga abbastanza rapidamente.

Cheers!