« Script de base Powershell » : différence entre les versions

De Travail-ivan
Page créée avec « == 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 $nom=Read-Host -Prompt "Saisir un nom" $UserPassword=Read-Host –AsSecureString -Prompt "Saisir un mot de passe" $nomComplet=Read-Host -Prompt "Saisir le nom complet" $description=Read-Host -Prompt "Saisir une description" try {... »
 
Aucun résumé des modifications
 
(7 versions intermédiaires par 2 utilisateurs non affichées)
Ligne 7 : Ligne 7 :
# puis ajout du compte au groupe local Utilisateurs
# puis ajout du compte au groupe local Utilisateurs


$nom=Read-Host -Prompt "Saisir un nom"
<pre>
$UserPassword=Read-Host –AsSecureString -Prompt "Saisir un mot de passe"
# Demande à l'utilisateur de saisir un nom
$nomComplet=Read-Host -Prompt "Saisir le nom complet"
$nom = Read-Host -Prompt "Saisir un nom"
$description=Read-Host -Prompt "Saisir une description"
 
try
# 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"
     $compte=New-LocalUser $nom -Password $UserPassword -FullName $nomComplet -Description $description
 
# 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é"
     Write-Host "$nom ajouté"
     # ajout du compte au groupe local Utilisateurs  
 
     # Ajout du compte au groupe local "Utilisateurs"
     Add-LocalGroupMember -Group "Utilisateurs" -Member $nom
     Add-LocalGroupMember -Group "Utilisateurs" -Member $nom
}
}
catch{
# Gérer une exception si le compte existe déjà
    Write-Host "$nom existe déjà"
catch {
}
    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>


=== suppressionCompteFichier ===
=== suppressionCompteFichier ===
Ligne 28 : Ligne 98 :
# texte : nomCompte/NomComplet/Description/password
# texte : nomCompte/NomComplet/Description/password


$fichier="C:\testPowershell\listeCompte.txt"


  if (Test-Path $fichier){
<pre>
    $colLIgnes=Get-Content $fichier
# Définition du chemin du fichier
    foreach($ligne in $colLignes){
$fichier = "C:\testPowershell\listeCompte.txt"
        $tabCompte=$ligne.Split("/")
 
# 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("/")
          
          
        $nom=$tabCompte[0]   
        # Extraire le nom du compte à partir de la première partie du tableau
        $nom = $tabCompte[0]   


        try
        # Essayer de supprimer le compte local
        {
        try {
             Remove-LocalUser $nom -Verbose
             Remove-LocalUser $nom -Verbose
             Write-Host "$nom supprimé"  
             Write-Host "$nom supprimé"  
        }
        }
        catch
        # Gérer une exception si le compte n'existe pas
        {
        catch {
            Write-Host "$nom n'existe pas"
            Write-Host "$nom n'existe pas"
        }
        }
    }
    }
}
}
else{
else {
    Write-Host "$fichier pas trouvé"
    # Afficher un message si le fichier n'est pas trouvé
}
     Write-Host "$fichier pas trouvé"
 
}
=== lireFichier ===
</pre>
 
# Script de parcours d'un fichier texte
# Contenu du fichier : nomCompte/nomComplet/Description
# Affiche le nom du compte
 
$fichier="C:\testPowerShell\listeCompte.txt"
  if (Test-Path $fichier){
    $colLIgnes=Get-Content $fichier
      
    foreach($ligne in $colLignes){
        $tabCompte=$ligne.Split("/")
        Write-Host $tabCompte[0]
        Write-Host $tabCompte[1]
        Write-Host $tabCompte[2]
    }
}
else{
    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é"
  }

Dernière version du 17 novembre 2023 à 11:58

Script de base Powershell[modifier | modifier le wikicode]

ajoutCompte[modifier | modifier le wikicode]

  1. Ajoute un compte dans la base locale du système
  2. à partir de la saisie du nom, du mopt de passe et de la description
  3. 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]

  1. 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]

  1. Script de parcours d'un fichier texte
  2. Contenu du fichier : nomCompte/nomComplet/Description
  3. 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]

  1. Suppression de comptes dans la base locale du système
  2. à partir des informations contenues dans un fichier
  3. 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é"
}