Problème variable script PowerShell
Fermé
damb37530
Messages postés
11
Date d'inscription
lundi 21 juin 2010
Statut
Membre
Dernière intervention
20 septembre 2018
-
20 sept. 2018 à 13:08
damb37530 Messages postés 11 Date d'inscription lundi 21 juin 2010 Statut Membre Dernière intervention 20 septembre 2018 - 20 sept. 2018 à 14:29
damb37530 Messages postés 11 Date d'inscription lundi 21 juin 2010 Statut Membre Dernière intervention 20 septembre 2018 - 20 sept. 2018 à 14:29
A voir également:
- Powershell demander une saisie
- Comment saisir une adresse url - Guide
- Saisie vocale sms - Guide
- Powershell virus - Guide
- Clémence souhaite faire calculer automatiquement les prix de 30 produits dans trois devises. elle a déjà saisi une formule de calcul pour le tarif du premier produit dans la première devise. corrigez sa formule afin que recopiée vers le bas puis vers la droite, elle remplisse correctement tout le tableau. - Forum Excel
- Windows powershell s'ouvre tout seul ✓ - Forum Virus
2 réponses
Reivax962
Messages postés
3671
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
20 sept. 2018 à 13:41
20 sept. 2018 à 13:41
Bonjour,
Oui, on aurait besoin du script.
Pour l'intégrer au message, ouvre une balise
Xavier
Oui, on aurait besoin du script.
Pour l'intégrer au message, ouvre une balise
<code>, colle ton texte dedans et referme la balise. Ou utilise le bouton
<>juste au dessus de la zone de texte.
Xavier
damb37530
Messages postés
11
Date d'inscription
lundi 21 juin 2010
Statut
Membre
Dernière intervention
20 septembre 2018
20 sept. 2018 à 14:29
20 sept. 2018 à 14:29
Très bien je savais pas comment l'intégrer...
Du coup j'ai le pb quand je rentre le NNI après le step "$SaisieNNI = Read-Host " veuillez saisir le NNI""
J'entre le NNI et il a toujours en mémoire celui du coup d'avant (ou rien si c'est le 1er lancement).
Merci
Du coup j'ai le pb quand je rentre le NNI après le step "$SaisieNNI = Read-Host " veuillez saisir le NNI""
J'entre le NNI et il a toujours en mémoire celui du coup d'avant (ou rien si c'est le 1er lancement).
# Importation des modules
Import-Module activedirectory
# ##########################
# Déclaration des variables
# ##########################
#Composition variable chemin profil V2
$Ch_UserV2 = $SaisieNNI+".V2"
#Composition variable chemin profil V6
$Ch_UserV6 = $SaisieNNI+".V6"
#definir le chemin des documents de l'utilisateur
$Chemin_DOC = "M:\IN\LAS-37CHAUVIN405\"+"$SaisieNNI"
#definir le chemin du profil (.v2)
$Chemin_ProtifItinV2 = "M:\UT\LAS-37CHAUVIN405\"+"$Ch_UserV2"
#definir le chemin du profil (.v6)
$Chemin_ProtifItinV6 = "M:\UT\LAS-37CHAUVIN405\"+"$Ch_UserV6"
#--------------------------------------------------Fonction Recherche_User----------------------------------------------------------------------------------------------
Function Recherche_User
{
param([string]$NNIdescription)
# Début de boucle "While" pour rechercher un Utilisateur valide si
# une erreur a été réalisé en tapant le NNI
# On demande a l'utilisateur du script de taper le matricule de l'utilisateur à traiter
$NNI_User=("*"+$NNIdescription+"*")
# Recherche de l'utilisateur par le matricule dans la description donne ci-dessus
$Cherche_User=Get-ADUser -Filter {Lastname -like $NNI_User}
$Cherche_User=Get-ADUser -Filter {Surname -like $NNI_User}
# Si le matricule n'est pas présent dans la description,
# on le recherche dans la propriété "Office"
IF ($Cherche_User -eq $null)
{
# Recherche de l'utilisateur par le matricule dans le bureau donne ci-dessus
$Cherche_User=Get-ADUser -Filter {Name -like $NNI_User}
Write-Host "Name"
}
ELSE
{
$Rep_Recherche = "n"
}
# On retourne l'utilisateur trouvé avec le matricule
return $Cherche_User
}
#-------------------------------------- Fonction suppression profilV2--------------------------------------------------
function ProfilItinerantV2
{
param([string]$Profil)
# Verification si l'utilisateur a un profil itinérant
# Si l'utilisateur a un profil sur le réseau, on le supprime
IF (Test-Path $Chemin_ProtifItinV2)
{
# Attribution des droits sur le profil
C:\windows\system32\SetACL.exe -on $Chemin_ProtifItinV2 -ot file -actn setowner -ownr "n:Administrator" -rec cont_obj
C:\windows\system32\SetACL.exe -on $Chemin_ProtifItinV2 -ot file -actn ace -ace "n:Administrator;p:full;i:so,sc;m:set;w:dacl"
C:\windows\system32\SetACL.exe -on $Chemin_ProtifItinV2 -ot file -actn setowner -ownr "n:Administrator" -rec cont_obj
# Suppression du repertoire
Write-Host "Suppression du répertoire"
Remove-Item -Path $Chemin_ProtifItinV2 -Confirm:$true -Recurse -Force
# Suppression du compte AD
$Profil = Get-ADUser -Filter {Lastname -like $SaisieNNI}
}
ELSE
{
Write-Host "Le dossier .V2 dans "+ $Chemin_ProtifItinV2 + " n'a pas été supprimé"
sleep 3
}
}
#-------------------------------------- Fonction suppression profilV6--------------------------------------------------
function ProfilItinerantV6
{
param([string]$Profil)
# Verification si l'utilisateur a un profil itinérant
# Si l'utilisateur a un profil sur le réseau, on le supprime
IF (Test-Path $Chemin_ProtifItinV6)
{
# Attribution des droits sur le profil
C:\windows\system32\SetACL.exe -on $Chemin_ProtifItinV6 -ot file -actn setowner -ownr "n:Administrator" -rec cont_obj
C:\windows\system32\SetACL.exe -on $Chemin_ProtifItinV6 -ot file -actn ace -ace "n:Administrator;p:full;i:so,sc;m:set;w:dacl"
C:\windows\system32\SetACL.exe -on $Chemin_ProtifItinV6 -ot file -actn setowner -ownr "n:Administrator" -rec cont_obj
# Suppression du repertoire
Write-Host "Suppression du répertoire"
Remove-Item -Path $Chemin_ProtifItinV6 -Confirm:$true -Recurse -Force
# Suppression du compte AD
$Profil = Get-ADUser -Filter {Lastname -like $SaisieNNI}
}
ELSE
{
Write-Host "Le dossier .V6 dans "+ $Chemin_ProtifItinV6 + " n'a pas été supprimé"
sleep 3
}
}
#------------------------------------ Fonction suppression DOC--------------------------------------------------------
function DocumentUtilisateur
{
#param([string]$Documents)
# Verification si l'utilisateur a des documents sur le réseau
# Si l'utilisateur a un profil sur le réseau, on le supprime
IF (Test-Path $Chemin_DOC)
{
# Suppression du repertoire
Remove-Item -Path $Chemin_DOC -Confirm:$true -Recurse -Force
Write-Host "Confirmation de la supppression des documents"
}
ELSE
{
Write-Host "Les documents ne sont pas supprimés"
sleep 3
}
}
#----------------------------------------------Fonction suppression Compte AD---------------------------------------------------------------------------------------------------
Function Compte_AD
{
Remove-ADUser -Identity $SaisieNNI -Confirm:$true
}
############################################################################################
# Début du script #
############################################################################################
Write-Host "#########################################"
Write-Host "Vous venez de lancer le script qui permet"
Write-Host "de supprimer des comptes EDF"
Write-Host "#########################################"
Write-Host
# Début de boucle au cas ou il y aurait plusieurs matricule
$Rep="y"
# Début de boucle au cas ou il y aurait plusieurs matricule
#
while ($Rep -eq "y")
{
#on stocke la saisie
$SaisieNNI = Read-Host " veuillez saisir le NNI"
#Pour la recherche de l'utilisateur
$UserSaisie = Recherche_User -NNIdescription $SaisieNNI
Write-Host $Chemin_ProtifItinV2
Write-Host $Chemin_ProtifItinV6
Write-Host $Chemin_DOC
IF ($UserSaisie -ne $null)
{
# Bandeau pour indiquer a l'utilisateur du script ce qu'il faut faire
# Entrer un numéro pour enregistrer un type d'arrêt
Write-Host "Recherche de l'utilisateur dans l'AD"
sleep 2
Write-Host "L'utilisateur se situe dans : "+$UserSaisie
sleep 2
DocumentUtilisateur -Nom_User $UserSaisie
ProfilItinerantV2 -Nom_User $UserSaisie
ProfilItinerantV6 -Nom_User $UserSaisie
Compte_AD -Nom_User $UserSaisie
Write-Host "Fin des processus de suppression"
Write-Host "-----------------------------------------"
}
ELSE
{
Write-Host " Aucun utilisateur n'a été trouvé, Erreur de saisi ou utilisateur non présent dans l'AD"
}
$Rep = (Read-Host "Avez-vous d'autre(s) NNI à traiter (y/n) ?").tolower()
while ($Rep-ne "y" -and $Rep -ne "n")
{
$Rep=(Read-Host -Prompt " IL FALLAIT APPUYER SUR Y OU N . Avez-vous d'autre(s) matricule(s) à traiter (y/n) ?").tolower()
}
CLS
}
Merci