New-PSDrive
Ideiglenes és állandó meghajtókat hoz létre, amelyek egy elem adattárában lévő helyhez vannak társítva.
Syntax
New-PSDrive
[-Name] <String>
[-PSProvider] <String>
[-Root] <String>
[-Description <String>]
[-Scope <String>]
[-Persist]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
A New-PSDrive
parancsmag ideiglenes és állandó meghajtókat hoz létre, amelyek egy adattár egy helyéhez vannak hozzárendelve vagy ahhoz társítva, például hálózati meghajtót, a helyi számítógépen található könyvtárat vagy egy beállításkulcsot, valamint egy távoli számítógépen található fájlrendszer-helyhez társított állandó Windows-megfeleltetett hálózati meghajtókat.
Az ideiglenes meghajtók csak az aktuális PowerShell-munkamenetben és az aktuális munkamenetben létrehozott munkamenetekben léteznek. Bármilyen, a PowerShellben érvényes névvel rendelkezhetnek, és bármely helyi vagy távoli erőforráshoz leképezhetők. Ideiglenes PowerShell-meghajtók használatával is hozzáférhet a társított adattár adataihoz, ugyanúgy, mint bármely leképezett hálózati meghajtó esetén. A meghajtó helyeit módosíthatja a meghajtó használatával Set-Location
, és a meghajtó tartalmának a használatával Get-Item
vagy Get-ChildItem
használatával is elérheti.
Mivel az ideiglenes meghajtókat csak a PowerShell ismeri, nem érheti el őket a Fájlkezelő, a Windows Management Instrumentation (WMI), a komponensobjektum-modell (COM), a Microsoft .NET-keretrendszer vagy az olyan eszközök használatával, mint a net use
.
A Következő funkciók lettek hozzáadva a New-PSDrive
PowerShell 3.0-hoz:
- Leképezett hálózati meghajtók. A Windows-megfeleltetett hálózati meghajtók létrehozásához használhatja
New-PSDrive
a Persist paramétert. Az ideiglenes PowerShell-meghajtókkal ellentétben a Windows-megfeleltetett hálózati meghajtók nem munkamenet-specifikusak. A Windowsban vannak mentve, és szabványos Windows-eszközökkel, például Fájlkezelő és net-használattal kezelhetők. A leképezett hálózati meghajtóknak meghajtóbetűjellel kell rendelkezniük, és távoli fájlrendszer-helyhez kell csatlakozniuk. Ha a parancs hatóköre helyileg van korlátozva, nincs dot-sourcing, a Persist paraméter nem tárolja a PSDrive létrehozását azon a hatókörön túl, amelyben a parancs fut. Ha parancsfájlon belül futNew-PSDrive
, és azt szeretné, hogy a meghajtó határozatlan ideig megmaradjon, akkor pontforrásként kell használnia a szkriptet. A legjobb eredmény érdekében, ha egy új meghajtót határozatlan ideig meg szeretne őrizni, adja hozzá a Hatókör paramétert a parancshoz, és állítsa az értékét globálisra. További információ a dot-sourcingról: about_Scripts. - Külső meghajtók. Ha egy külső meghajtó csatlakozik a számítógéphez, a PowerShell automatikusan hozzáad egy PSDrive-ot az új meghajtót képviselő fájlrendszerhez. Nem kell újraindítania a PowerShellt. Hasonlóképpen, ha egy külső meghajtót leválasztanak a számítógépről, a PowerShell automatikusan törli az eltávolított meghajtót jelképező PSDrive-ot .
- Hitelesítő adatok az univerzális elnevezési konvenció (UNC) elérési útjaihoz.
Ha a gyökérparaméter értéke UNC elérési út, például \\Server\Share
a hitelesítő adat paraméter értékében megadott hitelesítő adatot használja a PSDrive létrehozásához. Ellenkező esetben a hitelesítő adatok nem hatékonyak új fájlrendszer-meghajtók létrehozásakor.
Egyes kódminták splatting használatával csökkentik a vonal hosszát és javítják az olvashatóságot. További információ: about_Splatting.
Feljegyzés
Ha nem használja a Hatókör paramétert, a PSDrive-k abban a hatókörben jönnek létre, amelyben a New-PSDrive
parancs fut.
Példák
1. példa: Hálózati megosztáshoz hozzárendelt ideiglenes meghajtó létrehozása
Ez a példa létrehoz egy ideiglenes PowerShell-meghajtót, amely egy hálózati megosztáshoz van leképezve.
New-PSDrive -Name "Public" -PSProvider "FileSystem" -Root "\\Server01\Public"
Name Provider Root
---- -------- ----
Public FileSystem \\Server01\Public
New-PSDrive
A Név paraméter használatával adja meg az elnevezett Public
PowerShell-meghajtót és a PSProvider paramétert a PowerShell-szolgáltató FileSystem
megadásához. A gyökérparaméter megadja a hálózati megosztás UNC elérési útját.
A PowerShell-munkamenet tartalmainak megtekintése: Get-ChildItem -Path Public:
2. példa: Helyi könyvtárhoz hozzárendelt ideiglenes meghajtó létrehozása
Ez a példa létrehoz egy ideiglenes PowerShell-meghajtót, amely hozzáférést biztosít a helyi számítógépen található könyvtárhoz.
$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
A Splatting létrehozza a paraméterkulcsokat és -értékeket. A Név paraméter megadja a meghajtó nevét, a MyDocsot. A PSProvider paraméter a PowerShell-szolgáltatót FileSystem
határozza meg. A gyökér megadja a helyi számítógép könyvtárát. A Leírás paraméter a meghajtó célját írja le. New-PSDrive
A meghajtó létrehozásához MyDocs
a kiszúrt paramétereket használja.
A PowerShell-munkamenet tartalmainak megtekintése: Get-ChildItem -Path MyDocs:
3. példa: Ideiglenes meghajtó létrehozása beállításkulcshoz
Ez a példa létrehoz egy ideiglenes PowerShell-meghajtót, amely hozzáférést biztosít egy beállításkulcshoz. Létrehoz egy MyCompany nevű meghajtót, amely a HKLM:\Software\MyCompany
beállításkulcshoz van hozzárendelve.
New-PSDrive -Name "MyCompany" -PSProvider "Registry" -Root "HKLM:\Software\MyCompany"
Name Provider Root
---- -------- ----
MyCompany Registry HKLM:\Software\MyCompany
New-PSDrive
A Név paraméter használatával adja meg az elnevezett MyCompany
PowerShell-meghajtót és a PSProvider paramétert a PowerShell-szolgáltató Registry
megadásához. A gyökérparaméter megadja a beállításjegyzék helyét.
A PowerShell-munkamenet tartalmainak megtekintése: Get-ChildItem -Path MyCompany:
4. példa: Állandó leképezett hálózati meghajtó létrehozása hitelesítő adatokkal
Ez a példa egy tartományi szolgáltatásfiók hitelesítő adataival hitelesített hálózati meghajtót képez le. A hitelesítő adatokat tároló PSCredential objektumról és a jelszavak SecureStringként való tárolásáról a hitelesítőadat-paraméter leírásában talál további információt.
$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
Feljegyzés
Ne feledje, hogy ha a fenti kódrészletet egy szkriptben használja, állítsa a Hatókör paraméter értékét "Globális" értékre, hogy a meghajtó az aktuális hatókörön kívül maradjon.
A $cred
változó egy PSCredential objektumot tárol, amely tartalmazza a szolgáltatásfiók hitelesítő adatait. Get-Credential
kéri, hogy adja meg a SecureStringben tárolt jelszót.
New-PSDrive
több paraméter használatával hozza létre a leképezett hálózati meghajtót. A Név a Windows által elfogadott meghajtóbetűjelet adja meg S
. a Gyökér pedig egy távoli számítógépen található helyként definiálja\\Server01\Scripts
. A Persist létrehoz egy Windows-megfeleltetett hálózati meghajtót, amely a helyi számítógépen van mentve. A PSProvider a szolgáltatót FileSystem
adja meg. A hitelesítő adatok a változó használatával $cred
kérik le a szolgáltatásfiók hitelesítő adatait a hitelesítéshez.
A leképezett meghajtó a helyi számítógépen tekinthető meg PowerShell-munkamenetekben, Fájlkezelő és olyan eszközökkel, mint a net use. A PowerShell-munkamenet tartalmainak megtekintése: Get-ChildItem -Path S:
5. példa: Állandó és ideiglenes meghajtók létrehozása
Ez a példa egy állandó leképezett hálózati meghajtó és egy ideiglenes PowerShell-meghajtó közötti különbséget mutatja be, amely ugyanahhoz a hálózati megosztáshoz van leképezve.
Ha bezárja a PowerShell-munkamenetet, majd megnyit egy új munkamenetet, az ideiglenes PSDrive:
nem érhető el, de az állandó X:
meghajtó elérhető. Amikor eldönti, hogy melyik módszert használja a hálózati meghajtók leképezéséhez, gondolja át, hogyan fogja használni a meghajtót. Például, hogy állandónak kell-e lennie, és hogy a meghajtónak láthatónak kell-e lennie más Windows-funkciók számára.
# 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
6. példa: Állandó meghajtó létrehozása szkriptben
A PSDrive-k abban a hatókörben jönnek létre, amelyben a New-PSDrive
parancs fut. Ha a parancs egy szkripten belül fut, a meghajtóleképezés helyi a szkripthez. Amikor a szkript kilép, a meghajtó már nem érhető el.
New-PSDrive -Persist -Name "X" -PSProvider "FileSystem" -Root "\\Server01\Public" -Scope Global
Annak biztosításához, hogy a meghajtó a szkripten kívül is elérhető legyen, a Hatókör paraméterrel kell létrehoznia a meghajtót a globális hatókörben.
Paraméterek
-Confirm
Jóváhagyást kér a parancsmag futtatása előtt.
Típus: | SwitchParameter |
Aliasok: | cf |
Position: | Named |
Alapértelmezett érték: | False |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-Credential
Olyan felhasználói fiókot ad meg, amely rendelkezik a művelet végrehajtásához engedéllyel. Alapértelmezés szerint az aktuális felhasználó.
A PowerShell 3.0 óta, amikor a gyökérparaméter értéke UNC elérési út, hitelesítő adatokkal hozhat létre fájlrendszer-meghajtókat.
Írjon be egy felhasználónevet (például User01 vagy Domain01\User01), vagy írjon be egy PSCredential objektumot, amelyet a Get-Credential
parancsmag hoz létre. Ha beír egy felhasználónevet, a rendszer kéri a jelszó megadását.
A hitelesítő adatokat PSCredential objektum tárolja, a jelszót pedig SecureStringként tárolja a rendszer.
Feljegyzés
További információ a SecureString adatvédelemről: Mennyire biztonságos a SecureString?.
Típus: | PSCredential |
Position: | Named |
Alapértelmezett érték: | Current user |
Kötelező: | False |
Folyamatbemenet elfogadása: | True |
Helyettesítő karakterek elfogadása: | False |
-Description
A meghajtó rövid szöveges leírását adja meg. Írjon be bármilyen sztringet.
A munkamenet összes meghajtójának Get-PSDrive | Format-Table Name, Description
leírásának megtekintéséhez.
Egy adott meghajtó leírásának megtekintéséhez írja be a következőt (Get-PSDrive <DriveName>).Description
:
Típus: | String |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | True |
Helyettesítő karakterek elfogadása: | False |
-Name
Megadja az új meghajtó nevét. Állandó leképezett hálózati meghajtók esetén használjon meghajtóbetűjelet. Az ideiglenes PowerShell-meghajtók esetében nem korlátozódik a meghajtóbetűjelekre, használjon érvényes sztringet.
Típus: | String |
Position: | 0 |
Alapértelmezett érték: | None |
Kötelező: | True |
Folyamatbemenet elfogadása: | True |
Helyettesítő karakterek elfogadása: | False |
-Persist
Azt jelzi, hogy ez a parancsmag létrehoz egy Windows-megfeleltetett hálózati meghajtót. A Perzisztencia paraméter csak Windows rendszeren érhető el.
A leképezett hálózati meghajtókat a rendszer windowsos környezetben menti a helyi számítógépen. Állandóak, nem munkamenet-specifikusak, és Fájlkezelő és egyéb eszközökben tekinthetők meg és kezelhetők.
Ha a parancsot helyileg, pontalapú forráskezelés nélkül hatókörbe veszi, a Persist paraméter nem tárolja a PSDrive létrehozását azon a hatókörön túl, amelyben a parancsot futtatja. Ha parancsfájlon belül fut New-PSDrive
, és azt szeretné, hogy az új meghajtó határozatlan ideig megmaradjon, akkor pontforrásként kell használnia a szkriptet. A legjobb eredmény érdekében egy új meghajtó megőrzésének kényszerítéséhez adja meg a Globális értéket a Hatókör paraméter értékeként, és adja meg a megőrzést a parancsban.
A meghajtó nevének betűnek kell lennie, például D
vagy E
. A gyökérparaméter értékének egy másik számítógép UNC elérési útjának kell lennie. A PSProvider paraméter értékének meg kell lennie FileSystem
.
Windows-megfeleltetett hálózati meghajtó leválasztásához használja a Remove-PSDrive
parancsmagot. Ha leválaszt egy Windows-megfeleltetett hálózati meghajtót, a leképezés véglegesen törlődik a számítógépről, nem csak az aktuális munkamenetből.
A leképezett hálózati meghajtók egy felhasználói fiókra vonatkoznak. Az emelt szintű munkamenetekben vagy munkamenetekben egy másik felhasználó hitelesítő adataival létrehozott leképezett meghajtók nem láthatók a különböző hitelesítő adatokkal indított munkamenetekben.
Típus: | SwitchParameter |
Position: | Named |
Alapértelmezett érték: | False |
Kötelező: | False |
Folyamatbemenet elfogadása: | True |
Helyettesítő karakterek elfogadása: | False |
-PSProvider
Megadja az ilyen típusú meghajtókat támogató PowerShell-szolgáltatót.
Ha például a meghajtó hálózati megosztáshoz vagy fájlrendszer-címtárhoz van társítva, a PowerShell-szolgáltató a FileSystem
. Ha a meghajtó egy beállításkulcshoz van társítva, a szolgáltató az Registry
.
Az ideiglenes PowerShell-meghajtók bármely PowerShell-szolgáltatóhoz társíthatók. A leképezett hálózati meghajtók csak a FileSystem
szolgáltatóhoz társíthatók.
A PowerShell-munkamenetben lévő szolgáltatók listájának megtekintéséhez használja a Get-PSProvider
parancsmagot.
Típus: | String |
Position: | 1 |
Alapértelmezett érték: | None |
Kötelező: | True |
Folyamatbemenet elfogadása: | True |
Helyettesítő karakterek elfogadása: | False |
-Root
Megadja az adattár helyét, amelyre a PowerShell-meghajtó le van képezve.
Adjon meg például egy hálózati megosztást, például \\Server01\Public
egy helyi könyvtárat, például C:\Program Files
egy beállításkulcsot, például HKLM:\Software\Microsoft
.
Az ideiglenes PowerShell-meghajtók bármely támogatott szolgáltatói meghajtón helyi vagy távoli helyhez társíthatók. A leképezett hálózati meghajtók csak távoli számítógépen lévő fájlrendszer-helyhez társíthatók.
Típus: | String |
Position: | 2 |
Alapértelmezett érték: | None |
Kötelező: | True |
Folyamatbemenet elfogadása: | True |
Helyettesítő karakterek elfogadása: | False |
-Scope
A meghajtó hatókörét adja meg. A paraméter elfogadható értékei a következők: globális, helyi és szkript, vagy az aktuális hatókörhöz viszonyított szám. A hatókörök száma 0 a hatókörök számán keresztül. Az aktuális hatókör száma 0, szülője pedig 1. További információ: about_Scopes.
Típus: | String |
Position: | Named |
Alapértelmezett érték: | Local |
Kötelező: | False |
Folyamatbemenet elfogadása: | True |
Helyettesítő karakterek elfogadása: | False |
-WhatIf
Bemutatja, mi történne a parancsmag futtatásakor. A parancsmag nem fut.
Típus: | SwitchParameter |
Aliasok: | wi |
Position: | Named |
Alapértelmezett érték: | False |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
Bevitelek
None
Nem lehet objektumokat csövezni ehhez a parancsmaghoz
Kimenetek
Ez a parancsmag egy PSDriveInfo objektumot ad vissza, amely a létrehozott meghajtót jelöli.
Jegyzetek
A PowerShell a következő aliasokat Get-PSDrive
tartalmazza:
- Minden platform:
ndr
- Windows:
mount
New-PSDrive
úgy lett kialakítva, hogy bármely szolgáltató által közzétett adatokkal működjön együtt. A munkamenetben elérhető szolgáltatók listázásához használja a következőt Get-PSProvider
: . További információ a szolgáltatókról: about_Providers.
A leképezett hálózati meghajtók egy felhasználói fiókra vonatkoznak. Az emelt szintű munkamenetekben vagy munkamenetekben egy másik felhasználó hitelesítő adataival létrehozott leképezett meghajtók nem láthatók a különböző hitelesítő adatokkal indított munkamenetekben.