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\PublicYeni-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\DocumentsSplatting 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\MyCompanyYeni 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 NetworkNot
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 GlobalSü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 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:
mountYeni-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.