Yeni PSDrive (Microsoft.PowerShell.Management)


Yeni-PSDrive

Modül:
Microsoft.PowerShell.Management

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

Sözdizimi

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

Tanım

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

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 kaynakla eşlenebilirler. Eşlenen herhangi bir ağ sürücüsünde yaptığınız gibi, ilişkili veri deposundaki verilere erişmek için geçici PowerShell sürücülerini kullanabilirsiniz. Set-Location kullanarak sürücünün konumlarını değiştirebilir ve Get-Item veya Get-ChildItem kullanarak 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 net use< gibi araçları kullanarak bunlara erişemezsiniz. /kod>.

PowerShell 3,0'da New-PSDrive'a aşağıdaki özellikler eklendi:

  • Eşlenen ağ sürücüleri. Windows eşlenmiş ağ sürücüleri oluşturmak için New-PSDrive'ın Persist parametresini kullanabilirsiniz. Geçici PowerShell sürücülerinden farklı olarak Windows eşlenen ağ sürücüleri oturuma özel değildir. Bunlar Windows'a kaydedilir ve Dosya Gezgini ve net use gibi standart Windows araçları kullanılarak yönetilebilir. Eşlenen ağ sürücülerinin bir sürücü harfi adı olması ve uzak bir dosya sistemi konumuna bağlı olması gerekir. Komutunuzun kapsamı yerel olarak belirlendiğinde, nokta kaynağı kullanılmadığında, Persist parametresi, komutun çalıştığı kapsamın ötesinde bir PSDrive oluşturulmasına devam etmez. New-PSDrive'ı bir komut dosyasında çalıştırıyorsanız ve sürücünün süresiz olarak devam etmesini istiyorsanız, komut dosyasını nokta kaynaklı olarak kullanmanız gerekir. En iyi sonuçları elde etmek için, yeni bir sürücüyü süresiz olarak çalışmaya zorlamak için Kapsam parametresini komutunuza ekleyin ve değerini Global olarak ayarlayın. Nokta kaynağı hakkında daha fazla bilgi için bkz. about_Scripts.
  • Harici sürücüler. Bilgisayara harici bir sürücü bağlandığında PowerShell, dosya sistemine yeni sürücüyü temsil eden bir PSDrive'ı otomatik olarak ekler. PowerShell'i yeniden başlatmanız gerekmez. Benzer şekilde, harici bir 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.

Root parametresinin değeri \\Server\Share gibi bir UNC yolu olduğunda, Kimlik Bilgisi değerinde belirtilen kimlik bilgisi parametresi PSDrive'ı oluşturmak için 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 artırmak için sıçramayı kullanır. Daha fazla bilgi için bkz. about_Splatting.

Not

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

Örnekler

Örnek 1: Bir ağ paylaşımına eşlenen geçici bir sürücü oluşturun

Bu örnek, bir ağ paylaşımına eşlenen 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

Yeni-PSDrive, Public adlı PowerShell sürücüsünü belirtmek için Ad parametresini ve PowerShell <'i belirtmek için PSProvider parametresini kullanır.FileSystem sağlayıcısı. Root parametresi ağ paylaşımının UNC yolunu belirtir.

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

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

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, Belgelerim sürücü adını belirtir. PSProvider parametresi PowerShell FileSystem sağlayıcısını belirtir. Kök yerel bilgisayarın dizinini belirtir. Açıklama parametresi sürücünün amacını açıklar. Yeni-PSDrive, MyDocs sürücüsünü oluşturmak için ayrılmış parametreleri kullanır.

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

Örnek 3: Kayıt defteri anahtarı için geçici bir 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. HKLM:\Software\MyCompany kayıt defteri anahtarıyla eşlenen MyCompany adında bir sürücü oluşturur.

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

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

Yeni PSDrive, MyCompany adlı PowerShell sürücüsünü belirtmek için Ad parametresini ve PowerShell <'i belirtmek için PSProvider parametresini kullanır.Kayıt defteri sağlayıcısı. Root parametresi kayıt defteri konumunu belirtir.

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

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

Bu örnek, etki alanı hizmet hesabının kimlik bilgileriyle kimliği doğrulanan bir ağ sürücüsünü eşler. Kimlik bilgilerini saklayan PSCredential nesnesi ve şifrelerin SecureString olarak nasıl saklandığı 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çasını bir komut dosyasında kullanırsanız, sürücünün geçerli kapsamın dışında kalmasını sağlamak için Kapsam parametre değerini "Global" olarak ayarlamayı unutmayın.

$cred değişkeni, hizmet hesabının kimlik bilgilerini içeren bir PSCredential nesnesini saklar. Get-Credential sizden SecureString'de saklanan şifreyi girmenizi ister.

Yeni-PSDrive çeşitli parametreler kullanarak eşlenen ağ sürücüsünü oluşturur. Ad, Windows'un kabul ettiği S sürücü harfini belirtir. ve Root, \\Server01\Scripts'i uzak bilgisayardaki konum olarak tanımlar. Persist, yerel bilgisayarda kayıtlı, Windows eşlenmiş bir ağ sürücüsü oluşturur. PSProvider, FileSystem sağlayıcısını belirtir. Kimlik bilgisi, kimlik doğrulama için hizmet hesabı kimlik bilgilerini almak üzere $cred değişkenini kullanır.

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

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

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

PowerShell oturumunu kapatıp yeni bir oturum açarsanız geçici PSDrive: kullanılamaz ancak kalıcı X: sürücüsü kullanılabilir. Ağ sürücülerini eşlemek için hangi yöntemin kullanılacağına karar verirken sürücüyü nasıl kullanacağınızı düşünün. Örneğin kalıcı olması gerekip gerekmediği ve sürücünün diğer Windows özellikleri tarafından görülüp görülmemesi.

# 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: Bir komut dosyasında kalıcı sürücü oluşturma

PSDrive'lar New-PSDrive komutunun çalıştırıldığı kapsamda oluşturulur. Komut bir komut dosyası içinde çalıştırıldığında, sürücü eşlemesi komut dosyasında yereldir. Komut dosyasından çıkıldığı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 komut dosyası dışında da kullanılabilir olduğundan emin olmak için sürücüyü Global kapsamda oluşturmak üzere Kapsam parametresini kullanmanız gerekir.

Parametreler

-Confirm

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

Tip :

SwitchParameter

Takma adlar:

cf

Konum:

Adlandırılmış

Varsayılan değer:

False

Gerekli:

False

Boru hattı girişini kabul edin:

False

Joker karakterleri kabul et:

False

-Credential

Bu eylemi gerçekleştirme iznine sahip bir kullanıcı hesabını belirtir. Varsayılan geçerli kullanıcıdır.

PowerShell 3.0'dan bu yana, Root 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 Get-Credential tarafından oluşturulan bir PSCredential nesnesi girin kod > cmdlet'i seçin. Bir kullanıcı adı yazarsanız parolayı girmeniz istenir.

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

Not

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

Tip :

PSC kimlik bilgisi

Konum:

Adlandırılmış

Varsayılan değer:

Geçerli kullanıcı

Gerekli:

False

Boru hattı girişini kabul edin:

True

Joker karakterleri kabul et:

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 | Biçim-Tablo Adı, Açıklama.

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

Tip :

String

Konum:

Adlandırılmış

Varsayılan değer:

None

Gerekli:

False

Boru hattı girişini kabul edin:

True

Joker karakterleri kabul et:

False

-Name

Yeni sürücü için bir ad belirtir. Kalıcı eşlenen 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 herhangi bir dize kullanın.

Tip :

String

Konum:

0

Varsayılan değer:

None

Gerekli:

True

Boru hattı girişini kabul edin:

True

Joker karakterleri kabul et:

False

-Persist

Bu cmdlet'in Windows eşlenmiş bir ağ sürücüsü oluşturduğunu belirtir. Devam Et parametresi yalnızca Windows'ta kullanılabilir.

Eşlenen ağ sürücüleri, yerel bilgisayardaki Windows'a kaydedilir. Kalıcıdırlar, oturuma özel değildirler ve Dosya Gezgini'nde ve diğer araçlarda görüntülenebilir ve yönetilebilirler.

Nokta kaynağı olmadan, komutun kapsamını yerel olarak belirlediğinizde, Persist parametresi, komutu çalıştırdığınız kapsamın ötesinde bir PSDrive oluşturulmasına devam etmez. Bir komut dosyasının içinde New-PSDrive'ı çalıştırıyorsanız ve yeni sürücünün süresiz olarak devam etmesini istiyorsanız, komut dosyasını nokta kaynak olarak kullanmanız gerekir. En iyi sonuçları elde etmek için, yeni bir sürücüyü kalıcı olmaya zorlamak için Kapsam parametresinin değeri olarak Global'ı belirtin ve komutunuza Persist'i ekleyin.

Sürücünün adı D veya E gibi bir harf olmalıdır. Root parametresinin değeri farklı bir bilgisayarın UNC yolu olmalıdır. PSProvider parametresinin değeri FileSystem olmalıdır.

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

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

Tip :

SwitchParameter

Konum:

Adlandırılmış

Varsayılan değer:

False

Gerekli:

False

Boru hattı girişini kabul edin:

True

Joker karakterleri kabul et:

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 dizini ile ilişkiliyse PowerShell sağlayıcısı FileSystem'dir. Sürücü bir kayıt defteri anahtarıyla ilişkiliyse sağlayıcı Kayıt Defteri'dir.

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 FileSystem sağlayıcısıyla ilişkilendirilebilir.

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

Tip :

String

Konum:

1

Varsayılan değer:

None

Gerekli:

True

Boru hattı girişini kabul edin:

True

Joker karakterleri kabul et:

False

-Root

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

Örneğin, \\Server01\Public gibi bir ağ paylaşımı, C:\Program Files gibi bir yerel dizin veya < gibi bir kayıt defteri anahtarı belirtin.HKLM:\Software\Microsoft.

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

Tip :

String

Konum:

2

Varsayılan değer:

None

Gerekli:

True

Boru hattı girişini kabul edin:

True

Joker karakterleri kabul et:

False

-Scope

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

Tip :

String

Konum:

Adlandırılmış

Varsayılan değer:

Yerel

Gerekli:

False

Boru hattı girişini kabul edin:

True

Joker karakterleri kabul et:

False

-WhatIf

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

Tip :

SwitchParameter

Takma adlar:

wi

Konum:

Adlandırılmış

Varsayılan değer:

False

Gerekli:

False

Boru hattı girişini kabul edin:

False

Joker karakterleri kabul et:

False

Girişler

Yok

Nesneleri bu cmdlet'e aktaramazsınız

Çıkışlar

PSDriveInfo

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

Notlar

PowerShell, Get-PSDrive için aşağıdaki takma adları içerir:

  • Tüm platformlar:

      ndr
  • Windows:

      mount

Yeni-PSDrive, herhangi bir sağlayıcının açığa çıkardığı verilerle çalışacak şekilde tasarlanmıştır. Oturumunuzda mevcut olan sağlayıcıları listelemek için Get-PSProvider'ı kullanın. Sağlayıcılar hakkında daha fazla bilgi için about_Providers'a bakın.

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

İlgili makaleler