Question Exécuter des commandes \"en tant que\" dans un scrpt
- Ed'
- Auteur du sujet
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 3
- Remerciements reçus 0
il y a 7 ans 1 semaine #23353
par Ed'
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
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.
- Ed'
- Auteur du sujet
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 3
- Remerciements reçus 0
il y a 7 ans 6 jours #23357
par Ed'
Réponse de Ed' sur le sujet Re:Exécuter des commandes \"en tant que\" dans un scrpt
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 !
[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.
- Laurent Dardenne
- Hors Ligne
- Modérateur
Réduire
Plus d'informations
- Messages : 6300
- Remerciements reçus 68
il y a 7 ans 6 jours #23359
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Exécuter des commandes \"en tant que\" dans un scrpt
Salut,
peut être une piste avec l' impersonnation .
peut être une piste avec l' impersonnation .
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
Réduire
Plus d'informations
- Messages : 6300
- Remerciements reçus 68
il y a 7 ans 6 jours #23360
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Exécuter des commandes \"en tant que\" dans un scrpt
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.
- Ed'
- Auteur du sujet
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 3
- Remerciements reçus 0
il y a 7 ans 6 jours #23361
par Ed'
Réponse de Ed' sur le sujet Re:Exécuter des commandes \"en tant que\" dans un scrpt
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 !
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.071 secondes
- Vous êtes ici :
- Accueil
- forum
- PowerShell
- Entraide pour les initiés
- Exécuter des commandes "en tant que" dans un scrpt