« Script de base Powershell » : différence entre les versions
De Travail-ivan
Aucun résumé des modifications |
|||
| (6 versions intermédiaires par 2 utilisateurs non affichées) | |||
| Ligne 31 : | Ligne 31 : | ||
catch { | catch { | ||
Write-Host "$nom existe déjà" | Write-Host "$nom existe déjà" | ||
} | |||
</pre> | |||
=== lastlogin === | |||
# Affiche la date de dernière connexion d'un compte local du système | |||
<pre> | |||
# Définir la variable de préférence d'action en cas d'erreur | |||
$ErrorActionPreference = 'Stop' | |||
# Demander à l'utilisateur de saisir un nom de compte local | |||
$nom = Read-Host -Prompt "Saisir un nom de compte local" | |||
# Essayer d'obtenir des informations sur le compte local | |||
try { | |||
# Obtenir les informations du compte local | |||
$compte = Get-LocalUser -Name $nom | Select-Object * | |||
# Afficher la propriété LastLogon du compte local | |||
Write-Host $compte.LastLogon | |||
} | |||
# Capturer une erreur si le compte n'est pas trouvé | |||
catch { | |||
# Afficher un message indiquant que le compte n'a pas été trouvé | |||
Write-Host "$nom non trouvé" | |||
} | |||
</pre> | |||
=== lireFichier === | |||
# Script de parcours d'un fichier texte | |||
# Contenu du fichier : nomCompte/nomComplet/Description | |||
# Affiche le nom du compte | |||
<pre> | |||
# Définition du chemin du fichier | |||
$fichier = "C:\testPowerShell\listeCompte.txt" | |||
# Vérifier si le fichier existe | |||
if (Test-Path $fichier) { | |||
# Si le fichier existe, obtenir le contenu du fichier ligne par ligne | |||
$colLignes = Get-Content $fichier | |||
# Parcourir chaque ligne dans le fichier | |||
foreach ($ligne in $colLignes) { | |||
# Diviser la ligne en utilisant le caractère "/" | |||
$tabCompte = $ligne.Split("/") | |||
# Afficher les différentes parties de la ligne | |||
Write-Host $tabCompte[0] | |||
Write-Host $tabCompte[1] | |||
Write-Host $tabCompte[2] | |||
} | |||
} | |||
else { | |||
# Afficher un message si le fichier n'est pas trouvé | |||
Write-Host "$fichier pas trouvé" | |||
} | } | ||
</pre> | </pre> | ||
| Ligne 40 : | Ligne 98 : | ||
# texte : nomCompte/NomComplet/Description/password | # texte : nomCompte/NomComplet/Description/password | ||
<pre> | |||
# Définition du chemin du fichier | |||
$fichier = "C:\testPowershell\listeCompte.txt" | |||
# Vérifier si le fichier existe | |||
if (Test-Path $fichier) { | |||
# Si le fichier existe, obtenir le contenu du fichier ligne par ligne | |||
$colLignes = Get-Content $fichier | |||
# Parcourir chaque ligne dans le fichier | |||
foreach ($ligne in $colLignes) { | |||
# Diviser la ligne en utilisant le caractère "/" | |||
$tabCompte = $ligne.Split("/") | |||
# Extraire le nom du compte à partir de la première partie du tableau | |||
$nom = $tabCompte[0] | |||
# Essayer de supprimer le compte local | |||
try { | |||
Remove-LocalUser $nom -Verbose | Remove-LocalUser $nom -Verbose | ||
Write-Host "$nom supprimé" | Write-Host "$nom supprimé" | ||
} | |||
# Gérer une exception si le compte n'existe pas | |||
catch { | |||
Write-Host "$nom n'existe pas" | |||
} | |||
} | |||
} | |||
else { | |||
# Afficher un message si le fichier n'est pas trouvé | |||
Write-Host "$fichier pas trouvé" | |||
} | |||
</pre> | |||
Dernière version du 17 novembre 2023 à 11:58
Script de base Powershell
[modifier | modifier le wikicode]ajoutCompte
[modifier | modifier le wikicode]- Ajoute un compte dans la base locale du système
- à partir de la saisie du nom, du mopt de passe et de la description
- puis ajout du compte au groupe local Utilisateurs
# Demande à l'utilisateur de saisir un nom
$nom = Read-Host -Prompt "Saisir un nom"
# Demande à l'utilisateur de saisir un mot de passe de manière sécurisée
$UserPassword = Read-Host –AsSecureString -Prompt "Saisir un mot de passe"
# Demande à l'utilisateur de saisir le nom complet
$nomComplet = Read-Host -Prompt "Saisir le nom complet"
# Demande à l'utilisateur de saisir une description
$description = Read-Host -Prompt "Saisir une description"
# Essayer de créer un nouveau compte local
try {
$compte = New-LocalUser $nom -Password $UserPassword -FullName $nomComplet -Description $description
Write-Host "$nom ajouté"
# Ajout du compte au groupe local "Utilisateurs"
Add-LocalGroupMember -Group "Utilisateurs" -Member $nom
}
# Gérer une exception si le compte existe déjà
catch {
Write-Host "$nom existe déjà"
}
lastlogin
[modifier | modifier le wikicode]- Affiche la date de dernière connexion d'un compte local du système
# Définir la variable de préférence d'action en cas d'erreur
$ErrorActionPreference = 'Stop'
# Demander à l'utilisateur de saisir un nom de compte local
$nom = Read-Host -Prompt "Saisir un nom de compte local"
# Essayer d'obtenir des informations sur le compte local
try {
# Obtenir les informations du compte local
$compte = Get-LocalUser -Name $nom | Select-Object *
# Afficher la propriété LastLogon du compte local
Write-Host $compte.LastLogon
}
# Capturer une erreur si le compte n'est pas trouvé
catch {
# Afficher un message indiquant que le compte n'a pas été trouvé
Write-Host "$nom non trouvé"
}
lireFichier
[modifier | modifier le wikicode]- Script de parcours d'un fichier texte
- Contenu du fichier : nomCompte/nomComplet/Description
- Affiche le nom du compte
# Définition du chemin du fichier
$fichier = "C:\testPowerShell\listeCompte.txt"
# Vérifier si le fichier existe
if (Test-Path $fichier) {
# Si le fichier existe, obtenir le contenu du fichier ligne par ligne
$colLignes = Get-Content $fichier
# Parcourir chaque ligne dans le fichier
foreach ($ligne in $colLignes) {
# Diviser la ligne en utilisant le caractère "/"
$tabCompte = $ligne.Split("/")
# Afficher les différentes parties de la ligne
Write-Host $tabCompte[0]
Write-Host $tabCompte[1]
Write-Host $tabCompte[2]
}
}
else {
# Afficher un message si le fichier n'est pas trouvé
Write-Host "$fichier pas trouvé"
}
suppressionCompteFichier
[modifier | modifier le wikicode]- Suppression de comptes dans la base locale du système
- à partir des informations contenues dans un fichier
- texte : nomCompte/NomComplet/Description/password
# Définition du chemin du fichier
$fichier = "C:\testPowershell\listeCompte.txt"
# Vérifier si le fichier existe
if (Test-Path $fichier) {
# Si le fichier existe, obtenir le contenu du fichier ligne par ligne
$colLignes = Get-Content $fichier
# Parcourir chaque ligne dans le fichier
foreach ($ligne in $colLignes) {
# Diviser la ligne en utilisant le caractère "/"
$tabCompte = $ligne.Split("/")
# Extraire le nom du compte à partir de la première partie du tableau
$nom = $tabCompte[0]
# Essayer de supprimer le compte local
try {
Remove-LocalUser $nom -Verbose
Write-Host "$nom supprimé"
}
# Gérer une exception si le compte n'existe pas
catch {
Write-Host "$nom n'existe pas"
}
}
}
else {
# Afficher un message si le fichier n'est pas trouvé
Write-Host "$fichier pas trouvé"
}