« Script de base Powershell » : différence entre les versions
De Travail-ivan
Ligne 81 : | Ligne 81 : | ||
# Affiche le nom du compte | # Affiche le nom du compte | ||
# Définition du chemin du fichier | |||
$fichier = "C:\testPowerShell\listeCompte.txt" | |||
<pre> | |||
# 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> | |||
=== lastlogin === | === lastlogin === |
Version du 17 novembre 2023 à 11:13
Script de base Powershell
ajoutCompte
- 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à" }
suppressionCompteFichier
- 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é" }
lireFichier
# 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é" }
lastlogin
- Affiche la date de dernière connexion
- d'un compte local du système
$ErrorActionPreference = 'Stop' $nom=Read-Host -Prompt "Saisir un nom de compte local" try { $compte=Get-LocalUser -Name $nom | Select-Object * Write-Host $compte.LastLogon }
catch{ Write-Host "$nom non trouvé" }