Question ADSI connexion sur machine distante

Plus d'informations
il y a 18 ans 1 mois #2140 par daniel soares
bonjour
je veux interroger la base sam de +sieurs machines distantes pour changer des mots de passe
mais je n'arrive pas à trouver l'info pour ajouter des credentials a la connexion

$connexion=[ADSI]\"WinNT://serveurdistant\"

est ce que c'est possible?

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

Plus d'informations
il y a 18 ans 1 mois #2146 par Robin Lemesle
Utilises-tu le script avec les droits admiistrateurs. Car si tel est le cas, il n'y a pas de manipulation particulière à faire.

Je vais tout de même vérifier. Quel message d'erreur te retourne PowerShell ?<br><br>Message édité par: Robin, à: 9/04/08 22:19

Robin MVP PowerShell

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

Plus d'informations
il y a 18 ans 1 mois #2153 par daniel soares
[code:1]
PS C:\daniel&gt; $connexion=[ADSI]\&quot;WinNT://si-elr01prod01/administrateurs,group\&quot;
PS C:\daniel&gt; $connexion.psbase.invoke('members') | foreach{$_.gettype().invokemember('name','getproperty',$null,$_,$null)}
Exception calling \&quot;Invoke\&quot; with \&quot;2\&quot; argument(s): \&quot;Accès refusé.
\&quot;
At line:1 char:25
+ $connexion.psbase.invoke &lt;&lt;&lt;&lt; ('members') | foreach{$_.gettype().invokemember('name','getproperty',$null,$_,$null)}
PS C:\daniel&gt;
[/code:1]

j'ai un acces refusé.
en fait je fais cette manip depuis mon poste xp
et je veux interroger tous les serveurs de mon park
je ne suis pas logué sur ma station avec le compte admin des serveurs distants
par contre si adsi ne prevoit pas de possibilité de credential peut etre vaut il mieux dans mon script que je demarre une session powershell en tant que ( mais je ne connais pas l'equivalent de runas sur powershell )

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

Plus d'informations
il y a 18 ans 1 mois #2159 par Arnaud Petitjean
Salut Dan,

Là encore le message est clair : tu as un accès refusé donc un problème de droits. En effet, comme le soulignes Robin, pour le script de la bibliothèque fonctionne il faut que tu sois loggé en tant qu'admin de la machine distante ou en admin du domaine.

De mémoire on ne peut pas utiliser le \&quot;raccourci\&quot; [ADSI] avec d'autres credentials que celles de l'utilisateur courant. Il faut obligatoirement passer par la classe du Framework qui va bien.

Si tu es un lecteur de notre livre, regarde page 393 - Connexion à un domaine distant sous une autre identité.

Sinon de façon simple, tu dois remplacer ta chaine de connexion :
[code:1]$connexion =[ADSI]'LDAP://requete'

par
$connexion = New-Object System.directoryServices.DirectoryEntry('LDAP://requete', 'login', 'mot de passe')
[/code:1]

Ceci étant je viens de m'apperçevoir que j'ai été trop vite en besogne en te donnant une solution qui marche pour une connexion AD mais certainement pas pour une machine distante. Il va falloir creuser un peu... Si j'ai de l'info, je te la communiquerai.

Arnaud

MVP PowerShell et créateur de ce magnifique forum :-)
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?

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

Plus d'informations
il y a 18 ans 1 mois #2165 par daniel soares
tant mieux Arnaud car cette solution me donne des idées pour changer mon mot de passe sur mes 4 domaines en un script

pour ce qui est de l'acces a la base sam des serveurs distants
la particularité du parc sur lequel je travail est qu'il y a au plus 3 comptes locaux pour administrer la totalité des serveurs

donc si il n'y a pas d'option de credential pour le provider NT j'ai une solution qui consiste a creer ces comptes locaux sur ma machine avec le meme mot de passe que sur les serveurs et ensuite par script lancer 3 sessions porwershell en tant que (comptes) pour pouvoir faire les interrogations et modifications ADSI
mais ca coince

lorsque je lance la commande suivante
[code:1]
Invoke-Item 'c:\windows\system32\WindowsPowerShell\v1.0\powershell.exe' -Credential compteadmindistant
[/code:1]
j'ai l'erreur

Invoke-Item : Cannot retrieve the dynamic parameters for the cmdlet. Attempting to perform the MakePath operation operation on the 'FileSystem' provi
der failed for path ''. The provider does not support the use of credentials. Please perform the operation again without specifying credentials.
At C:\powertools\temp1.ps1:1 char:12
+ Invoke-Item &lt;&lt;&lt;&lt; 'c:\windows\system32\WindowsPowerShell\v1.0\powershell.exe' -Credential adminprod
PS C:\Documents and Settings\dsoares\Bureau&gt; $shell = new-object -com WScript.Shell

alors que d'apres la doc invoke-item sait fonctionner avec le parametre -credential

du coup je ne sais pas ouvrir depuis un script powershell une session powershell en tant que nouvel utilisateur.
ce que j'ai reussi a faire en cmd avec la commande runas

je suis persuadé que la solution existe
pour info je suis en v2 ctp

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

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