PowerShell/Bonne pratique
Aller à la navigation
Aller à la recherche
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
<# 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 Auteur : fylip22 Version : 1.0 Révisions : - 1.0 (01/11/2023) : création du script #>
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