Je suis en train d'utiliser PowerShell JEA (Just Enough administration) sur un ordinateur Windows Server 2012 R2 serveur où j'ai installé WMF 5.PowerShell 5 Remoting - JEA avec RunAsCredential et Select-Object -Unique
Je dois rendre visible à un groupe d'utilisateurs non-administrateur 1 fonction personnalisée uniquement qui repose sur un autre module installé localement. Cette fonction ne nécessite pas de privilèges d'administration mais doit être exécutée dans le contexte d'un compte de domaine particulier.
Je crée une nouvelle fonction de rôle avec ma fonction personnalisée répertoriée dans la section VisibleFunctions
, affectez ce rôle à mon groupe d'utilisateurs dans le fichier de configuration de session (qui contient également RunAsVirtualAccount = $false
) et enregistrez cette configuration de session avec le fichier de configuration et le RunAsCredential
paramètre.
Lorsque vous utilisez Get-PSSessionCapability
localement sur le serveur avec un compte non-administrateur autorisé, je vois ma fonction personnalisée répertoriée. Lorsque j'utilise Enter-PSSession
à partir d'un ordinateur distant (Windows 8.1 avec WMF 5 installé) avec ce point de terminaison contraint, puis que j'utilise Get-Command
, la fonction n'est pas répertoriée.
Si je cesse d'utiliser le paramètre RunAsCredential
et plutôt utiliser RunAsVirtualACcount = $true
(ce qui rendrait ma fonction échouer, mais cela est seulement pour les tests), alors je peux voir ma fonction personnalisée avec la liste Get-Command
lorsqu'il est exécuté à distance. Mais dans ce cas, d'essayer d'appeler les résultats de la fonction dans l'erreur suivante, ce qui arrive avant même disparus « RunAs » erreur d'autorisation de compte apparaît:
Select-Object : A parameter cannot be found that matches parameter name 'Unique'.
L'applet de commande Select-Object
est appelée dans le imbriquée 3ème partie module que j'utilise (et donc je ne peux pas le remplacer par une autre fonction).
est ici la sortie de $PSVersionTable
sur le serveur:
Name Value
---- -----
PSVersion 5.0.10586.117
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
BuildVersion 10.0.10586.117
CLRVersion 4.0.30319.34014
WSManStackVersion 3.0
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
sur mon poste de travail Idem sauf pour CLRVERSION qui est 4.0.30319.42000
.
Comment puis-je utiliser JEA dans mon scénario, avec un compte de domaine comme RunAsCredential
et en appelant mon module tiers et (entre autres) son appel Select-Object -Unique
?
Merci,
Jordan
Avez-vous inclus Microsoft.PowerShell.Utility dans vos modules importés? – mjolinor
J'ai juste essayé et ça n'aide pas.Merci – jalliot