File tree Expand file tree Collapse file tree 5 files changed +49
-1
lines changed
Expand file tree Collapse file tree 5 files changed +49
-1
lines changed Original file line number Diff line number Diff line change 1+ #! /bin/bash
2+ #! /bin/bash
3+ JSON=` cat -`
4+ DIR=` dirname $0 `
5+ . $DIR /../etc/config.conf
6+ USER=` echo $JSON | jq -r ' .uid' `
7+ NEWPWD=` echo $JSON | jq -r ' .newPassword' `
8+ # copy script ps1
9+ scp $DIR /resetpassword.ps1 $SSH :.
10+ ERRORFILE=/tmp/ad-$$
11+ ssh $SSH " chcp 65001 >NUL && powershell -ExecutionPolicy Bypass -NonInteractive -File resetpassword.ps1 $USER $NEWPWD " 2> $ERRORFILE
12+ ERR=$?
13+ cat $ERRORFILE | tr -d " \r\n" | cut -d' |' -f2 1>&2
14+ rm -f $ERRORFILE
15+ exit $ERR
16+ echo $JSON
Original file line number Diff line number Diff line change 1+ param (
2+ [string ]$user ,
3+ [string ]$newp
4+ )
5+ $ErrorActionPreference = ' Continue'
6+ try {
7+ Set-ADUser - Identity $user - CannotChangePassword $false
8+ Set-ADAccountPassword - Identity $user - NewPassword (ConvertTo-SecureString - AsPlainText $newp - Force) - Reset
9+ $r = 0
10+ $erreur = " "
11+ }catch {
12+ $erreur = $_.Exception.Message
13+ $r = 2
14+ }
15+ Set-ADUser - Identity $user - CannotChangePassword $true
16+ if ($r -ne 0 ){
17+ $ErrorActionPreference = ' Continue'
18+ write-Error " | $erreur |"
19+ }else {
20+ write-output " OK"
21+ }
22+ Exit $r
Original file line number Diff line number Diff line change 66 CHANGEPWD :
77 exec : " changepasswd"
88 onError : ' stop'
9+ RESETPWD :
10+ exec : " resetpasswd"
11+ onError : ' stop'
912 ADDIDENT :
1013 exec : ' dummy.sh'
1114 UPDATEIDENT :
Original file line number Diff line number Diff line change 66 CHANGEPWD :
77 exec : " exemple.sh"
88 onError : ' continue'
9+ RESETPWD :
10+ exec : " exemple.sh
11+ onError: 'continue'
912 ADDIDENT:
1013 exec: 'exemple.sh'
1114 onError: 'continue'
Original file line number Diff line number Diff line change @@ -11,7 +11,7 @@ avec dedans :
1111./nomDuBackend/config.yml
1212./nomDuBackend/bin/
1313```
14-
14+ A NOTER : Les backends seront executé tour à tour par ordre aphabétique
1515## Fichier de configuration config.yml
1616``` yaml
1717name : ' dummy'
@@ -21,6 +21,9 @@ actions:
2121 CHANGEPWD :
2222 exec : " dummy.sh"
2323 onError : ' stop'
24+ RESETPWD :
25+ exec : " dummy.sh"
26+ onError : ' stop'
2427 ADDIDENT :
2528 exec : ' dummy.sh'
2629 onError : ' continue'
@@ -39,6 +42,7 @@ Le fichier de configuration doit comprendre :
3942* active : 0|1 0 le backend sera ignoré
4043* actions : un tableau decrivant les actions
4144 * ** CHANGEPWD** : exec sera executé sur l ordre de changement de mot de passe
45+ * ** RESETPWD** : exec sera executé sur ordre de reset de mot de passe
4246 * ** ADDIDENT** : exec sera executé sur l ordre de l'ajout d'une identite
4347 * ** UPDATEIDENT** : exec sera executé sur l ordre de modification d'une identite
4448 * ** DELIDENT** : exec sera executé sur l ordre de suppression d'une identite
You can’t perform that action at this time.
0 commit comments