Fonctions avancées de WPKG
Gestion des fichiers et dossiers
![](../res/Files_to_archives_64.png)
Action | Commandes
| Explication des commutateurs |
Supprimer un fichier | cmd='%ComSpec% /C del /f /q “chemin_vers_fichier” '
cmd='%ComSpec% /C del /f /q ”%SYSTEMROOT%\system32\wpkg.xml” ' | /C → ferme après exécution /f → même en lecture seule /q → mode silencieux |
Supprimer un dossier | cmd='%ComSpec% /C rmdir /S /Q “chemin vers dossier” '
cmd='%ComSpec% /C rmdir /S /Q ”%PROGRAMFILES%\Audacity” ' | /S → récursif (y compris les sous répertoires) /Q → sans confirmation |
Copier un fichier | cmd='%ComSpec% /C copy “chemin du fichier source” “chemin vers destination” /Y'
cmd='%ComSpec% /C copy ”%SOFTWARE%\audacity\lame_enc.dll” ”%PROGRAMFILES\Audacity\” /Y' | /Y → sans confirmation |
Copier un dossier | cmd='%ComSpec% /C xcopy “chemin du dossier source\* ” “chemin du dossier de destination\” /S /E/ /Y /Q /R'
cmd='%ComSpec% /C xcopy ”%SOFTWARE%\ooohg\*” ”%PROGRAMFILES%\OpenOffice.org 3\Basis\share\gallery\” /S /E /Y /Q /R' | /E → récursif y compris les répertoires vides /R → remplace les fichiers en lecture seule |
Conseil :
Pour trouver la signification des commutateurs, lancer une fenêtre DOS (Démarrer→ Exécuter → saisir cmd ) puis saisir la commande suivie de espace /?
Exemple : xcopy /?
Gestion de la base de registre
![](../res/registry.png)
Action | Commandes
| Contenu du fichier |
Fusionner un fichier .reg dans la base de registre | cmd='regedit /s “chemin du fichier .reg”'
cmd='regedit /s ”%SOFTWARE%\Fonts\ajout-fonts.reg”' | Contenu de ajout-fonts.reg : Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts] “Bestioles (TrueType)”=“Bestioles.TTF” “Century Gothic Normal (TrueType)”=“GOTHIC.TTF” “Cornerstone Regular (TrueType)”=“Cornerstone.TTF” “PlumBAL (TrueType)”=“PLUMBAL.TTF” |
Exécuter un fichier .bat | cmd='“chemin du fichier .bat”'
cmd='”%SOFTWARE%\Fonts\ajout-fonts.bat”' | Contenu de ajout-fonts.bat : %COMSPEC% /c copy /Y ”%SOFTWARE%\Fonts\*.TTF” ”%WINDIR%\Fonts\ “regedit /s ”%SOFTWARE%\Fonts\ajout-fonts.reg” |
Gestion des utilisateurs locaux
![](../res/windows_users.png)
Il est possible d'ajouter des utilisateurs locaux via WPKG. Une fois cela fait, il est très facile de mettre à jour le mot de passe pour ne plus autoriser les personnes à se connecter.
On va utiliser la commande DOS : « net user »
.
Création d'un compte local :
<!-- création du compte défini au dessus avec mot de passe defini au dessus -->
<install cmd='cmd /c net user login pass /add' />
Les différentes options de net user sont :
/passwordchg:yes
/expires:never
/active:yes
/passwordchg:no
Remarque :
D'après le CG69, il semble qu'il faille mettre la possibilité de modifier le mot de passe (/passwordchg:yes) puis les autres options, et enfin, remodifer l'option de mot de passe si besoin. Sans quoi, certaines options ne sont pas prises en compte.
Création d'un administrateur local
<!-- on ajoute le compte crée au groupe administrateurs -->
<install cmd='cmd /c net localgroup administrateurs login /add' />
Modification d'un mot de passe d'un utilisateur local
<install cmd='cmd /c net user login nouveaumotdepasse' />
Conseil :
L'idée sera d'utiliser des variables pour simplifier la lecture des fichiers XML.
Gestion des ACLS Windows
![](../res/read.png)
On peut aussi modifier des droits (ACL) sur des fichiers. Pour cela, on peut utiliser la commande CACLS.
c:\> cacls
Affiche ou modifie les listes de contrôle d'accès (ACL) des fichiers
CACLS nom_de_fichier [/T] [/E] [/C] [/G util:perm] [/R util [...]]
[/P util:perm [...]] [/D util [...]]
nom_de_fichier Affiche les ACL.
/T Modifie les ACL des fichiers spécifiés dans le répertoire en cours et tous les sous-répertoires.
/E Edite l'ACL au lieu de la remplacer.
/C Continue la modification des ACL en ignorant les erreurs.
/G util:perm Donne l'utilisateur spécifié les droits d'accès.
Perm peut être : R Lecture
W Ecriture
C Modification (en écriture)
F Contrôle total
/R util Retire les droits d'accès de l'utilisateur (avec /E).
/P util:perm Remplace les droits d'accès de l'utilisateur spécifié.
Perm peut être : N Aucun
R Lecture
W Ecriture
C Modification (en écriture)
F Contrôle total
/D util Refuse l'accès à l'utilisateur spécifié.
Des caractères génériques peuvent être utilisés pour préciser plusieurs fichiers dans une commande. Vous pouvez spécifier plus d'un utilisateur dans une commande.
Abréviations :
CI - Héritage de conteneur (Container Inherit).
Les répertoires héritent de l'entrée de contrôle d'accès.
OI - Héritage d'objet (Object Inherit).
Les fichiers héritent de l'entrée de contrôle d'accès.
IO - Héritage uniquement (Inherit Only).
L'entrée de contrôle d'accès ne s'applique pas au fichier ou
répertoire en cours.
c:\>
Exemple de commande CACLS
Cette commande permet de rendre le dossier c:\mondossier\ en lecture/écriture pour tous les utilisateurs du domaine :
<install cmd='cmd /c cacls c:\mondossier /E /G DomainUsers:W' />
Si la commande est trop longue, il faudra rediriger la sortie vers NUL.
<install cmd='cmd /c cacls c:\mondossier /E /G "Tout le monde":W >nul' />
Attention :
Ces 2 exemples n'ont pas été réellement testés !