Links zu den Foren
   
PowerShell Anwendergruppe Forum
 
  Forum   Programmierung ...  Entwicklung mit...  GUI für PowerShell - In VB2008 oder in PS?
Previous Previous
 
Next Disabled
New Post 5/18/2009 8:39 AM
  Helmut
168 posts
1st Level Poster


Re: GUI für PauerShell - In VB2008 oder in PS?  (Germany)

Hallo Jens,

gestern hatte ich leider kein VS2008 bei mir, deswegen musstest du leider warten!

Ich habe testweise das invoker Objekt global verfügbar gemacht, und danach blieb mein zusätzlich geladenes SnapIn drin. Hier sind die ersten relevanten Zeilen:

Imports System.Management.Automation
Imports System.Management.Automation.RunspaceInvoke
Imports System.Management.Automation.Host

Public Class Form1

    ' Hier läuft unser CmdLet
    Private invoker As RunspaceInvoke

    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        invoker = New RunspaceInvoke()

        invoker.Invoke("Add-PSSnapin Test.Admnistration")

        Call UpdateDataGrid()

    End Sub

Wenn das nicht helfen wird, müssen wir noch MSDN Artikel lesen und uns eine Custom Shell erstellen und benutzen.

Viele Grüße

Helmut

 
New Post 5/18/2009 9:57 PM
  Jens
6 posts
10th Level Poster


Re: GUI für PauerShell - In VB2008 oder in PS?  (Germany)
Modified By Jens  on 5/18/2009 9:58:20 PM)

Servus Helmut,

ich habe mal deins genommen - funktioniert

Ich hatte doch genau das selbe?!?

Schöne Grüße

Jens

 
New Post 5/20/2009 11:43 AM
  Rolf
198 posts
www.powershell-ag.de
1st Level Poster


Re: GUI für PauerShell - In VB2008 oder in PS?  (Germany)

Hallo Jens, hallo Helmut,

im aktuellen Newsletter des MCP Mazins hat Jeffrey Hicks [MVP] zufällig genau das Thema adressiert.

Anbei der "ausgeliehene" Code:

$snapin="SDMSoftware.PowerShell.GPMC"
if (get-pssnapin $snapin -ea "silentlycontinue") {
write-host "PSsnapin $snapin is loaded"
}
elseif (get-pssnapin $snapin -registered -ea "silentlycontinue") {
write-host "PSsnapin $snapin is registered but not loaded"
Add-PSSnapin $snapin
}
else {
write-host "PSSnapin $snapin not found" -foregroundcolor Red
}

Gruß
Rolf

 
New Post 5/21/2009 6:01 PM
  Jens
6 posts
10th Level Poster


Re: GUI für PowerShell - In VB2008 oder in PS?  (Germany)

Hallo Ihr beiden,

habe nun in den letzten Tagen etwas gebastelt und stoße dabei immer auf neue Fehler

Ich möchte gerne beim Starten der Anwendung den Benutzername und das Passwort abfrage und dann diese weiterhin in PS verwenden.
Um ein Prompt in PS zu bekommen, gibt man den Befehl "get-credential" ein und kann die Benutzerdaten danach schön am System weiter verwenden. Das will ich so auch, bzw. ich bneötige das

Ein einfach get-credential funktioniert leider nicht - währe auch zu einfach gewesen. Nach einigem lesen auf der MSDN wird da wohl die Klasse "PSHostUserInterface" benötigt. Bei der Klasse "PSCredential" bin ich mir nicht so ganz sicher. Wenn ich das aber alle richtig interpretiere, wird PSHostUserInterface dafür benötigt um mir die Meldungsbox auszugeben und in einem String zu speichern "PSHostUserInterface.PromtFor Credential". 

Habe das ganze daher mal wie folgt aufgebaut:

 

Imports System.Management.Automation
Imports System.Management.Automation.Host
Imports System.Management.Automation.RunspaceInvoke

Public Class Form1

    Private invoker As RunspaceInvoke
    Private Credential As PSCredential
    Private HostUserInterface As PSHostUserInterface

    Public Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Dim username = ""
        Dim password = ""

        HostUserInterface.PromptForCredential("Need Credentials", "Username and Password requierd.", username, password)

    End Sub

End Class

 

Hier erhalte ich aber einen Fehler - wie soll es auch anderst sein

 

{"Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt."}

Bei

HostUserInterface.PromptForCredential("Need Credentials", "Username and Password requierd.", username, password)

Dann wollte ich folgendes davor einsetzte, weis aber nicht so recht auf was ich mich da beziehen muss:

HostUserInterface = New Kein_Plan

 

Ebenfalls weis ich auch nicht so recht, ob ich auch PSCredential benötige - irgend wie steige ich noch nicht so ganz durch. Alles noch etwas neu die Sache mit Klassen, Properties, Methoden usw...  Habe bisher eigentlich nur Funktionen benötigt

Schöne Grüße

Jens

 
Previous Previous
 
Next Disabled
  Forum   Programmierung ...  Entwicklung mit...  GUI für PowerShell - In VB2008 oder in PS?