Question runas avec invoke-expression

Plus d'informations
il y a 15 ans 11 mois #2231 par daniel soares
j'ai une recherche un peux complexe alors je vais essayer de l'expliquer le mieux possible

j'ai un poste xp avec powershell v2
un parc de serveurs sur lesquels je n'ai pas powershell ni winrm
ce parc est heterogene en matiere de comptes
1 parti utilise le compte local admin1 comme compte admin
1 parti utilise le compte local admin2
1 parti utilise le compte admin 3
etc

sur mon poste xp tous ces comptes sont crees et admins du poste
lorsque j'ouvre une session powershell avec un de ces comptes je peux lancer le script suivant sur les serveurs ayant ce compte dans le groupe administrateurs
[code:1]
$connexion=[ADSI]\"WinNT://monserveur/administrators,group\"
$connexion.psbase.invoke('members') | foreach{$_.gettype().invokemember('name','getproperty',$null,$_,$null)}

[/code:1]
pour recuperer les comptes admin du poste distant

ce que je voudrai faire a partir de cet etat
c'est creer un script qui puisse lancer ce scripte en tant que adminx pour interroger les serveurs correspondants a ce compte

suis je bien clair? :)

j'ai l'impression que je peux le faire avec invoke-item invoke-expression ou start-psjob
ce pour lancer une session powershell en tant que
afin d'executer le script d'interrogation sous cette session

mais pour l'instant mes essais sont infructueux
j'avoue que je ne maitrise pas trop ces commandlettes<br><br>Message édité par: Dan, à: 16/05/08 09:52

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

Plus d'informations
il y a 15 ans 11 mois #2234 par Robin Lemesle
Je suis pas certain d'avoir tout compris, mais je suis pas reveillé aussi :silly:

J'ai comme l'impression que les credentials (get-credential) pourraient repondre à ton besoin.

Connais-tu cette commande ?

Robin MVP PowerShell

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

Plus d'informations
il y a 15 ans 11 mois #2238 par daniel soares
absolument c'est pourquoi je veux utiliser une des commandlettes evoquees pour pouvoir beneficier de cette fonctionalité pour ouvrir une \&quot;session\&quot; powershell
le pb c'est que
[ADSI] ne connait pas les credentials donc je ne peux pas lui passer le compte avec lequel se connecter sur la machine distante

alors ma solution de contournement consiste a ouvrir une \&quot;session\&quot; powershell avec des credentials et de cette session je lance les comandes [ADSI]

tout ca je suis capable de le faire manuellement et ca fonctionne je voudrai maintenant l'automatiser dans un script et la je bloque .. quand j'utilise invoke-expression avec les credentials pour lancer powershell ca fige.


suis-je plus claire? :dry:

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

Plus d'informations
il y a 15 ans 11 mois #2261 par Robin Lemesle
Utilises-tu la V2 de powershell ? si oui, un simple [code:1]Start-PSJob \&quot;C:\ps\script.ps1\&quot; -credential (get-
credential)
[/code:1] pourrait résoudre ton problème. Je regarde une solution avec la V1.

Robin MVP PowerShell

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

Plus d'informations
il y a 15 ans 11 mois #2262 par Robin Lemesle
Arf, j'y avais plus pensé !
Utilises-tu le racourci [ADSI] ?
exemple :

[code:1]$connexion =[ADSI]'LDAP://requete'[/code:1]

Si tel est le cas essaies de d'utiliser la classe du Framework. Exemple :

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

Tu peux poster ta requête sinon.

Robin

Robin MVP PowerShell

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

Plus d'informations
il y a 15 ans 11 mois #2270 par daniel soares
Merci Robin
je vais tester la version psjob

pour ta deuxieme solution est elle valable aussi avec le provider winnt:?
[code:1]
$connexion = New-Object System.directoryServices.DirectoryEntry('winnt://requete'
[/code:1]

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

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