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 gestuelle iphone - Guide
- Saisie vocale sms - Guide
- Gboard saisie vocale - Accueil - Applications & Logiciels
- Saisie vocale whatsapp - Accueil - Messagerie instantanée
2 réponses
Reivax962
Messages postés
3672
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