« PowerShell/Bonne pratique » : différence entre les versions
Aller à la navigation
Aller à la recherche
(Page créée avec « {{Sommaire}} Quelques bonnes pratiques pour PowerShell. == Entête == === Script simple === <source> </source> === Fonction === <source> </source> == Variable de paramètres == Pour une clarté dans la lecture d'un script, utiliser une variable de type tableau avec les différentes valeurs. Création d'un utilisateur sur l'AD <source> $ParametreListe = @{ SAMAccountName = "Nomp"; Path = "OU=SI, DC=php, DC=local"; AccountPassword =... ») |
m (→Voir aussi) |
||
| (13 versions intermédiaires par le même utilisateur non affichées) | |||
| Ligne 2 : | Ligne 2 : | ||
Quelques bonnes pratiques pour PowerShell. | Quelques bonnes pratiques pour PowerShell. | ||
== Règle de rédaction == | |||
=== Ecriture développée et écriture condensée === | |||
Voici deux scripts identiques, l'un avec une écriture développée, l'autre avec une écriture condensée : | |||
<source> | |||
# création du compte local "recupe" ; écriture développée | |||
$compte = "recupe" | |||
$motDePasse = "monmotdepasse" | |||
$parametreListe = @{ | |||
Name = $compte | |||
Password = (ConvertTo-SecureString $motDePasse -AsplainText -Force) | |||
FullName = $compte | |||
Description = $compte+' migration 2024' | |||
AccountNeverExpires = $true | |||
PasswordNeverExpires = $true | |||
} | |||
New-LocalUser @parametreListe | |||
Add-LocalGroupMember -Member $compte -Group "Administrateurs" | |||
Add-LocalGroupMember -Member $compte -Group "Utilisateurs du Bureau à distance" | |||
</source> | |||
<source> | |||
# création du compte local "recupe" ; écriture compacte | |||
$compte="recupe";$motDePasse="monmotdepasse";$parametreListe=@{Name=$compte;Password=(ConvertTo-SecureString $motDePasse -AsplainText -Force);FullName=$compte;Description=$compte+' migration 2024';AccountNeverExpires=$true;PasswordNeverExpires=$true} | |||
New-LocalUser @parametreListe;Add-LocalGroupMember -Group "Administrateurs" -Member $compte;Add-LocalGroupMember -Group "Utilisateurs du Bureau à distance" -Member $compte | |||
</source> | |||
== Entête == | == Entête == | ||
=== Script simple === | === Script simple === | ||
<source> | <source lang="powershell"> | ||
<# | |||
Nom : PSHUTL011 | |||
Description : création d'un fichier HTML de la liste des 10 premiers services, avec actualisation de la page toutes les 3 secondes | |||
Usage : exercice en PowerShell | |||
Particularité : néant | |||
Auteur : fylip22 | |||
Version : 1.1 | |||
Révisions : | |||
- 1.0 (01/11/2023) : création du script | |||
- 1.1 (15/02/2024) : optimisation du code | |||
#> | |||
</source> | </source> | ||
=== Fonction === | === Fonction === | ||
<source> | <source> | ||
<# | |||
.SYNOPSIS | |||
Texte du résumé de la fonction | |||
.DESCRIPTION | |||
Description | |||
.PARAMETER Source | |||
Description du paramètre "Source" | |||
.PARAMETER Destination | |||
Description du paramètre "Destination" | |||
.EXAMPLE | |||
.\MaFonction.ps1 -Source "\\PHP001\Source\" -Dest "C:\temp" | |||
.EXAMPLE | |||
.\MaFonction.ps1 -Source "\\PHP001\Support\" -Dest "C:\Sauvegarde\" | |||
.INPUTS | |||
.OUTPUTS | |||
.NOTES | |||
NAME: MaFonction.ps1 | |||
AUTHOR: fylip22 | |||
EMAIL: fylip22@phpage.fr | |||
WWW: kono.phpage.fr | |||
VERSION HISTORY: | |||
1.0 2023.11.15 | |||
Initial Version | |||
TODO | |||
* gérer l'existence du dossier de destination ; le créer si nécessaire | |||
#> | |||
</source> | </source> | ||
== Variable de paramètres == | == Variable de paramètres == | ||
Pour une clarté dans la lecture d'un script, utiliser une variable de type tableau avec les différentes valeurs. | Pour une clarté dans la lecture d'un script, utiliser une variable de type tableau avec les différentes valeurs, puis utiliser cette variable avec la commande souhaitée. | ||
Création d'un utilisateur sur l'AD | Création d'un utilisateur sur l'AD : <source inline>New-ADUser @ParametreListe</source> | ||
<source> | <source> | ||
$ParametreListe = @{ | $ParametreListe = @{ | ||
| Ligne 47 : | Ligne 122 : | ||
== Voir aussi == | == Voir aussi == | ||
* | * [[Expression régulière]] | ||
[[Catégorie:PowerShell]] | [[Catégorie:PowerShell]] | ||
[[Catégorie:Bonne pratique]] | |||
Dernière version du 9 octobre 2025 à 15:21
Quelques bonnes pratiques pour PowerShell.
Règle de rédaction
Ecriture développée et écriture condensée
Voici deux scripts identiques, l'un avec une écriture développée, l'autre avec une écriture condensée :
# création du compte local "recupe" ; écriture développée
$compte = "recupe"
$motDePasse = "monmotdepasse"
$parametreListe = @{
Name = $compte
Password = (ConvertTo-SecureString $motDePasse -AsplainText -Force)
FullName = $compte
Description = $compte+' migration 2024'
AccountNeverExpires = $true
PasswordNeverExpires = $true
}
New-LocalUser @parametreListe
Add-LocalGroupMember -Member $compte -Group "Administrateurs"
Add-LocalGroupMember -Member $compte -Group "Utilisateurs du Bureau à distance"
# création du compte local "recupe" ; écriture compacte
$compte="recupe";$motDePasse="monmotdepasse";$parametreListe=@{Name=$compte;Password=(ConvertTo-SecureString $motDePasse -AsplainText -Force);FullName=$compte;Description=$compte+' migration 2024';AccountNeverExpires=$true;PasswordNeverExpires=$true}
New-LocalUser @parametreListe;Add-LocalGroupMember -Group "Administrateurs" -Member $compte;Add-LocalGroupMember -Group "Utilisateurs du Bureau à distance" -Member $compte
Entête
Script simple
<# Nom : PSHUTL011 Description : création d'un fichier HTML de la liste des 10 premiers services, avec actualisation de la page toutes les 3 secondes Usage : exercice en PowerShell Particularité : néant Auteur : fylip22 Version : 1.1 Révisions : - 1.0 (01/11/2023) : création du script - 1.1 (15/02/2024) : optimisation du code #>
Fonction
<#
.SYNOPSIS
Texte du résumé de la fonction
.DESCRIPTION
Description
.PARAMETER Source
Description du paramètre "Source"
.PARAMETER Destination
Description du paramètre "Destination"
.EXAMPLE
.\MaFonction.ps1 -Source "\\PHP001\Source\" -Dest "C:\temp"
.EXAMPLE
.\MaFonction.ps1 -Source "\\PHP001\Support\" -Dest "C:\Sauvegarde\"
.INPUTS
.OUTPUTS
.NOTES
NAME: MaFonction.ps1
AUTHOR: fylip22
EMAIL: fylip22@phpage.fr
WWW: kono.phpage.fr
VERSION HISTORY:
1.0 2023.11.15
Initial Version
TODO
* gérer l'existence du dossier de destination ; le créer si nécessaire
#>
Variable de paramètres
Pour une clarté dans la lecture d'un script, utiliser une variable de type tableau avec les différentes valeurs, puis utiliser cette variable avec la commande souhaitée.
Création d'un utilisateur sur l'AD : New-ADUser @ParametreListe
$ParametreListe = @{
SAMAccountName = "Nomp";
Path = "OU=SI, DC=php, DC=local";
AccountPassword = (ConvertTo-SecureString "MonMotDePasse" -AsPlainText -Force);
Enable = $true;
UserPrincipalName = "prenom.nom@php.local";
Name = "Nom Prénom";
EmailAddress = "prenom.nom@societe.fr";
DisplayName = "Nom Prénom";
GivenName = "Prénom";
Surname = "Nom";
Office = "B052";
EmployeeID = "123";
Title = "Chef de projet";
Company = "Société";
Division = "Ma division";
Department = "Mon service";
MobilePhone = "+33 6 78 90 12 34";
StreetAddress = "1 Nom de la rue";
City = "Ma Ville";
State = "Ma Région";
PostalCode = "12300";
Country = "Mon Pays";
OfficePhone = "+33 1 23 45 67 89";
}
New-ADUser @ParametreListe