Partager via


New-PSDrive

Crée un lecteur Windows PowerShell dans la session active.

Syntaxe

New-PSDrive [-Name] <string> [-PSProvider] <string> [-Root] <string> [-Credential <PSCredential>] [-Description <string>] [-Scope <string>] [-Confirm] [-WhatIf] [-UseTransaction] [<CommonParameters>]

Description

L'applet de commande New-PSDrive crée un lecteur Windows PowerShell qui est « mappé » ou associé à un emplacement dans un magasin de données (un lecteur réseau, un répertoire sur l'ordinateur local ou une clé de Registre, par exemple).

Vous pouvez utiliser les lecteurs Windows PowerShell que vous créez pour accéder aux données figurant dans le magasin de données associé, comme vous le feriez avec n'importe quel lecteur mappé. Vous pouvez modifier des emplacements sur le lecteur (en utilisant « set-location », « cd » ou « chdir ») et accéder au contenu du lecteur (en utilisant « get-item », « get-childitem » ou « dir »).

Les lecteurs Windows PowerShell ne sont toutefois reconnus que par Windows PowerShell. Vous ne pouvez pas y accéder à l'aide de l'Explorateur Windows, de Windows Management Instrumentation (WMI), d'un modèle COM (COM, Component Object Model), de Microsoft .NET Framework, ou en utilisant des outils tels que Net Use.

Les lecteurs Windows PowerShell n'existent que dans la session Windows PowerShell active. Pour rendre un lecteur persistant, vous pouvez exporter la session à laquelle vous avez ajouté le lecteur ou vous pouvez enregistrer une commande New-PSDrive dans votre profil Windows PowerShell.

Pour supprimer un lecteur qui été créé par New-PSDrive, utilisez l'applet de commande Remove-PSDrive.

Paramètres

-Credential <PSCredential>

Spécifie un compte d'utilisateur qui a l'autorisation d'exécuter cette action. La valeur par défaut est l'utilisateur actuel.

Tapez un nom d'utilisateur, tel que « User01 » ou « Domain01\User01 ». Vous pouvez également entrer un objet PSCredential, tel que celui généré par l'applet de commande Get-Credential. Si vous tapez un nom d'utilisateur, vous êtes invité à entrer un mot de passe.

Ce paramètre n'est pas pris en charge par les fournisseurs installés avec Windows PowerShell.

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

true (ByPropertyName)

Accepter les caractères génériques ?

false

-Description <string>

Spécifie une courte description du lecteur. Tapez une chaîne.

Pour afficher la description de tous les lecteurs Windows PowerShell présents sur votre système, tapez : « get-psdrive | format name, description ». Pour afficher la description d'un lecteur Windows PowerShell particulier, tapez : « (get-psdrive <DriveName>).description ».

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

true (ByPropertyName)

Accepter les caractères génériques ?

false

-Name <string>

Spécifie le nom du nouveau lecteur. Vous pouvez attribuez toute chaîne valide à ce nom. Vous n'êtes pas limité aux lettres de lecteur. Les noms de lecteurs Windows PowerShell respectent la casse.

Obligatoire ?

true

Position ?

1

Valeur par défaut

Accepter l'entrée de pipeline ?

true (ByPropertyName)

Accepter les caractères génériques ?

false

-PSProvider <string>

Spécifie le fournisseur Windows PowerShell qui prend en charge les lecteurs de ce type.

Par exemple, si les lecteurs Windows PowerShell sont associés à un partage réseau ou à un répertoire de système de fichiers, le fournisseur Windows PowerShell est « FileSystem ». Si le lecteur Windows PowerShell est associé à une clé de Registre, le fournisseur est « Registry ».

Pour afficher la liste des fournisseurs présents dans votre session Windows PowerShell, tapez « get-psprovider ».

Obligatoire ?

true

Position ?

2

Valeur par défaut

Accepter l'entrée de pipeline ?

true (ByPropertyName)

Accepter les caractères génériques ?

false

-Root <string>

Spécifie l'emplacement du magasin de données auquel le lecteur Windows PowerShell est mappé.

Vous pouvez spécifier un partage réseau (\\Server01\Public, par exemple), un répertoire local (C:\Program Files, par exemple) ou une clé de Registre (HKLM:\Software\Microsoft, par exemple).

Obligatoire ?

true

Position ?

3

Valeur par défaut

Accepter l'entrée de pipeline ?

true (ByPropertyName)

Accepter les caractères génériques ?

false

-Scope <string>

Spécifie une portée pour le lecteur. Les valeurs valides sont « Global », « Local » ou « Script », ou un nombre relatif à la portée actuelle (0 jusqu'au nombre de portées, où 0 est la portée actuelle et 1 son parent). « Local » est la valeur par défaut. Pour plus d'informations, consultez about_Scopes.

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

true (ByPropertyName)

Accepter les caractères génériques ?

false

-Confirm

Vous invite à confirmer l'exécution de la commande.

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-WhatIf

Décrit le résultat que vous obtiendriez en exécutant la commande, sans réellement l'exécuter.

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-UseTransaction

Inclut la commande dans la transaction active. Ce paramètre est valide uniquement lorsqu'une transaction est en cours. Pour plus d'informations, consultez about_Transactions.

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

<CommonParameters>

Cette applet de commande prend en charge les paramètres courants : -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer et -OutVariable. Pour plus d'informations, consultez about_Commonparameters.

Entrées et sorties

Le type d'entrée est le type des objets que vous pouvez diriger vers l'applet de commande. Le type de retour est le type des objets que l'applet de commande retourne.

Entrées

None

Vous ne pouvez pas diriger d'entrée vers cette applet de commande.

Sorties

System.Management.Automation.PSDriveInfo

Remarques

L'applet de commande New-PSDrive est conçue pour utiliser les données exposées par n'importe quel fournisseur. Pour répertorier les fournisseurs disponibles dans votre session, tapez « get-psprovider ». Pour plus d'informations, consultez about_Providers.

Exemple 1

C:\PS>new-psdrive -name P -psprovider FileSystem -root \\Server01\Public

Name       Provider      Root
----       --------      ----
P          FileSystem    \\Server01\Public

Description
-----------
Cette commande crée un lecteur Windows PowerShell qui fonctionne comme un lecteur réseau mappé sous Windows. La commande crée un lecteur Windows PowerShell nommé P: qui est mappé au partage réseau \\Server01\Public. 

Elle utilise le paramètre Name pour spécifier le nom du lecteur, le paramètre PSProvider pour spécifier le fournisseur FileSystem de Windows PowerShell et le paramètre Root pour spécifier le partage réseau.

Une fois la commande exécutée, le contenu du partage \\Server01\Public s'affiche sur le lecteur P:. Pour l'afficher, tapez : « dir p: ».





Exemple 2

C:\PS>new-psdrive -name MyDocs -psprovider FileSystem -root "C:\Documents and Settings\User01\My Documents" -Description "Maps to my My Documents folder."

Name       Provider      Root
----       --------      ----
MyDocs     FileSystem    C:\Documents and Settings\User01\My Documents

Description
-----------
Cette commande crée un lecteur Windows PowerShell qui permet d'accéder rapidement à un répertoire local. Elle crée un lecteur nommé MyDocs: qui est mappé au 
répertoire « C:\Documents and Settings\User01\My Documents » sur l'ordinateur local.

Elle utilise le paramètre Name pour spécifier le nom du lecteur, le paramètre PSProvider pour spécifier le fournisseur FileSystem de Windows PowerShell, le paramètre Root pour spécifier le chemin d'accès du dossier My Documents et le paramètre Description pour créer une description du lecteur.


Une fois la commande exécutée, le contenu du dossier My Documents s'affiche sur le lecteur MyDocs:. Pour l'afficher, tapez : « dir mydocs: ».





Exemple 3

C:\PS>new-psdrive -name MyCompany -psprovider Registry -root HKLM:\Software\MyCompany

Name       Provider      Root
----       --------      ----
MyCompany  Registry      HKEY_LOCAL_MACHINE\Software\MyCo...

Description
-----------
Cette commande crée un lecteur Windows PowerShell qui permet d'accéder rapidement à une clé de Registre fréquemment activée. Elle crée un lecteur nommé MyCompany qui est mappé à la clé de Registre HKLM\Software\MyCompany. 

Elle utilise le paramètre Name pour spécifier le nom du lecteur, le paramètre PSProvider pour spécifier le fournisseur Registry de Windows PowerShell et le paramètre Root pour spécifier la clé de Registre.


Une fois la commande exécutée, le contenu de la clé MyCompany s'affiche sur le lecteur MyCompany:. Pour l'afficher, tapez : « dir MyCompany: ».





Exemple 4

C:\PS>new-psdrive -name PsDrive -psprovider FileSystem -root \\Server01\Public

C:\PS> $drive = new-object -com wscript.network
C:\PS> $drive.MapNetworkDrive("X:", "\\Server01\Public")


C PS:\> get-psdrive public, x

Name       Provider      Root
----       --------      ----
PsDrive    FileSystem    \\Server01\public
X          FileSystem    X:\


C:\PS>get-psdrive psdrive, x | get-member

   TypeName: System.Management.Automation.PSDriveInfo
Name                MemberType Definition
----                ---------- ----------
CompareTo           Method     System.Int32 CompareTo(PSDriveInfo drive), 
Equals              Method     System.Boolean Equals(Object obj), 
GetHashCode         Method     System.Int32 GetHashCode()
...



C:\PS> net use
Status       Local     Remote                    Network
---------------------------------------------------------------------------
             X:        \\server01\public         Microsoft Windows Network


C:\PS> get-wmiobject win32_logicaldisk | ft deviceid
deviceid
--------
C:
D:
X:

C:\PS> get-wmiobject win32_networkconnection
LocalName                     RemoteName                    ConnectionState               Status
---------                     ----------                    ---------------               ------
X:                            \\products\public             Disconnected                  Unavailable

Description
-----------
Cet exemple montre la différence entre un lecteur Windows qui est mappé à un partage réseau et un lecteur Windows PowerShell qui est mappé à ce même partage réseau.

La première commande utilise l'applet de commande New-PSDrive pour créer un lecteur Windows PowerShell appelé PsDrive: qui est mappé au partage réseau \\Server01\Public.

Le deuxième jeu de commandes utilise l'applet de commande New-Object pour créer un objet COM Wscript.Network et utiliser ensuite sa méthode MapNetworkDrive pour mapper le partage réseau \\Server01\Public au lecteur X: sur l'ordinateur local. 

Vous pouvez maintenant examiner les deux lecteurs. Avec une commande de lecteur Get-PSDrive, les lecteurs semblent identiques, même si le nom de partage réseau ne s'affiche que dans la racine du lecteur PSDrive:.

L'envoi des objets de lecteur à Get-Member indique qu'ils ont le même type d'objet (System.Management.Automation.PSDriveInfo).

Toutefois, une commande « net use », une commande Get-WmiObject à la classe Win32_LogicalDisk et une commande Get-WmiObject à la classe Win32_NetworkConnection recherchent seulement le lecteur X: qui a été créé à l'aide de l'objet Wscript.Network. Cela s'explique par le fait que les lecteurs Windows PowerShell ne sont reconnus que par Windows PowerShell.

Lorsque vous fermez la session Windows PowerShell et que vous en ouvrez une nouvelle par la suite, le lecteur PSDrive: n'apparaît plus tandis que le lecteur X: reste persistant.

Lorsque vous choisissez la méthode de mappage des lecteurs réseau, prenez par conséquent en compte les éléments suivants : le mode d'utilisation du lecteur, la nécessité de persistance ou non du lecteur et la nécessité d'affichage ou non du lecteur pour les autres fonctionnalités de Windows.





Voir aussi

Concepts

about_Providers
Get-PSDrive
Remove-PSDrive