Question new-psdrive dans une fonction

Plus d'informations
il y a 16 ans 7 mois #5035 par MiKL
new-psdrive dans une fonction a été créé par MiKL
Bonjour,

J'ai le bout de code suivant:
[code:1]function montage(){
$lecteur = new-psdrive -name M -psprovider FileSystem -root \\$SERVEUR\c$ |out-null
if ($? -ne 'True')
{'***** ERROR: Impossible de monter le lecteur M sur \$SERVEUR\c$'}
else {'lecteur M monté'}
}

function list(){gci 'M:'}

montage
list
[/code:1]
Lorsque je rajoute un \"gci M:\" dans le else de ma fonction montage, je liste bien le lecteur M:

Par contre je n'accède plus au lecteur M: sorti de cette fonction:Lecteur introuvable. Il n'existe aucun lecteur nommé « M »

Merci pour votre aide.<br><br>Message édité par: MiKL, à: 5/08/09 12:19

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

Plus d'informations
il y a 16 ans 7 mois #5037 par MiKL
Réponse de MiKL sur le sujet Re:new-psdrive dans une fonction
Je ne vois pas la solution pour que le montage sur M: soit accessible hors de la fonction et ne trouve rien sur le Net.

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

Plus d'informations
il y a 16 ans 7 mois #5055 par Laurent Dardenne
Salut,
la réponse se trouve dans l'aide en ligne de PS :

-scope &lt;string&gt;
Accepte un index identifiant la portée dans laquelle installer le lecteur.

[code:1]
function montage(){
new-psdrive -name M -psprovider FileSystem -root c:\temp -scope 1|out-null
if ($? -ne 'True')
{'***** ERROR: Impossible de monter le lecteur M sur \$SERVEUR\c$'}
else {'lecteur M monté'}
}
[/code:1]
Avec scope 1 on déclare le lecteur M dans la portée appelant la fonction montage, le mieux serait de paramètrer cette fonction.

Tutoriels PowerShell

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

Plus d'informations
il y a 16 ans 7 mois #5081 par MiKL
Réponse de MiKL sur le sujet Re:new-psdrive dans une fonction
Bonsoir,

Merci pour la réponse
J'ai mis -scope global puisque dans ceci est dans un script externe ne contenant que des fonctions que je source.

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

Plus d'informations
il y a 16 ans 7 mois #5108 par Arnaud Petitjean
Bonjour !

Juste une petite précision, ton test n'est pas correct même si cela semble fonctionner. En effet, tu compares une valeur booléenne à une chaîne.

Pour être correct tu devrais écrire ceci :

[code:1]if ($? -ne $true)[/code:1]

ou simplifier le test en écrivant simplement :

[code:1]if ($?) # idem $? -eq $true
{ faire ceci }
else
{ faire cela }[/code:1]

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.

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