Question Exécuter des commandes \"en tant que\" dans un scrpt

Plus d'informations
il y a 3 ans 3 mois #23353 par DrNerd
Bonjour à toutes et à tous,

Je bloque sur l’exécution de commande dans un script qui peut être lancé par n'importe quel utilisateur du domaine.
Le script est exécuté par un Shell_exec PHP.
L'utilisateur courant est une donnée importante, je ne peux donc pas exécuter ce script \"en tant que\" directement à la source.

L'idée serait de pouvoir exécuter des commandes \"en tant que\" au sein de ce script, en l’occurrence des commandes Exchange qui nécessitent un rôle particulier.

Le snapin Exchange est automatiquement monté dans le profil par défaut, j'ai bien accès aux commandes ; malheureusement celles-ci (un New-MailContact par exemple), ne permettent pas de s'authentifier dans la commande (à l'inverse des commandes AD).

Je me demandais si créer une PSSession locale dans le script ne permettrait pas ça, mais je coince un peu.
L'autre idée serait de passer l'utilisateur courant de PHP à PS, mais ça me ferait revoir une bonne partie du code...

Auriez-vous un avis sur la question ?

Merci par avance pour votre lecture et votre temps !

DrNerd

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 3 ans 3 mois #23357 par DrNerd
Pour info j'ai testé avec une commande de ce type :
[code:1]$process = Start-Process -Credential $scrCred Powershell -WorkingDirectory \"C:\Windows\SysWOW64\WindowsPowerShell\v1.0\\" -ArgumentList \"C:\inetpub\wwwroot\test.ps1\"
[/code:1]

Et test.ps1 qui contient entre autre :
[code:1]New-MailContact -FirstName \"Jose\" -LastName \"Bove\" -ExternalEmailAddress \"Jose.Bove@DrNerd.uk\" -OrganizationalUnit $strOUContactPath -Name \"ext - Jose Bove\" -DisplayName \"Jose Bove\"
[/code:1]

Ca fonctionne !
Mais la création de l'objet prend au moins 2 minutes : impossible à exploiter dans un scénario ou des centaines d'objets peuvent être crées...

Dans une fenêtre dédiée, la création prend une dizaine de secondes et si je remplace le New-MailContact par un Write-Host c'est quasi instantané (le temps du chargement du profil).

Merci par avance !

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 3 ans 3 mois #23359 par Laurent Dardenne
Salut,
peut être une piste avec l' impersonnation .

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 3 ans 3 mois #23360 par Laurent Dardenne
Voir aussi , mais sans connaitre le contexte c'est peut être plus du bruit de ma part qu'autre chose.

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 3 ans 3 mois #23361 par DrNerd
Bonjour Laurent,
Merci pour ton retour.
En terme de contexte, je pense avoir tout dit : un script qui est lancé dans le contexte utilisateur courant et qui doit exécuter une ou plusieurs commandes Exchange \"en tant que\".

En gros je cherche à palier à l'absence de -Credential des commandes Exchange.

Première solution intéressante, seconde hors de ma portée.

J'imaginais quelque chose de simple.
Comme par exemple Invoke-Command, mais il me pose des problèmes de droits, Start-Process est très long etc.
Bonne journée !

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.168 secondes
Propulsé par Kunena