Bonjour à tous,
Je viens de reprendre l’administration de 3 serveurs PS4. Les droits sur les applications publiées ont été donné avec le nom du compte utilisateur et non par l’appartenance à un groupe. J’ai créé des groupes de sécurité dans mon AD pour données accès aux applications. Je cherche un moyen d’extraire de Citrix le nom des utilisateurs ayant accès pour une application donnée.
Exemple: Pour excel publièe, je veux la liste de toutes les personnes autorisées dans Citrix.
Sinon je vais devoir me taper l’ajout des utilisateurs compte par compte dans les groupe.
Merci d’avance
Dans la section rapport de la console access suite, tu peux créer un rapport sur les applications publiées. Tu y trouveras l’info que tu recherches.
Voici un petit script .WSF qui exhausse ton vœu !
List applications and their users.
CScript //nologo Appsusers.wsf
Dim theFarm, anApp, anUser, anGroup, nUserCount, nAppCount
’
’ Create MetaFrameFarm object
’
Set theFarm = CreateObject(“MetaFrameCOM.MetaFrameFarm”)
if Err.Number 0 Then
WScript.Echo "Can’t create MetaFrameFarm object"
WScript.Echo “(” & Err.Number & ") " & Err.Description
WScript.Echo ""
WScript.Quit Err.Number
End if
’
’ Initialize the farm object.
‘
theFarm.Initialize(MetaFrameWinFarmObject)
if Err.Number 0 Then
WScript.Echo "Can’t Initialize MetaFrameFarm object"
WScript.Echo “(” & Err.Number & ") " & Err.Description
WScript.Echo ""
WScript.Quit Err.Number
End if
’
’ Are you Citrix Administrator?
‘
if theFarm.WinFarmObject.IsCitrixAdministrator = 0 then
WScript.Echo "You must be a Citrix admin to run this script"
WScript.Echo ""
WScript.Quit 0
End If
’
’ Print out the farm name.
‘
WScript.Echo "MetaFrame Farm Name: " & theFarm.FarmName
WScript.Echo “”
’
’ Display all applications in the farm.
'
WScript.Echo “All applications in the farm (” & Now & ")"
WScript.Echo "
"
nAppCount = 0
For Each anApp In theFarm.Applications
if Err.Number 0 Then
WScript.Echo "Can't enumerate applications"
WScript.Echo "(" & Err.Number & ") " & Err.Description
WScript.Echo ""
WScript.Quit Err.Number
End if
anApp.LoadData(TRUE)
WScript.Echo "DistinguishedName: " & anApp.DistinguishedName
WScript.Echo "Name : " & anApp.AppName
WScript.Echo "Description : " & anApp.Description
WScript.Echo "Users : "
nUserCount = 0
For Each anUser In anApp.Users
'
' MetaFrameUser object.
'
If nUserCount = 0 then
WScript.Echo "Users : " & anUser.AAName & "/" & anUser.UserName
Else
WScript.Echo " " & anUser.AAName & "/" & anUser.UserName
End if
nUserCount = nUserCount + 1
Next
For Each anGroup In anApp.Groups
'
' MetaFrameGroup object.
'
If nUserCount = 0 Then
WScript.Echo "Users : " & anGroup.AAName & "/" & anGroup.GroupName
Else
WScript.Echo " " & anGroup.AAName & "/" & anGroup.GroupName
End If
nUserCount = nUserCount + 1
Next
WScript.Echo " " & nUserCount & " User(s)"
WScript.Echo "
"
nAppCount = nAppCount + 1
Next
WScript.Echo nAppCount & " Application(s)"
WScript.Echo "Press ENTER to exit..."
WScript.StdIn.Read(1)
EX de sortie :
DistinguishedName: Applications/LOAD BALANCING/ADMINS/CMC
Name : CMC
Description :
Users :
Users : MONDOMAINE/Admins du domaine
1 User(s)
Impec flo, tu n’as plus qu’à coller ton script dans la section dédié.
ce n’est pas le miens, une petite recherche sur le CDN puis correction des balises oubliées ;D
je le post dans la section appropriée :police:
Excellent, ça marche super !! Juste à modifier le script pour renvoyer les infos dans un fichier CSV et hop c’est partie.
Merci encore
Merci encore