joshuatree
Goto Top

Powershell zwei Schnippsel zusammenfügen

Get-XAApplication -FolderPath "applications\test"|Get-XAAccount -Browsername {$_.Displayname}|select Accountname

Das ist der gesamte Aufruf

Get-XAApplication -FolderPath "applications\test" ist der erste Teil und gibt alle Anwendungen im Ordner "applicaiton\test" raus.

Get-XAAccount -Browsername {$_.Displayname}|select Accountname ist der zweite Teil und ist über Browsername mit dem ersten Teil verschachtelt.

Accountname ist ein Attribut des zweiten Befehls (sind die Anwendungsberechtigungen)
Browsername ist ein Attribut des ersten Befehls (Ist der Anwendungsname)

Wenn ich die Zeitle aufrufe bekomme ich schön alle Accountname"s" ich hätte aber gerne optisch den Bezug zum Browsername.

Das heißt Browsername (Anwendungsname) gefolgt von der Liste mit Accountname(Berechtigungen)

Da aber jede Anwendung unterschiedlich viele Berechtigungen hat müssen die Beiden Ergebnisse sequentiell abgearbeitet werden.

Ich bekommen die Ergebniss nicht zusammen, immer nur das eine oder andere ausgegeben.

kann mir hier mal bitte jemand helfen ?

Content-Key: 263046

Url: https://administrator.de/contentid/263046

Printed on: April 20, 2024 at 04:04 o'clock

Member: colinardo
Solution colinardo Feb 11, 2015 updated at 14:10:51 (UTC)
Goto Top
Moin JoshuaTree,
habe diese CMDLets zum Testen nicht da, aber solltest du so machen können:
$info = @()
Get-XAApplication -FolderPath "applications\test" | %{  
    $info += New-Object PSObject -Property @{"Browsername"=$_.DisplayName;"Accountname"=((Get-XAAccount -Browsername $_.Displayname | select -Expand AccountName) -join "`n")}  
}
$info | ft Browsername,Accountname -AutoSize -Wrap
Hier gibts dazu ebenfalls noch ein Script:
http://virot.eu/get-application-assigned-groups-number-of-members-in-an ...

Grüße Uwe
Member: JoshuaTree
JoshuaTree Feb 11, 2015 at 12:21:46 (UTC)
Goto Top
Danke für die Mühe leider wirft er mir folgenden Fehlertext raus

Get-XAAccount : Cannot evaluate parameter 'BrowserName' because its argument is specified as a script block and there i
s no input. A script block cannot be evaluated without input.
At C:\Users\9901amader\rechte.ps1:3 char:116

back-to-top$info += New-Object PSObject -Property @{"Browsername"=$_.DisplayName;"Accountname"=(Get-XAAccount -Browsername <

<<< {$_.Displayname}).Accountname}
+ CategoryInfo : MetadataError: (face-smile [Get-XAAccount], ParameterBindingException
+ FullyQualifiedErrorId : ScriptBlockArgumentNoInput,Citrix.XenApp.Commands.GetAccountCmdlet
Member: colinardo
colinardo Feb 11, 2015 updated at 12:28:38 (UTC)
Goto Top
mach die geschweiften Klammern um {$_.Displayname} weg, siehe oben, hatte ich noch korrigiert.
Member: JoshuaTree
JoshuaTree Feb 11, 2015 at 13:34:53 (UTC)
Goto Top
Jetzt funktioniert es ohne Fehler aber das Ergebnis ist nicht so dolle

Browsername Accountname
-----------
CBIS Test1 IB
CBIS Test2 IB
AUS CBIS Test 1
AUS CBIS Test 2
AUT CBIS Test 1
AUT CBIS Test 2
CH CBIS Test 1
CH CBIS Test 2
D CBIS Test 1
D CBIS Test 2
HU CBIS Test 1
HU CBIS Test 2 buhle
IB CBIS Test 1
IB CBIS Test 2
SLO CBIS Test 1
SLO CBIS Test 2
UK CBIS Test 1
UK CBIS Test 2
US CBIS Test 1
US CBIS Test 2


Jede Anwendung hat mehrere User und Gruppen die sind gar nicht mit raus gekommen
Member: colinardo
Solution colinardo Feb 11, 2015 updated at 14:30:56 (UTC)
Goto Top
Jede Anwendung hat mehrere User und Gruppen die sind gar nicht mit raus gekommen
Woher soll ich das wissen ich habe dieses Modul mit den CMDLets hier leider nicht zum Testen, daher kenne ich die Objekttypen nicht.
Siehe dazu das verlinkte Script von oben.

-edit- Ich habe mein Script mal auf verdacht oben angepasst.
Member: JoshuaTree
JoshuaTree Feb 11, 2015 at 14:03:27 (UTC)
Goto Top
Hi,

klar du kannst das nicht wissen.

Ich wollte das beschreiben, hat wohl nicht geklappt.

Also vielleicht versuche ich es nochmal.

Anwendung1 hat z.B 3 Berechtigte objekte(user. gruppen) diese verstecken sich in Get-XAAccount -Browsername {$_.Displayname}.
-Browsername ist die der Anwendungsname und "sage" ich am ende |select Accountname bekomme ich schon ordentlich von allen Anwendungen die Berechtigugen aufgelistet. Aber ich habe kein Bezug zur Anwendung.

Schöne wäre es so

App1 User1
User2
Gruppe1
App2 User1
User2
Gruppe1
App2 User1
User2
Gruppe1
App4 User1
User2
Gruppe1

Ich habe es geschafft beide Seiten auszugeben aber nie das ich eine Tabelle davon bekomme.
Member: JoshuaTree
JoshuaTree Feb 11, 2015 at 14:31:55 (UTC)
Goto Top
Die letzte Änderung, hatte fast den Hinweis übersehen hat es gebracht !!!

Cool Danke so muss das sein !
Member: JoshuaTree
JoshuaTree Feb 24, 2015 at 10:55:33 (UTC)
Goto Top
@colinardo

hattest du jetzt nochmal was geändert? Denn jetzt läuft es in mehrere Fehler!?
Member: colinardo
colinardo Feb 24, 2015 at 11:24:24 (UTC)
Goto Top
Zitat von @JoshuaTree:
hattest du jetzt nochmal was geändert? Denn jetzt läuft es in mehrere Fehler!?
nope....
Member: JoshuaTree
JoshuaTree Feb 24, 2015 at 12:27:58 (UTC)
Goto Top
Hmmmm :....Auf einmal taucht folgender Fehler auf, den ich nicht verstehe:

Get-XAAccount : Object reference not set to an instance of an object.
At C:\temp\list_apps3.ps1:5 char:105

back-to-top$info += New-Object PSObject -Property @{"Browsername"=$_.DisplayName; "Accountname"=((Get-XAAccount <<<< -Brows

ername $_.Displayname | select -Expand AccountName) -join "`n")}
+ CategoryInfo : NotSpecified: (face-smile [Get-XAAccount], NullReferenceException
+ FullyQualifiedErrorId : System.NullReferenceException,Citrix.XenApp.Commands.GetAccountCmdlet