Bonjour à tous,
Je rencontre des difficultés lors de l'exécution de se script :
Voici les erreurs remontées :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 $account = "test34" $Searcher = New-Object DirectoryServices.DirectorySearcher $Searcher.Filter = '(&(objectCategory=person)(sAMAccountName='+$account+'))' $Searcher.SearchRoot = "LDAP://OU=_USERS,DC=DOMAINE,DC=dom" [string]$Info = $Searcher.FindOne() | select Path #On ne conserve que la partie LDAP...jusqu'à net $separator = "@{Path=","}" #termes à supprimer $option = [System.StringSplitOptions]::RemoveEmptyEntries #cette option supprime les espaces $User = $Info.Split($separator,$option) # $$User récupère le chemin souhaité #Fin de la récupération $ModifHome= [adsi]($User) $ModifHome.homeDrive.Clear() $ModifHome.homedirectory.Clear() $ModifHome.CommitChanges()
Alors que, si je modifie mon script comme ceci, cela fonctionneImpossible de convertir la valeur «*System.String[]*» en type «*System.DirectoryServices.DirectoryEntry*». Erreur*: «*La valeur fournie pour adsObject n'implémente pas les IAD.*»
Au niveau de C:\00_test.ps1*: 11 Caractère*: 26
+ $ModifHome= [adsi]($User <<<< )
+ CategoryInfo : NotSpecified: ([], RuntimeException
+ FullyQualifiedErrorId : RuntimeException
Vous ne pouvez pas appeler de méthode sur une expression ayant la valeur Null.
Au niveau de C:\00_test.ps1*: 12 Caractère*: 28
+ $ModifHome.homeDrive.Clear <<<< ()
+ CategoryInfo : InvalidOperation: (Clear:String) [], RuntimeException
+ FullyQualifiedErrorId : InvokeMethodOnNull
Vous ne pouvez pas appeler de méthode sur une expression ayant la valeur Null.
Au niveau de C:\00_test.ps1*: 13 Caractère*: 35
+ $ModifHome.homedirectory.Clear <<<< ()
+ CategoryInfo : InvalidOperation: (Clear:String) [], RuntimeException
+ FullyQualifiedErrorId : InvokeMethodOnNull
Vous ne pouvez pas appeler de méthode sur une expression ayant la valeur Null.
Au niveau de C:\00_test.ps1*: 14 Caractère*: 26
+ $ModifHome.CommitChanges <<<< ()
+ CategoryInfo : InvalidOperation: (CommitChanges:String) [], RuntimeException
+ FullyQualifiedErrorId : InvokeMethodOnNull
Modification sur la ligne 7 et 11.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 $account = "test34" $Searcher = New-Object DirectoryServices.DirectorySearcher $Searcher.Filter = '(&(objectCategory=person)(sAMAccountName='+$account+'))' $Searcher.SearchRoot = "LDAP://OU=_USERS,DC=DOMAINE,DC=dom" [string]$Info = $Searcher.FindOne() | select Path #On ne conserve que la partie LDAP...jusqu'à net $separator = "@{Path=LDAP://","}","DC=dom" #termes à supprimer $option = [System.StringSplitOptions]::RemoveEmptyEntries #cette option supprime les espaces $User = $Info.Split($separator,$option) # $$User récupère le chemin souhaité #Fin de la récupération $ModifHome= [adsi]('LDAP://'+$User+'DC=com') $ModifHome.homeDrive.Clear() $ModifHome.homedirectory.Clear() $ModifHome.CommitChanges()
Merci de votre aide.
Partager