New-PSDrive
Hiermee maakt u tijdelijke en permanente stations die zijn gekoppeld aan een locatie in een itemgegevensarchief.
Syntaxis
New-PSDrive
[-Name] <String>
[-PSProvider] <String>
[-Root] <String>
[-Description <String>]
[-Scope <String>]
[-Persist]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
De New-PSDrive
cmdlet maakt tijdelijke en permanente stations die zijn toegewezen aan of gekoppeld aan een locatie in een gegevensarchief, zoals een netwerkstation, een map op de lokale computer of een registersleutel, en permanente windows toegewezen netwerkstations die zijn gekoppeld aan een bestandssysteemlocatie op een externe computer.
Tijdelijke stations bestaan alleen in de huidige PowerShell-sessie en in sessies die u in de huidige sessie maakt. Ze kunnen elke naam hebben die geldig is in PowerShell en kan worden toegewezen aan elke lokale of externe resource. U kunt tijdelijke PowerShell-stations gebruiken om toegang te krijgen tot gegevens in het bijbehorende gegevensarchief, net zoals bij elk toegewezen netwerkstation. U kunt locaties wijzigen in het station, door gebruik te maken Set-Location
van en toegang te krijgen tot de inhoud van het station met behulp van Get-Item
of Get-ChildItem
.
Omdat tijdelijke stations alleen bekend zijn bij PowerShell, kunt u deze niet openen met behulp van Bestandenverkenner, Windows Management Instrumentation (WMI), Component Object Model (COM), Microsoft .NET Framework of met hulpprogramma's zoals net use
.
De volgende functies zijn toegevoegd aan New-PSDrive
PowerShell 3.0:
- Toegewezen netwerkstations. U kunt de parameter Persistent gebruiken om
New-PSDrive
toegewezen Windows-netwerkstations te maken. In tegenstelling tot tijdelijke PowerShell-stations zijn toegewezen Windows-netwerkstations niet sessiespecifiek. Ze worden opgeslagen in Windows en kunnen worden beheerd met behulp van standaard Windows-hulpprogramma's, zoals Bestandenverkenner en netgebruik. Toegewezen netwerkstations moeten een stationsletternaam hebben en verbonden zijn met een externe bestandssysteemlocatie. Wanneer uw opdracht lokaal is gericht, blijft de parameter Persistent het maken van een PSDrive niet behouden buiten het bereik waarin de opdracht wordt uitgevoerd. Als u in een script werktNew-PSDrive
en u het station voor onbepaalde tijd wilt behouden, moet u de puntbron van het script maken. Als u wilt dat een nieuw station voor onbepaalde tijd behouden blijft, voegt u de parameter Bereik toe aan uw opdracht en stelt u de waarde ervan in op Globaal. Zie about_Scripts voor meer informatie over dot-sourcing. - Externe stations. Wanneer een extern station is verbonden met de computer, voegt PowerShell automatisch een PSDrive toe aan het bestandssysteem dat het nieuwe station vertegenwoordigt. U hoeft PowerShell niet opnieuw op te starten. Op dezelfde manier verwijdert PowerShell, wanneer een extern station is losgekoppeld van de computer, automatisch de PSDrive die het verwijderde station vertegenwoordigt.
- Referenties voor UNC-paden (Universal Naming Convention).
Wanneer de waarde van de hoofdparameter een UNC-pad is, zoals \\Server\Share
de referentie die is opgegeven in de waarde van de referentieparameter , wordt gebruikt om de PSDrive te maken. Anders is referentie niet effectief wanneer u nieuwe bestandssysteemstations maakt.
Sommige codevoorbeelden gebruiken splatting om de lijnlengte te verminderen en de leesbaarheid te verbeteren. Zie about_Splatting voor meer informatie.
Notitie
Tenzij u de parameter Bereik gebruikt, worden PSDrives gemaakt in het bereik waarin de New-PSDrive
opdracht wordt uitgevoerd.
Voorbeelden
Voorbeeld 1: Een tijdelijk station maken dat is toegewezen aan een netwerkshare
In dit voorbeeld wordt een tijdelijk PowerShell-station gemaakt dat is toegewezen aan een netwerkshare.
New-PSDrive -Name "Public" -PSProvider "FileSystem" -Root "\\Server01\Public"
Name Provider Root
---- -------- ----
Public FileSystem \\Server01\Public
New-PSDrive
gebruikt de parameter Name om het PowerShell-station met de naam Public
en de PSProvider-parameter op te geven om de PowerShell-provider FileSystem
op te geven. De hoofdparameter geeft het UNC-pad van de netwerkshare op.
De inhoud van een PowerShell-sessie weergeven: Get-ChildItem -Path Public:
Voorbeeld 2: Een tijdelijk station maken dat is toegewezen aan een lokale map
In dit voorbeeld wordt een tijdelijk PowerShell-station gemaakt dat toegang biedt tot een map op de lokale computer.
$parameters = @{
Name = "MyDocs"
PSProvider = "FileSystem"
Root = "C:\Users\User01\Documents"
Description = "Maps to my My Documents folder."
}
New-PSDrive @parameters
Name Provider Root
---- -------- ----
MyDocs FileSystem C:\Users\User01\Documents
Met Splatting worden de parametersleutels en -waarden gemaakt. Met de parameter Name geeft u de naam van het station, MyDocs. De parameter PSProvider geeft de PowerShell-provider FileSystem
op. De hoofdmap geeft de map van de lokale computer op. De beschrijvingsparameter beschrijft het doel van het station. New-PSDrive
gebruikt de geplatte parameters om het MyDocs
station te maken.
De inhoud van een PowerShell-sessie weergeven: Get-ChildItem -Path MyDocs:
Voorbeeld 3: Een tijdelijk station voor een registersleutel maken
In dit voorbeeld wordt een tijdelijk PowerShell-station gemaakt dat toegang biedt tot een registersleutel. Er wordt een station gemaakt met de naam MyCompany dat is toegewezen aan de HKLM:\Software\MyCompany
registersleutel.
New-PSDrive -Name "MyCompany" -PSProvider "Registry" -Root "HKLM:\Software\MyCompany"
Name Provider Root
---- -------- ----
MyCompany Registry HKLM:\Software\MyCompany
New-PSDrive
gebruikt de parameter Name om het PowerShell-station met de naam MyCompany
en de PSProvider-parameter op te geven om de PowerShell-provider Registry
op te geven. De hoofdparameter geeft de registerlocatie op.
De inhoud van een PowerShell-sessie weergeven: Get-ChildItem -Path MyCompany:
Voorbeeld 4: Een permanent toegewezen netwerkstation maken met behulp van referenties
In dit voorbeeld wordt een netwerkstation toegewezen dat is geverifieerd met de referenties van een domeinserviceaccount. Zie de beschrijving van de referentieparameter voor meer informatie over het PSCredential-object waarin referenties worden opgeslagen en hoe wachtwoorden worden opgeslagen als secureString.
$cred = Get-Credential -Credential Contoso\ServiceAccount
New-PSDrive -Name "S" -Root "\\Server01\Scripts" -Persist -PSProvider "FileSystem" -Credential $cred
Net Use
Status Local Remote Network
---------------------------------------------------------
OK S: \\Server01\Scripts Microsoft Windows Network
Notitie
Als u het bovenstaande codefragment in een script gebruikt, stelt u de parameterwaarde Bereik in op 'Globaal' om ervoor te zorgen dat het station zich buiten het huidige bereik blijft bevinden.
In $cred
de variabele wordt een PSCredential-object opgeslagen dat de referenties van het serviceaccount bevat. Get-Credential
vraagt u om het wachtwoord in te voeren dat is opgeslagen in een SecureString.
New-PSDrive
maakt het toegewezen netwerkstation met behulp van verschillende parameters. De naam geeft de S
stationsletter die door Windows wordt geaccepteerd. en Root definieert \\Server01\Scripts
als de locatie op een externe computer. Persistent maakt een toegewezen Windows-netwerkstation dat is opgeslagen op de lokale computer. PSProvider geeft de FileSystem
provider op. Referentie gebruikt de $cred
variabele om de referenties van het serviceaccount op te halen voor verificatie.
Het toegewezen station kan worden weergegeven op de lokale computer in PowerShell-sessies, Bestandenverkenner en met hulpprogramma's zoals net use. De inhoud van een PowerShell-sessie weergeven: Get-ChildItem -Path S:
Voorbeeld 5: Permanente en tijdelijke stations maken
In dit voorbeeld ziet u het verschil tussen een permanent toegewezen netwerkstation en een tijdelijk PowerShell-station dat is toegewezen aan dezelfde netwerkshare.
Als u de PowerShell-sessie sluit en vervolgens een nieuwe sessie opent, is de tijdelijke PSDrive:
sessie niet beschikbaar, maar is het permanente X:
station wel beschikbaar. Wanneer u besluit welke methode u moet gebruiken om netwerkstations toe te wijzen, moet u overwegen hoe u het station gaat gebruiken. Bijvoorbeeld of het permanent moet zijn en of het station zichtbaar moet zijn voor andere Windows-functies.
# Create a temporary PowerShell drive called PSDrive:
# that's mapped to the \\Server01\Public network share.
New-PSDrive -Name "PSDrive" -PSProvider "FileSystem" -Root "\\Server01\Public"
# Use the Persist parameter of New-PSDrive to create the X: mapped network drive,
# which is also mapped to the \\Server01\Public network share.
New-PSDrive -Persist -Name "X" -PSProvider "FileSystem" -Root "\\Server01\Public"
# Now, you can use the Get-PSDrive drive cmdlet to examine the two drives.
# The drives appear to be the same, although the network share name appears only
# in the root of the PSDrive: drive.
Get-PSDrive -Name "PSDrive", "X"
Name Provider Root
---- -------- ----
PsDrive FileSystem \\Server01\public
X FileSystem X:\
# Get-Member cmdlet shows that the drives have the same object type,
# System.Management.Automation.PSDriveInfo.
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()
...
# Net Use and Get-CimInstance for the Win32_LogicalDisk class,
# and Win32_NetworkConnection class find only the persistent X: drive.
# PowerShell temporary drives are known only to PowerShell.
Net Use
Get-CimInstance Win32_LogicalDisk | Format-Table -Property DeviceID
Get-CimInstance Win32_NetworkConnection
Status Local Remote Network
--------------------------------------------------------
OK X: \\contoso-pc\data Microsoft Windows Network
deviceid
--------
C:
D:
X:
LocalName RemoteName ConnectionState Status
--------- ---------- --------------- ------
X: \\products\public Disconnected Unavailable
Voorbeeld 6: Permanente schijf maken in een script
PSDrives worden gemaakt in het bereik waarin de New-PSDrive
opdracht wordt uitgevoerd. Wanneer de opdracht wordt uitgevoerd binnen een script, is de stationstoewijzing lokaal voor het script. Wanneer het script wordt afgesloten, is het station niet meer beschikbaar.
New-PSDrive -Persist -Name "X" -PSProvider "FileSystem" -Root "\\Server01\Public" -Scope Global
Als u ervoor wilt zorgen dat het station buiten het script beschikbaar is, moet u de parameter Bereik gebruiken om het station in het globale bereik te maken.
Parameters
-Confirm
Hiermee wordt u gevraagd om bevestiging voordat u de cmdlet uitvoert.
Type: | SwitchParameter |
Aliassen: | cf |
Position: | Named |
Default value: | False |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Credential
Hiermee geeft u een gebruikersaccount op dat gemachtigd is om deze actie uit te voeren. Standaard is dit de huidige gebruiker.
Aangezien PowerShell 3.0, wanneer de waarde van de parameter Root een UNC-pad is, kunt u referenties gebruiken om bestandssysteemstations te maken.
Typ een gebruikersnaam, zoals User01 of Domain01\User01, of voer een PSCredential-object in dat is gegenereerd door de Get-Credential
cmdlet. Als u een gebruikersnaam typt, wordt u gevraagd het wachtwoord in te voeren.
Referenties worden opgeslagen in een PSCredential-object en het wachtwoord wordt opgeslagen als SecureString.
Notitie
Zie Hoe veilig is SecureString SecureString?voor meer informatie over SecureString-gegevensbeveiliging.
Type: | PSCredential |
Position: | Named |
Default value: | Current user |
Vereist: | False |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-Description
Hiermee geeft u een korte tekstbeschrijving van het station. Typ een willekeurige tekenreeks.
Als u de beschrijvingen van alle stations van de sessie wilt bekijken, Get-PSDrive | Format-Table Name, Description
.
Als u de beschrijving van een bepaald station wilt zien, typt (Get-PSDrive <DriveName>).Description
u .
Type: | String |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-Name
Hiermee geeft u een naam voor het nieuwe station. Gebruik een stationsletter voor permanente toegewezen netwerkstations. Voor tijdelijke PowerShell-stations bent u niet beperkt tot stationsletters en gebruikt u een geldige tekenreeks.
Type: | String |
Position: | 0 |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-Persist
Geeft aan dat deze cmdlet een toegewezen Windows-netwerkstation maakt. De parameter Persistent is alleen beschikbaar in Windows.
Toegewezen netwerkstations worden opgeslagen in Windows op de lokale computer. Ze zijn permanent, niet sessiespecifiek en kunnen worden bekeken en beheerd in Bestandenverkenner en andere hulpprogramma's.
Wanneer u de opdracht lokaal bereikt, zonder dot-sourcing, blijft de parameter Persistent het maken van een PSDrive niet behouden buiten het bereik waarin u de opdracht uitvoert. Als u in een script uitvoert New-PSDrive
en u wilt dat het nieuwe station voor onbepaalde tijd behouden blijft, moet u een puntbron van het script maken. Als u wilt afdwingen dat een nieuw station behouden blijft, geeft u Global op als de waarde van de parameter Bereik en neemt u Persistent op in uw opdracht.
De naam van het station moet een letter zijn, zoals D
of E
. De waarde van de rootparameter moet een UNC-pad van een andere computer zijn. De waarde van de parameter PSProvider moet zijn FileSystem
.
Gebruik de Remove-PSDrive
cmdlet om de verbinding met een toegewezen Windows-netwerkstation te verbreken. Wanneer u een toegewezen Windows-netwerkstation loskoppelt, wordt de toewijzing definitief van de computer verwijderd, niet alleen uit de huidige sessie.
Toegewezen netwerkstations zijn specifiek voor een gebruikersaccount. Toegewezen stations die zijn gemaakt in sessies met verhoogde bevoegdheid of sessies met behulp van de referenties van een andere gebruiker, zijn niet zichtbaar in sessies die zijn gestart met verschillende referenties.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Vereist: | False |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-PSProvider
Hiermee geeft u de PowerShell-provider op die stations van dit type ondersteunt.
Als het station bijvoorbeeld is gekoppeld aan een netwerkshare of bestandssysteemmap, is FileSystem
de PowerShell-provider. Als het station is gekoppeld aan een registersleutel, is Registry
de provider .
Tijdelijke PowerShell-stations kunnen worden gekoppeld aan elke PowerShell-provider. Toegewezen netwerkstations kunnen alleen worden gekoppeld aan de FileSystem
provider.
Gebruik de Get-PSProvider
cmdlet om een lijst met de providers in uw PowerShell-sessie weer te geven.
Type: | String |
Position: | 1 |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-Root
Hiermee geeft u de locatie van het gegevensarchief waaraan een PowerShell-station is toegewezen.
Geef bijvoorbeeld een netwerkshare op, zoals \\Server01\Public
een lokale map, zoals C:\Program Files
, of een registersleutel, zoals HKLM:\Software\Microsoft
.
Tijdelijke PowerShell-stations kunnen worden gekoppeld aan een lokale of externe locatie op elk ondersteund providerstation. Toegewezen netwerkstations kunnen alleen worden gekoppeld aan een bestandssysteemlocatie op een externe computer.
Type: | String |
Position: | 2 |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-Scope
Hiermee geeft u een bereik voor het station. De acceptabele waarden voor deze parameter zijn: Globaal, Lokaal en Script, of een getal ten opzichte van het huidige bereik. Bereiken getal 0 tot en met het aantal bereiken. Het huidige bereiknummer is 0 en de bovenliggende waarde is 1. Zie about_Scopes voor meer informatie.
Type: | String |
Position: | Named |
Default value: | Local |
Vereist: | False |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-WhatIf
Hiermee wordt weergegeven wat er zou gebeuren als u de cmdlet uitvoert. De cmdlet wordt niet uitgevoerd.
Type: | SwitchParameter |
Aliassen: | wi |
Position: | Named |
Default value: | False |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
Invoerwaarden
None
U kunt geen objecten doorsluisen naar deze cmdlet
Uitvoerwaarden
Met deze cmdlet wordt een PSDriveInfo-object geretourneerd dat het gemaakte station vertegenwoordigt.
Notities
PowerShell bevat de volgende aliassen voor Get-PSDrive
:
- Alle platforms:
ndr
- Windows:
mount
New-PSDrive
is ontworpen om te werken met de gegevens die door elke provider worden weergegeven. Als u de providers wilt weergeven die beschikbaar zijn in uw sessie, gebruikt u Get-PSProvider
. Zie about_Providers voor meer informatie over providers.
Toegewezen netwerkstations zijn specifiek voor een gebruikersaccount. Toegewezen stations die zijn gemaakt in sessies met verhoogde bevoegdheid of sessies met behulp van de referenties van een andere gebruiker, zijn niet zichtbaar in sessies die zijn gestart met verschillende referenties.