Skip to content

Commit 3544bf2

Browse files
committed
AD reset pwd
1 parent 66e3af3 commit 3544bf2

File tree

5 files changed

+49
-1
lines changed

5 files changed

+49
-1
lines changed

backends/01ad/bin/resetpasswd

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
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
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
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

backends/01ad/config.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@ actions:
66
CHANGEPWD:
77
exec: "changepasswd"
88
onError: 'stop'
9+
RESETPWD:
10+
exec: "resetpasswd"
11+
onError: 'stop'
912
ADDIDENT:
1013
exec: 'dummy.sh'
1114
UPDATEIDENT:

backends/backend1/config.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@ actions:
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'

docs/backends/README.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff 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
1717
name: '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

0 commit comments

Comments
 (0)