Question solution d'externalisation

Plus d'informations
il y a 16 ans 8 mois #1498 par daniel soares
hello
j'ai un nouveau probleme qui trouvera surement sa solution bientot grace a vous :)
mais la j'avoue que je bloque avant meme la creation de la premiere ligne de script

la demande est la suivante

depuis un serveur sur lequel j'ai installé powershell
je veux aller copier des fichiers sur des serveurs non pourvus de powershell pour les stocker en local

et pour faciliter les choses ces differents serveurs n'utilisent pas tous le meme compte admin

mon idee est de lancer un net use sur le serveur distant

le pb est que pour lancer un net use -credential ne fonctionne pas donc il faut que j'utilise un mot de passe en clair (inacceptable)

j'ai donc essayer invoke-item ou invoke-expression pour lancer une nouvelle session powershell avec le compte correspondant mais j'ai des messages d'erreur
qqun peut il m'aider?

[code:1]
PS C:\daniel> invoke-item \"c:\windows\system32\WindowsPowerShell\v1.0\powershell.exe\" -credential moncompte
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 line:1 char:12
[/code:1]

[code:1]
PS C:\daniel> invoke-expression powershell -credential moncompte
Invoke-Expression : [localhost] Le service Gestion des services Web ne prend pas en charge la demande.
At line:1 char:18
+ invoke-expression <<<< powershell -credential hodtcds
PS C:\daniel>
[/code:1]<br><br>Message édité par: Dan, à: 17/01/08 15:25

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

Plus d'informations
il y a 16 ans 8 mois #1501 par Arnaud Petitjean
Hello Dan,

Tu peux monter un lecteur réseau avec le code suivant :
[code:1]$obj = New-Object -com Wscript.Network
$obj.MapNetworkDrive(\&quot;x:\&quot;, \&quot;\\serveur\partage\&quot;)
[/code:1]

En jetant un oeil à la fiche MSDN sur la méthode MapNetworkDrive il s'avère que tu peux passer (en clair uniquement) les paramètres Username et Password comme cela :

[code:1]$obj = New-Object -com Wscript.Network
$obj.MapNetworkDrive(\&quot;x:\&quot;, \&quot;\\serveur\partage\&quot;, \&quot;arnaud\&quot;, \&quot;P@ssw0rd\&quot;)
[/code:1]

Cependant la bonne nouvelle est que grâce à PowerShell il est possible de sécuriser ces chaines pour ne pas les rendre visibles dans ton script. Regarde ici pour sécuriser une chaine , et là pour lire une chaine sécurisée .

L'idée est bien entendu et que tu stockes tes chaines sécurisées dans un fichier car il faut bien rentrer les mots de passe quelque part. Janel a posté il y a quelque temps un script de ce genre pour exporter des credentials dans un fichier, regarde ici . Ca devrait t'aider pour t'en inspirer.

A bientôt de te lire,

Arnaud<br><br>Message édité par: Arnaud, à: 17/01/08 22:15

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 16 ans 8 mois #1506 par daniel soares
Réponse de daniel soares sur le sujet Re:solution d'externalisation
Merci Arnaud pour ta reponse rapide et tres complete
je vais essayer la solution du codage du mdp dans le scrypt

j'ai mis en place la solution \&quot;d'export de mdp dans un fichier\&quot; mais je ne savais que l'utiliser avec le parametre -credential je ne savais pas le retranscrire en texte ensuite.
mais a priori c'est possible donc j'investigue aussi ce point
je n'hesiterai pas a revenir vers toi si j'ai des questions et je publierai mon code dés qu'il est pret.

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

Plus d'informations
il y a 16 ans 7 mois #1543 par daniel soares
Réponse de daniel soares sur le sujet Re:solution d'externalisation
ca fonctionne!!
par contre bug dans powershell?
ou explication douteuse dans msdn


il y a une valeur optionelle qui n'est optionelle que lorsque les parametres qui suivent ne sont pas utilisés
ce qui donne pour le code
[code:1]
$obj.MapNetworkDrive(\&quot;\&quot;, \&quot;\\serveur\partage\&quot;,\&quot;false\&quot;,\&quot;daniel\&quot;, \&quot;P@ssw0rd\&quot;«») [/code:1]
(n'ayant pas besoin de lecteur je laisse le parametre vide)

je publie la premiere parti de mon code demain
verification d'externalisation je controle que des images ghost du mois en cours ont bien ete externalisées dans un serveur de fichier la creation d'images etant mensuel

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

Plus d'informations
il y a 16 ans 7 mois #1544 par Arnaud Petitjean
Bonsoir Dan,

Je crois pas qu'il y a d'erreur de la part de MSDN; simplement il est obligatoire de préciser une lettre de lecteur. En effet si tel n'était pas le cas, cette méthode ne porterait certainement pas ce nom ;).

Arnaud
PS : si tu penses que ton script peut être réutilisé par d'autres, je te propose de le poster dans la rubrique du forum \&quot;contributions à la communauté\&quot;. Merci aussi d'ajouter quelques exemples d'usages.

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.

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