New-PSDrive

Bir öğe veri deposundaki bir konumla ilişkili geçici ve kalıcı sürücüler oluşturur.

Syntax

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

Description

New-PSDrive Cmdlet, ağ sürücüsü, yerel bilgisayardaki bir dizin veya kayıt defteri anahtarı gibi bir veri deposundaki bir konuma eşlenen veya bu konumla ilişkilendirilmiş geçici ve kalıcı sürücüler ve uzak bilgisayardaki bir dosya sistemi konumuyla ilişkilendirilmiş kalıcı Windows eşlenmiş ağ sürücüleri oluşturur.

Geçici sürücüler yalnızca geçerli PowerShell oturumunda ve geçerli oturumda oluşturduğunuz oturumlarda bulunur. PowerShell'de geçerli olan herhangi bir ada sahip olabilirler ve herhangi bir yerel veya uzak kaynağa eşlenebilirler. Eşlenen herhangi bir ağ sürücüsünde olduğu gibi, ilişkili veri deposundaki verilere erişmek için geçici PowerShell sürücülerini kullanabilirsiniz. kullanarak sürücüdeki Set-Locationkonumları değiştirebilir ve veya Get-ChildItemkullanarak Get-Item sürücünün içeriğine erişebilirsiniz.

Geçici sürücüler yalnızca PowerShell tarafından bilindiğinden, Dosya Gezgini, Windows Yönetim Araçları (WMI), Bileşen Nesne Modeli (COM), Microsoft .NET Framework veya gibi net usearaçlarla bu sürücülere erişemezsiniz.

Aşağıdaki özellikler PowerShell 3.0'a New-PSDrive eklendi:

  • Eşlenen ağ sürücüleri. Windows eşlenmiş ağ sürücüleri oluşturmak için öğesinin New-PSDrive Persist parametresini kullanabilirsiniz. Geçici PowerShell sürücülerinin aksine, Windows eşlenen ağ sürücüleri oturuma özgü değildir. Bunlar Windows'a kaydedilir ve Dosya Gezgini ve net kullanım gibi standart Windows araçları kullanılarak yönetilebilir. Eşlenen ağ sürücülerinin bir sürücü harfi adı olmalıdır ve uzak bir dosya sistemi konumuna bağlı olmalıdır. Komutunuzun kapsamı yerel olarak belirlenmişse, nokta kaynağını belirleme olmadığında, Persist parametresi psDrive'ın oluşturulmasını komutun çalıştığı kapsamın dışında kalıcı yapmaz. Bir betik içinde çalışıyorsanız New-PSDrive ve sürücünün süresiz olarak kalıcı olmasını istiyorsanız, betiği noktalı kaynak olarak belirtmeniz gerekir. En iyi sonuçları elde etmek için yeni bir sürücüyü süresiz olarak kalıcı hale getirmek için Scope parametresini komutunuza ekleyin ve değerini Genel olarak ayarlayın. Nokta kaynağını belirleme hakkında daha fazla bilgi için bkz . about_Scripts.
  • Dış sürücüler. Bilgisayara bir dış sürücü bağlandığında PowerShell, yeni sürücüyü temsil eden dosya sistemine otomatik olarak bir PSDrive ekler. PowerShell'i yeniden başlatmanız gerekmez. Benzer şekilde, bir dış sürücünün bilgisayarla bağlantısı kesildiğinde PowerShell, kaldırılan sürücüyü temsil eden PSDrive'ı otomatik olarak siler.
  • Evrensel Adlandırma Kuralı (UNC) yolları için kimlik bilgileri.

Kök parametresinin değeri gibi \\Server\Sharebir UNC yolu olduğunda, PsDrive'ı oluşturmak için Credential parametresinin değerinde belirtilen kimlik bilgisi kullanılır. Aksi takdirde, yeni dosya sistemi sürücüleri oluştururken Kimlik Bilgileri etkili olmaz.

Bazı kod örnekleri, satır uzunluğunu azaltmak ve okunabilirliği geliştirmek için sıçramayı kullanır. Daha fazla bilgi için bkz . about_Splatting.

Not

Scope parametresini kullanmadığınız sürece, PSDrive'lar komutun çalıştırıldığı New-PSDrive kapsamda oluşturulur.

Örnekler

Örnek 1: Ağ paylaşımına eşlenmiş geçici bir sürücü oluşturma

Bu örnek, bir ağ paylaşımına eşlenmiş geçici bir PowerShell sürücüsü oluşturur.

New-PSDrive -Name "Public" -PSProvider "FileSystem" -Root "\\Server01\Public"

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

New-PSDriveAdlı Public PowerShell sürücüsünü belirtmek için Name parametresini ve PowerShell FileSystem sağlayıcısını belirtmek için PSProvider parametresini kullanır. Kök parametresi, ağ paylaşımının UNC yolunu belirtir.

PowerShell oturumundaki içeriği görüntülemek için: Get-ChildItem -Path Public:

Örnek 2: Yerel dizine eşlenmiş geçici bir sürücü oluşturma

Bu örnek, yerel bilgisayardaki bir dizine erişim sağlayan geçici bir PowerShell sürücüsü oluşturur.

$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

Splatting parametre anahtarlarını ve değerlerini oluşturur. Ad parametresi, MyDocs adlı sürücü adını belirtir. PSProvider parametresi PowerShell FileSystem sağlayıcısını belirtir. Kök , yerel bilgisayarın dizinini belirtir. Description parametresi sürücünün amacını açıklar. New-PSDrive sürücüyü oluşturmak MyDocs için sıçramış parametreleri kullanır.

PowerShell oturumundaki içeriği görüntülemek için: Get-ChildItem -Path MyDocs:

Örnek 3: Kayıt defteri anahtarı için geçici sürücü oluşturma

Bu örnek, bir kayıt defteri anahtarına erişim sağlayan geçici bir PowerShell sürücüsü oluşturur. Kayıt defteri anahtarıyla eşlenen HKLM:\Software\MyCompany MyCompany adlı bir sürücü oluşturur.

New-PSDrive -Name "MyCompany" -PSProvider "Registry" -Root "HKLM:\Software\MyCompany"

Name           Provider      Root
----           --------      ----
MyCompany      Registry      HKLM:\Software\MyCompany

New-PSDriveAdlı MyCompany PowerShell sürücüsünü belirtmek için Name parametresini ve PowerShell Registry sağlayıcısını belirtmek için PSProvider parametresini kullanır. Kök parametresi kayıt defteri konumunu belirtir.

PowerShell oturumundaki içeriği görüntülemek için: Get-ChildItem -Path MyCompany:

Örnek 4: Kimlik bilgilerini kullanarak kalıcı eşlenmiş bir ağ sürücüsü oluşturma

Bu örnek, bir etki alanı hizmet hesabının kimlik bilgileriyle kimliği doğrulanmış bir ağ sürücüsünü eşler. Kimlik bilgilerini depolayan PSCredential nesnesi ve parolaların SecureString olarak nasıl depolandığı hakkında daha fazla bilgi için Credential parametresinin açıklamasına bakın.

$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

Not

Yukarıdaki kod parçacığını bir betikte kullanırsanız, sürücünün geçerli kapsamın dışında kalmasını sağlamak için Kapsam parametresi değerini "Genel" olarak ayarlayın.

değişkeni, $cred hizmet hesabının kimlik bilgilerini içeren bir PSCredential nesnesi depolar. Get-Credential, SecureString'de depolanan parolayı girmenizi ister.

New-PSDrive birkaç parametre kullanarak eşlenmiş ağ sürücüsünü oluşturur. Ad , Windows'un S kabul ettiğini sürücü harfini belirtir. ve Kök , uzak bilgisayardaki konum olarak tanımlar \\Server01\Scripts . Kalıcı, yerel bilgisayara kaydedilen Windows eşlenmiş bir ağ sürücüsü oluşturur. PSProvider sağlayıcıyı FileSystem belirtir. Kimlik bilgisi , $cred kimlik doğrulaması için hizmet hesabı kimlik bilgilerini almak için değişkenini kullanır.

Eşlenen sürücü PowerShell oturumlarında, Dosya Gezgini yerel bilgisayarda ve net use gibi araçlarla görüntülenebilir. PowerShell oturumundaki içeriği görüntülemek için: Get-ChildItem -Path S:

Örnek 5: Kalıcı ve geçici sürücüler oluşturma

Bu örnek, kalıcı eşlenmiş bir ağ sürücüsü ile aynı ağ paylaşımına eşlenen geçici bir PowerShell sürücüsü arasındaki farkı gösterir.

PowerShell oturumunu kapatıp yeni bir oturum açarsanız geçici PSDrive: bir oturum yoktur, ancak kalıcı X: sürücü kullanılabilir. Ağ sürücülerini eşlemek için hangi yöntemi kullanacağınıza karar verirken sürücüyü nasıl kullanacağınızı göz önünde bulundurun. Örneğin, kalıcı olması gerekip gerekmediği ve sürücünün diğer Windows özelliklerine görünür olması gerekip gerekmediği.

# 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

Örnek 6: Betikte kalıcı sürücü oluşturma

PSDrive'lar, komutun çalıştırıldığı New-PSDrive kapsamda oluşturulur. Komut bir betik içinde çalıştırıldığında, sürücü eşlemesi betikte yereldir. Betik çıktığında, sürücü artık kullanılamaz.

New-PSDrive -Persist -Name "X" -PSProvider "FileSystem" -Root "\\Server01\Public" -Scope Global

Sürücünün betiğin dışında kullanılabilir olduğundan emin olmak için Genel kapsamda sürücüyü oluşturmak için Scope parametresini kullanmanız gerekir.

Parametreler

-Confirm

Cmdlet'i çalıştırmadan önce sizden onay ister.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

Bu eylemi yapma izni olan bir kullanıcı hesabı belirtir. Varsayılan, mevcut kullanıcıdır.

PowerShell 3.0'dan bu yana, Kök parametresinin değeri bir UNC yolu olduğunda, dosya sistemi sürücüleri oluşturmak için kimlik bilgilerini kullanabilirsiniz.

User01 veya Domain01\User01 gibi bir kullanıcı adı yazın veya cmdlet tarafından Get-Credential oluşturulan bir PSCredential nesnesi girin. Bir kullanıcı adı yazarsanız parolayı girmeniz istenir.

Kimlik bilgileri bir PSCredential nesnesinde depolanır ve parola SecureString olarak depolanır.

Not

SecureString veri koruması hakkında daha fazla bilgi için bkz. SecureString ne kadar güvenli?.

Type:PSCredential
Position:Named
Default value:Current user
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Description

Sürücünün kısa bir metin açıklamasını belirtir. Herhangi bir dize yazın.

Oturumun tüm sürücülerinin açıklamalarını görmek için, Get-PSDrive | Format-Table Name, Description.

Belirli bir sürücünün açıklamasını görmek için yazın (Get-PSDrive <DriveName>).Description.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Name

Yeni sürücü için bir ad belirtir. Kalıcı eşlenmiş ağ sürücüleri için bir sürücü harfi kullanın. Geçici PowerShell sürücüleri için sürücü harfleriyle sınırlı değilsiniz, geçerli bir dize kullanın.

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Persist

Bu cmdlet'in Windows eşlenmiş bir ağ sürücüsü oluşturduğunu gösterir. Persist parametresi yalnızca Windows'da kullanılabilir.

Eşlenen ağ sürücüleri yerel bilgisayarda Windows'a kaydedilir. Bunlar oturuma özgü değil kalıcıdır ve Dosya Gezgini ve diğer araçlarda görüntülenebilir ve yönetilebilir.

Komutun kapsamını nokta kaynağını belirlemeden yerel olarak yaptığınızda, Persist parametresi psdrive oluşturma işlemini komutu çalıştırdığınız kapsamın dışında kalıcı yapmaz. Bir betik içinde çalıştırıyorsanız New-PSDrive ve yeni sürücünün süresiz olarak kalıcı olmasını istiyorsanız, betiği noktalı kaynak olarak belirtmeniz gerekir. En iyi sonuçları elde etmek için yeni bir sürücüyü kalıcı hale getirmek için Scope parametresinin değeri olarak Genel'i belirtin ve komutunuzda Kalıcı'yı ekleyin.

Sürücünün adı veya Egibi D bir harf olmalıdır. Kök parametresinin değeri farklı bir bilgisayarın UNC yolu olmalıdır. PSProvider parametresinin değeri olmalıdırFileSystem.

Windows eşlenmiş ağ sürücüsünün bağlantısını kesmek için cmdlet'ini Remove-PSDrive kullanın. Windows eşlenen bir ağ sürücüsünün bağlantısını kestiğiniz zaman, eşleme yalnızca geçerli oturumdan değil bilgisayardan kalıcı olarak silinir.

Eşlenen ağ sürücüleri bir kullanıcı hesabına özeldir. Başka bir kullanıcının kimlik bilgileri kullanılarak yükseltilmiş oturumlarda veya oturumlarda oluşturulan eşlenmiş sürücüler, farklı kimlik bilgileri kullanılarak başlatılan oturumlarda görünmez.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-PSProvider

Bu tür sürücüleri destekleyen PowerShell sağlayıcısını belirtir.

Örneğin, sürücü bir ağ paylaşımı veya dosya sistemi diziniyle ilişkiliyse PowerShell sağlayıcısı şeklindedir FileSystem. Sürücü bir kayıt defteri anahtarıyla ilişkiliyse, sağlayıcı olur Registry.

Geçici PowerShell sürücüleri herhangi bir PowerShell sağlayıcısıyla ilişkilendirilebilir. Eşlenen ağ sürücüleri yalnızca sağlayıcıyla FileSystem ilişkilendirilebilir.

PowerShell oturumunuzda sağlayıcıların listesini görmek için cmdlet'ini Get-PSProvider kullanın.

Type:String
Position:1
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Root

PowerShell sürücüsünün eşlendiği veri deposu konumunu belirtir.

Örneğin, gibi bir ağ paylaşımı, gibi \\Server01\Publicbir yerel dizin C:\Program Filesveya gibi bir kayıt defteri anahtarı HKLM:\Software\Microsoftbelirtin.

Geçici PowerShell sürücüleri desteklenen herhangi bir sağlayıcı sürücüsündeki yerel veya uzak bir konumla ilişkilendirilebilir. Eşlenen ağ sürücüleri yalnızca uzak bilgisayardaki bir dosya sistemi konumuyla ilişkilendirilebilir.

Type:String
Position:2
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Scope

Sürücü için bir kapsam belirtir. Bu parametre için kabul edilebilir değerler şunlardır: Genel, Yerel ve Betik veya geçerli kapsama göre bir sayı. Kapsam sayısı üzerinden 0 numaralı kapsamlar. Geçerli kapsam numarası 0 ve üst öğesi 1'dir. Daha fazla bilgi için bkz . about_Scopes.

Type:String
Position:Named
Default value:Local
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-WhatIf

Cmdlet çalıştırılıyorsa ne olacağını gösterir. Cmdlet çalıştırılmıyor.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Girişler

None

Nesneleri bu cmdlet'e yöneltemezsiniz

Çıkışlar

PSDriveInfo

Bu cmdlet, oluşturulan sürücüyü temsil eden bir PSDriveInfo nesnesi döndürür.

Notlar

PowerShell için aşağıdaki diğer adları Get-PSDriveiçerir:

  • Tüm platformlar:
    • ndr
  • Windows:
    • mount

New-PSDrive herhangi bir sağlayıcı tarafından kullanıma sunulan verilerle çalışacak şekilde tasarlanmıştır. Oturumunuzda kullanılabilen sağlayıcıları listelemek için kullanın Get-PSProvider. Sağlayıcılar hakkında daha fazla bilgi için bkz . about_Providers.

Eşlenen ağ sürücüleri bir kullanıcı hesabına özeldir. Başka bir kullanıcının kimlik bilgileri kullanılarak yükseltilmiş oturumlarda veya oturumlarda oluşturulan eşlenmiş sürücüler, farklı kimlik bilgileri kullanılarak başlatılan oturumlarda görünmez.