2014-04-11 22 views
5

PowerShell Web Access, bir web tarayıcısı üzerinden PowerShell cmdlet'lerini çalıştırmanıza izin verir. Web tabanlı bir konsol penceresi gösterir.PowerShell Web Access'e API erişimi?

Konsol penceresine yazmadan cmdlet'leri çalıştırmanın bir yolu var mı? Ve sonuçları geri almak için herhangi bir yolu var mı?

Teknik olmayan bir kullanıcının bir yazdırma kuyruğunu (örneğin) PowerShell'i tanımak zorunda kalmadan yeniden başlatmasına izin veren bir uygulama tasarlıyorum. Uygulama, yazdırma sıralarının bir listesini görüntüler ve ardından kullanıcı bir tane seçip sırayı yeniden başlatabilir. Uygulama, kullanıcıların bilmesi gerekmeyen sözdizimi ve değişkenleri dikkate alan bir sarmalayıcı olacaktır.

Bunu PowerShell Web Access üzerinden yapmanın bir yolu var mı? Ya da Windows olmayan bir uygulama için tekerleği yeniden icat etmeden bir Windows sunucusuna keyfi komutlar göndermenin başka bir yolu var mı?

cevap

2

PowerShell Web Access ile değil **. Bu interaktif bir oturum için tasarlanmıştır.

Bunu yapmanın birkaç yolu vardır. Tüm örnekler açıklayıcıdır ve güncelliğini yitirmiş, güvensiz olabilir, vb olabilir.

  • C# çalıştıran bir ASP.NET web uygulaması oluşturun. PowerShell'i C# ile çalıştırın. PowerShell remoting'i gerektiği gibi kullanın. Example.
  • Windows Presentation Foundation veya WinForms kullanarak GUI uygulamaları oluşturun. PowerShell remoting'i gerektiği gibi kullanın. Example.
  • PowerShell'in vurabileceği bir API (ör. REST) ​​ile bir hizmet oluşturun.
  • ** Tamam, yalan söyledim. PowerShell Web Access aracılığıyla erişilen yetkilendirilmiş, kısıtlanmış uç noktaları kullanan karmaşık bir çözüm oluşturun.
  • PowerShell uzaktan yönetimini kullanan yukarıdaki çözümlerin her biri için, temsilci ve/veya kısıtlanmış uç noktaları düşünün. Example.

Bazı kullanıcıların belirli işlevleri belirli işlevlerle gerçekleştirmesine olanak tanıyan bir web uygulamasına sahibiz. Önceden tanımlanmış bir PowerShell betikleri ve bir SQL DB'de depolananı kimin yapabildiğinin yapılandırması ile C# tarafından desteklenen ASP.NET'i kullanır. Örneğin ...

  • Jane sunucu Y üzerinde uygulama havuzu X yeniden başlatabilirsiniz John
  • BT Destek kendi standart hesaplarından kendi 'idari' hesaplarını kilidini açabilir
  • sunucu Q üzerinde hizmet Z yeniden başlatabilirsiniz
  • .
  • Tüm bunlar Windows olmayan bilgisayarlardan çalıştırılabilir. Bazıları, Mobil aygıtlarda kullanımına izin vermek için dikkatli bir şekilde etkilenebilir:)

Kullanım durumlarına sahipseniz, sistemi tasarlamanın ve arkasındaki kodu yazmanın küçük yükü oldukça hızlı bir şekilde ödeyecektir.

Şerefe!