Aracılığıyla paylaş


PowerShell sürücülerini yönetme

Bu örnek yalnızca Windows platformları için geçerlidir.

PowerShell sürücüsü, PowerShell'deki bir dosya sistemi sürücüsü gibi erişebileceğiniz bir veri deposu konumudur. PowerShell sağlayıcıları sizin için dosya sistemi sürücüleri (C: ve D:dahil), kayıt defteri sürücüleri (HKCU: ve HKLM:) ve sertifika sürücüsü (Cert:) gibi bazı sürücüler oluşturur ve kendi PowerShell sürücülerinizi oluşturabilirsiniz. Bu sürücüler kullanışlıdır, ancak yalnızca PowerShell'de kullanılabilir. Dosya Gezgini veya Cmd.exegibi diğer Windows araçlarını kullanarak bunlara erişemezsiniz.

PowerShell, PowerShell sürücüleriyle çalışan komutlar için PSDrive adlı bir ad kullanır. PowerShell oturumunuzda PowerShell sürücülerinin listesi için Get-PSDrive cmdlet'ini kullanın.

Get-PSDrive
Name       Provider      Root                                   CurrentLocation
----       --------      ----                                   ---------------
A          FileSystem    A:\
Alias      Alias
C          FileSystem    C:\                                 ...And Settings\me
cert       Certificate   \
D          FileSystem    D:\
Env        Environment
Function   Function
HKCU       Registry      HKEY_CURRENT_USER
HKLM       Registry      HKEY_LOCAL_MACHINE
Variable   Variable

Ekrandaki sürücüler sisteminizdeki sürücülere göre farklılık gösterse de, sizinki yukarıda gösterilen Get-PSDrive komutunun çıkışına benzer görünmelidir.

dosya sistemi sürücüleri, PowerShell sürücülerinin bir alt kümesidir. Dosya sistemi sürücülerini Sağlayıcı sütunundaki FileSystem girdisine göre tanımlayabilirsiniz. PowerShell'deki dosya sistemi sürücüleri, PowerShell FileSystem sağlayıcısı tarafından desteklenir.

Get-PSDrive cmdlet'in söz dizimini görmek için Sözdizimi parametresiyle bir Get-Command komutu yazın:

Get-Command -Name Get-PSDrive -Syntax
Get-PSDrive [[-Name] <String[]>] [-Scope <String>] [-PSProvider <String[]>] [-V
erbose] [-Debug] [-ErrorAction <ActionPreference>] [-ErrorVariable <String>] [-
OutVariable <String>] [-OutBuffer <Int32>]

PSProvider parametresi yalnızca belirli bir sağlayıcı tarafından desteklenen PowerShell sürücülerini görüntülemenizi sağlar. Örneğin, yalnızca PowerShell FileSystem sağlayıcısı tarafından desteklenen PowerShell sürücülerini görüntülemek için, PSProvider parametresi ve FileSystem değeriyle bir Get-PSDrive komutu yazın:

Get-PSDrive -PSProvider FileSystem
Name       Provider      Root                                   CurrentLocation
----       --------      ----                                   ---------------
A          FileSystem    A:\
C          FileSystem    C:\                           ...nd Settings\PowerUser
D          FileSystem    D:\

Kayıt defteri kovanlarını temsil eden PowerShell sürücülerini görüntülemek için PSProvider parametresini kullanarak yalnızca PowerShell Kayıt Defteri sağlayıcısı tarafından desteklenen PowerShell sürücülerini görüntüleyin:

Get-PSDrive -PSProvider Registry
Name       Provider      Root                                   CurrentLocation
----       --------      ----                                   ---------------
HKCU       Registry      HKEY_CURRENT_USER
HKLM       Registry      HKEY_LOCAL_MACHINE

Standart Konum cmdlet'lerini PowerShell sürücüleriyle de kullanabilirsiniz:

Set-Location HKLM:\SOFTWARE
Push-Location .\Microsoft
Get-Location
Path
----
HKLM:\SOFTWARE\Microsoft

Yeni PowerShell sürücüleri ekleme

New-PSDrive komutunu kullanarak kendi PowerShell sürücülerinizi ekleyebilirsiniz. New-PSDrive komutunun söz dizimini almak için Sözdizimi parametresiyle Get-Command komutunu girin:

Get-Command -Name New-PSDrive -Syntax
New-[-Description <String>] [-Scope <String>] [-Credential <PSCredential>] [-Verbose] [-Debug ]
[-ErrorAction <ActionPreference>] [-ErrorVariable <String>] [-OutVariable <St ring>]
[-OutBuffer <Int32>] [-WhatIf] [-Confirm]

Yeni bir PowerShell sürücüsü oluşturmak için üç parametre sağlamanız gerekir:

  • Sürücü için bir ad (herhangi bir geçerli PowerShell adı kullanabilirsiniz)
  • PSProvider - dosya sistemi konumları için FileSystem ve kayıt defteri konumları için Registry kullanın
  • Kök, yani yeni sürücünün kök yolu

Örneğin, C:\Program Files\MicrosoftOffice\OFFICE11gibi bilgisayarınızda Microsoft Office uygulamalarını içeren klasöre eşlenmiş Office adlı bir sürücü oluşturabilirsiniz. Sürücüyü oluşturmak için aşağıdaki komutu yazın:

New-PSDrive -Name Office -PSProvider FileSystem -Root "C:\Program Files\Microsoft Office\OFFICE11"
Name       Provider      Root                                   CurrentLocation
----       --------      ----                                   ---------------
Office     FileSystem    C:\Program Files\Microsoft Offic...

Uyarı

Genel olarak yollar büyük/küçük harfe duyarlı değildir.

PowerShell sürücüsüne adının ardından iki nokta (:) kullanılarak erişilir.

PowerShell sürücüsü birçok görevi çok daha basit hale getirir. Örneğin, Windows kayıt defterindeki en önemli anahtarlardan bazılarının son derece uzun yolları vardır ve bu da onları erişemez hale getirir ve anımsanmasını zorlaştırır. Kritik yapılandırma bilgileri HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersionaltında bulunur. CurrentVersion kayıt defteri anahtarındaki öğeleri görüntülemek ve değiştirmek için, şu komutu yazarak bu anahtarın köküne sahip bir PowerShell sürücüsü oluşturabilirsiniz:

New-PSDrive -Name cvkey -PSProvider Registry -Root HKLM\Software\Microsoft\Windows\CurrentVersion
Name       Provider      Root                                   CurrentLocation
----       --------      ----                                   ---------------
cvkey      Registry      HKLM\Software\Microsoft\Windows\...

Ardından konumu cvkey: sürücü olarak değiştirebilirsiniz. Diğer sürücülerde olduğu gibi:

cd cvkey:

veya:

Set-Location cvkey: -PassThru
Path
----
cvkey:\

New-PSDrive cmdlet'i yeni sürücüyü yalnızca geçerli PowerShell oturumuna ekler. PowerShell penceresini kapatırsanız yeni sürücü kaybolur. PowerShell sürücüsünü kaydetmek için Export-Console cmdlet'ini kullanarak geçerli PowerShell oturumunu dışarı aktarın ve ardından powershell.exePSConsoleFile parametresini kullanarak bunu içeri aktarın. Veya yeni sürücüyü Windows PowerShell profilinize ekleyin.

PowerShell sürücülerini silme

Remove-PSDrive cmdlet'ini kullanarak Sürücüleri PowerShell'den silebilirsiniz. Örneğin, Office: PowerShell sürücüsünü New-PSDrive konusunda gösterildiği gibi eklediyseniz, şunu yazarak silebilirsiniz:

Remove-PSDrive -Name Office

cvkey: PowerShell sürücüsünü silmek için aşağıdaki komutu kullanın:

Remove-PSDrive -Name cvkey

Ancak, sürücüdeyken silemezsiniz. Örneğin:

cd office:
Remove-PSDrive -Name Office
Remove-PSDrive : Cannot remove drive 'Office' because it is in use.
At line:1 char:15
+ Remove-PSDrive  <<<< -Name Office

PowerShell dışında sürücü ekleme ve kaldırma

PowerShell, Aşağıdakiler dahil olmak üzere Windows'a eklenen veya kaldırılan dosya sistemi sürücülerini algılar:

  • eşlenen ağ sürücüleri
  • Bağlı USB sürücüleri
  • net use komutu kullanılarak veya bir Windows Script Host (WSH) betiğinden silinen sürücüler