IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

Script PowerShell exécuter par une page PHP


Sujet :

Scripts/Batch

  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2021
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2021
    Messages : 1
    Par défaut Script PowerShell exécuter par une page PHP
    Bonjour, Je vais faire bref parce que c'est assez urgent.

    Je suis en entreprise, dans un environnement Windows, j'ai un serveur virtuelle WS19 où j'ai installer un serveur web IIS et l'objectif c'est que je programme une plateforme web qui sache communiquer avec l'Active Directory. Donc j'ai en HTML CSS PHP ma plateforme qui permet par exemple de déverrouiller des comptes utilisateurs de l'AD via un script PHP. La deuxième fonctionnalité, c'est que via un script PHP aussi, on puisse réinitialiser le mot de passe d'un compte utilisateur. J'ai essayer pas mal de choses, mais ca na pas marcher pour une raison inconnue avec l'erreur:
    ldap_modify: Server is unwilling to perform

    Je n'a pas trainer et j'ai tout simplement décider de trouver une alternative au script PHP et a l'utilisation de la libraire LDAP, en exécutant tout simplement depuis ma page PHP, un script PowerShell qui réinitialiserai le MDP d'un compte.

    Mais encore un problème. Le script marche, son exécution directe donne les résultat attendu, mais dès que je lance le script depuis la page PHP, ca ne marche pas...

    Extrait PHP:
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
        $newPassword = "UnPetitMDP369.....";
        $script = "powershell.exe -ExecutionPolicy Unrestricted -NonInteractive -File C:\\inetpub\\wwwroot\\new3\\change_pwd.ps1 -distinguishedname 'CN=elonMusk,OU=TEST,DC=exemple,DC=com' -newPassword 'UnPetitMDP369.....'";
        echo $script;
        // Exécution de la commande PowerShell
        $output = shell_exec($script);

    Extrait PS:
    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    # Modifier le mot de passe de l'utilisateur
    try {
        Set-ADAccountPassword -Identity $distinguishedname -NewPassword $newPasswordSecure -Credential $Credential -ErrorAction Stop
        #Set-ADUser -Identity $distinguishedname -ChangePasswordAtLogon $true -Credential $Credential
        Write-Host "Le mot de passe a été modifié avec succès."
    } catch {
        Write-Host "Erreur lors de la modification du mot de passe mais le script se lance bien: $_"
    }

    Résultat lors de l'exécution du script sur PowerShell directement:
    Le mot de passe a été modifié avec succès.
    Résultat lors de son exécution via le PHP:
    powershell.exe -ExecutionPolicy Unrestricted -NonInteractive -File C:\inetpub\wwwroot\new3\change_pwd.ps1 -distinguishedname 'CN=elonMusk,OU=TEST,DC=exemple,DC=com' -newPassword 'UnPetitMDP369.....'
    Erreur lors de la modification du mot de passe mais le script se lance bien: Impossible de trouver un objet avec l'identit� ��'CN=elonMusk,OU=TEST,DC=exemple,DC=com'�� sous�: ��DC=exemple,DC=com��.

    Voila, je demande de l'aide SVP parce que je suis un peu a bout, et n'hésitez pas à me demander des précisions.

  2. #2
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 393
    Par défaut
    Ça ressemble à un problème d'utilisateur courant.
    Modifie ton code pour noter l'utilisateur courant dans un log pour t'en assurer...
    Ensuite, le mieux serait de déplacer le service web vers un Application Pool qui s'exécute en tant que le bon user.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

Discussions similaires

  1. Réponses: 8
    Dernier message: 27/09/2008, 12h54
  2. Réponses: 6
    Dernier message: 29/05/2008, 12h22
  3. Réponses: 17
    Dernier message: 06/03/2008, 10h47
  4. Réponses: 3
    Dernier message: 14/12/2006, 11h46
  5. [XML] La réception du doc XML par une page PHP
    Par naima2005 dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 13/05/2006, 23h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo