Question Création de crédential avec mot de passe crypté OK

Plus d'informations
il y a 9 ans 1 mois #23001 par Brice
Bonjour à tous,je suis tout nouveau sur ce forum et sur Powershell, je poste mon premier message d'aide alors si je ne suis pas compréhensible soyez indulgent svp :blush:

Cela concerne un petit script que l'on m'a confié, ce script doit pouvoir ajouter un utilisateur en local sur un domaine. Pour cela j'ai besoin de crédential avec un mot de passe crypté, celui-ci est stocké dans un fichier texte stocké dans la variable $FilePassword. J'utilise la méthode PSCredential.
voici ce que j'ai trouvé :

[code:1]
$UserDomain = \"$Domain\root\"
#-->pour utilisateur avec mdp crypté sur Cred_root.txt
$KeyPassword =[byte]35,31,32,45,55,11,09,08,11,34,67,99,12,20,09,98
\"MotDePasse\" | Convertto-SecureString -AsPlainText -Force | ConvertFrom-SecureString -key $KeyPassword| Out-file $FilePassword
#-->lire un MOT DE PASSE dans un fichier enregistré précédemment
$PasswordDomain = Get-Content $FilePassword | Convertto-SecureString -Key $KeyPassword
$Cred = New-Object -Typename System.Management.Automation.PSCredential -Argumentlist (\"$UserDomain\", \"$PasswordDomain\"«»)
[/code:1]

Je ne connais pas le mot de passe d'origine il a déjà été crypté pour me rendre la tache un peu plus difficile :silly:
La syntaxe de ce bout de script a l'air correct..

Mon problème est que quand j’exécute ce script j'ai un message d'erreur :

New-Object : Surcharge introuvable pour « PSCredential » et le nombre d'arguments « 2 ».
Au caractère Ligne:7 : 9
+ $Cred = New-Object -Typename System.Management.Automation.PSCredentia ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation : (:) [New-Object], MethodException
+ FullyQualifiedErrorId : ConstructorInvokedThrowException,Microsoft.PowerShell.Commands.NewObjec
tCommand

Je m'arrache les cheveux pour trouver le problème :pinch: , c'est peut être rien du tout mais j'ai besoin d'aide si c'est possible, Merci d'avance :)

Message édité par: michmich, à: 25/01/17 11:57<br><br>Message édité par: michmich, à: 27/01/17 09:28

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 9 ans 1 mois #23003 par Philippe
salut michmich et bienvenue

pour ton erreur change ta dernier ligne par ceci :
[code:1]$Cred = New-Object -Typename System.Management.Automation.PSCredential -Argumentlist $UserDomain, $PasswordDomain
[/code:1]

et garde quelques cheveux pour avoir le password en clair !!! :laugh:

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 9 ans 1 mois #23005 par Brice
Merci pour ta réponse 6rtagus
J'avais déjà essayé cette solution néanmoins ça ne change pas le problème :dry: , est-ce une de mes actions qui ne serait pas correctement paramétrée ?

Enfaîte, pour être plus clair mon script récupère les informations des utilisateurs sur un fichier texte (comme Nom en majuscules,initiales...)en exécutant un autre script, ça ça marche. Ensuite il se connecte au domaine (il se connecte correctement), et c'est au niveau des crédentials que ca bloque :/

J'ai deux login/mdp a faire passer, un pour l'utilisateur local du domaine, et un pour la session actuelle ou je suis connecté en administrateur.Pour les deux, j'ai le même problème de surcharge introuvable pourtant l'un est en clair et l'autre est en crypté... :blink:

[code:1]
#--&gt; CREDENTIELS
#==========================================================
#--&gt;pour utilisateur avec mdp crypté sur Cred_root.txt

$KeyPassword = [byte]35,31,32,45,55,11,09,08,11,34,67,99,12,20,09,98
\&quot;MotDePasse\&quot; | Convertto-SecureString -AsPlainText -Force | ConvertFrom-SecureString -key $KeyPassword| Out-file $FilePassword
#--&gt;lire un MOT DE PASSE dans un fichier enregistré précédemment
$PasswordDomain = Get-Content $FilePassword | Convertto-SecureString -Key $KeyPassword
$Cred = New-Object -Typename System.Management.Automation.PSCredential -Argumentlist $UserDomain, $PasswordDomain

#--&gt; Décrit le lecteur réseau
# Create Network Drive Object
$ScriptShare = New-Object -ComObject cWScript.Network

#--&gt;CREDENTIELS pour les accès de la session actuelle
#Get local credentials to execute admin processes on local computer
$UserAdminvif = \&quot;adminvif\&quot;
$PasswordAdminvif = \&quot;$Mdp\&quot;
#--&gt; login/mdp nécéssaire pour avoir les accès
$LocalCred = New-Object -Typename System.Management.Automation.PSCredential -Argumentlist $UserAdminvif, $PasswordAdminvif
===================================================
[/code:1]

Merci pour votre aide ;)<br><br>Message édité par: michmich, à: 26/01/17 09:16

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 9 ans 1 mois #23006 par Brice
J'ai réussi a régler le problème pour le mot de passe crypté enfaite, merci quand même pour la correction c'est ce qui m'a permis d'avancé ;) .En faite comme je le disais mon fichier était déja crypté dans un fichier txt, et dans la première partie de mon script je l'enregistrais et le lisais une fois de plus a chaque éxécution. J'ai donc enlevé la partie enregistrement et la lecture se passait bien.

[code:1]
$KeyPassword = [byte]35,31,32,45,55,11,09,08,11,34,67,99,12,20,09,98
$PasswordDomain = Get-Content $FilePassword | Convertto-SecureString -Key $KeyPassword
$Cred = New-Object -Typename System.Management.Automation.PSCredential -Argumentlist $UserDomain, $PasswordDomain
[/code:1]



Par contre pour le crédential de la session actuelle j'ai toujours ce même probleme
[code:1]
New-Object : Surcharge introuvable pour « PSCredential » et le nombre d'arguments « 2 ».
Au caractère C:\Users\adminvif\Desktop\RenameAndJoinDomainInOneReboot_BLB.ps1:91 : 14
+ ... LocalCred = New-Object -Typename System.Management.Automation.PSCrede ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation : (: ) [New-Object], MethodException
+ FullyQualifiedErrorId : ConstructorInvokedThrowException,Microsoft.PowerShell.Commands.NewObjectCommand
[/code:1]

Quelqu'un aurait-il la solution a ce problème ?
Merci encore :side:<br><br>Message édité par: michmich, à: 26/01/17 11:14

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 9 ans 1 mois #23008 par Philippe

Par contre pour le crédential de la session actuelle j'ai toujours ce même probleme

Normalement pour cette erreur c'est que tu a une erreur de \&quot;frappe\&quot; dans tes arguments
mais si ton script est celui présenté plus haut alors il est possible que ce soit les paramètres eux même qui soit pas bon
le mot de passe doit être crypté et au format SecureString

c'est cas provoque ce message d'erreur

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 9 ans 1 mois #23011 par Brice

alors il est possible que ce soit les paramètres eux même qui soit pas bon

le mot de passe doit être crypté et au format SecureString


Tu veux dire que le deuxième mot de passe doit être crypté lui aussi ?:huh:

Il y a aussi un problème sur le
[code:1]$ScriptShare = New-Object -ComObject cWScript.Network[/code:1]
de type :
[code:1]New-Object : La récupération de la fabrique de classes COM pour le composant avec le CLSID
{00000000-0000-0000-0000-000000000000} a échoué en raison de l'erreur suivante: 80040154 Classe non enregistrée
(Exception de HRESULT : 0x80040154 (REGDB_E_CLASSNOTREG)).
Au caractère C:\Users\adminvif\Desktop\RenameAndJoinDomainInOneReboot_BLB.ps1:65 : 16
+ $ScriptShare = New-Object -ComObject cWScript.Network
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ResourceUnavailable: (:«») [New-Object], COMException
+ FullyQualifiedErrorId : NoCOMClassIdentified,Microsoft.PowerShell.Commands.NewObjectCommand
[/code:1]

J'ai du mal a comprendre ce que cette commande fait clairement..Mon explication ne doit pas être la bonne :dry:

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.046 secondes
Propulsé par Kunena