Get-PSDrive
获取当前会话中的 Windows PowerShell 驱动器。
语法
Get-PSDrive [-LiteralName] <string[]> [-PSProvider <string[]>] [-Scope <string>] [-UseTransaction] [<CommonParameters>]
Get-PSDrive [[-Name] <string[]>] [-PSProvider <string[]>] [-Scope <string>] [-UseTransaction] [<CommonParameters>]
说明
Get-PSDrive cmdlet 获取当前会话中的 Windows PowerShell 驱动器。可以获取控制台中的特定驱动器或所有驱动器。
Get-PSDrive 获取以下驱动器:
-- 计算机上的 Windows 逻辑驱动器,包括映射到网络共享的驱动器。
-- 由 Windows PowerShell 提供程序公开的驱动器(如 Certificate:、Function: 和 Alias: 驱动器)以及由 Windows PowerShell Registry 提供程序公开的 HKLM: 和 HKCU: 驱动器。
-- 使用 New-PSDrive 创建的驱动器。
Get-PSDrive 不会获取打开 Windows PowerShell 控制台后添加或创建的 Windows 映射驱动器。
参数
-LiteralName <string[]>
指定 Windows PowerShell 驱动器的名称。
LiteralName 的值严格按照所键入的形式使用。不会将任何字符解释为通配符。如果名称包括转义符,请将其括在单引号中。单引号会告知 Windows PowerShell 不要将所有字符都解释为转义序列。
是否为必需? |
true |
位置? |
1 |
默认值 |
|
是否接受管道输入? |
true (ByPropertyName) |
是否接受通配符? |
false |
-Name <string[]>
只获取指定的驱动器。键入驱动器名称或驱动器号,不带冒号 (:)。
是否为必需? |
false |
位置? |
1 |
默认值 |
|
是否接受管道输入? |
true (ByPropertyName) |
是否接受通配符? |
false |
-PSProvider <string[]>
只获取指定的 Windows PowerShell 提供程序支持的驱动器。键入提供程序的名称,如 FileSystem、Registry 或 Certificate。
是否为必需? |
false |
位置? |
named |
默认值 |
|
是否接受管道输入? |
true (ByPropertyName) |
是否接受通配符? |
false |
-Scope <string>
只获取指定范围内的 Windows PowerShell 驱动器。有效值包括“Global”、“Local”、“Script”或者相对于当前作用域的数字(0 到作用域数,其中 0 是指当前作用域,1 是指其父作用域)。默认值为“Local”。有关详细信息,请参阅 about_Scopes。
是否为必需? |
false |
位置? |
named |
默认值 |
|
是否接受管道输入? |
true (ByPropertyName) |
是否接受通配符? |
false |
-UseTransaction
将命令包含在活动事务中。仅当正在执行事务时,此参数才有效。有关详细信息,请参阅 about_Transactions。
是否为必需? |
false |
位置? |
named |
默认值 |
|
是否接受管道输入? |
false |
是否接受通配符? |
false |
<CommonParameters>
此 cmdlet 支持通用参数:-Verbose、-Debug、-ErrorAction、-ErrorVariable、-OutBuffer 和 -OutVariable。有关详细信息,请参阅 about_Commonparameters.
输入和输出
输入类型是指可通过管道传递给 cmdlet 的对象的类型。返回类型是指 Cmdlet 所返回对象的类型。
输入 |
无 不能通过管道将对象传递给 Get-PSDrive。 |
输出 |
System.Management.Automation.PSDriveInfo Get-PSDrive 返回表示会话中的 Windows PowerShell 驱动器的对象。 |
说明
Get-PSDrive cmdlet 用于处理由任何提供程序公开的数据。要列出会话中可用的提供程序,请键入“get-psprovider”。有关详细信息,请参阅 about_Providers。
示例 1
C:\PS>get-psdrive
Name Provider Root
---- -------- ----
Alias Alias
C FileSystem C:\
cert Certificate \
D FileSystem D:\
Env Environment
Function Function
HKCU Registry HKEY_CURRENT_USER
HKLM Registry HKEY_LOCAL_MACHINE
Variable Variable
X FileSystem X:\
说明
-----------
此命令获取当前会话中的 Windows PowerShell 驱动器。
输出显示计算机上的硬盘驱动器 (C:) 和 CD-ROM 驱动器 (D:)、由 Windows PowerShell 提供程序公开的驱动器(Alias:、Cert:、Env:、Function:、HKCU:、HKLM: 和 Variable:)以及映射到网络共享的驱动器 (X:)。
示例 2
C:\PS>get-psdrive d
Name Provider Root
---- -------- ----
D FileSystem D:\
说明
-----------
此命令显示计算机上的 D: 驱动器。请注意,驱动器号后面不带冒号。
示例 3
C:\PS>get-psdrive -psprovider filesystem
Name Provider Root
---- -------- ----
C FileSystem C:\
D FileSystem D:\
X FileSystem X:\
Y FileSystem \\Server01\Public
Z FileSystem C:\Windows\System32
说明
-----------
此命令显示 Windows PowerShell FileSystem 提供程序支持的所有驱动器。这包括固定驱动器、逻辑分区、映射的网络驱动器以及使用 New-PSDrive 创建的映射到文件系统驱动器的驱动器。
此示例演示 New-PSDrive 创建的驱动器的 Root 属性值中包含映射位置的名称。Windows 驱动器的根只有驱动器号。
示例 4
C:\PS>if (!(get-psdrive X)) {
new-psdrive -name X -psprovider Registry -root HKLM:\Network
}
else { write-host "The X: drive is already in use." }
说明
-----------
此命令检查 X 驱动器是否已作为 Windows PowerShell 驱动器名称使用。如果不是,则此命令使用 New-PSDrive cmdlet 创建一个映射到 HKLM:\Network 注册表项的 Windows PowerShell 驱动器。
示例 5
C:\PS>get-psdrive -provider filesystem
C:\PS> get-psdrive -provider filesystem
Name Provider Root
---- -------- ----
C FileSystem C:\
D FileSystem D:\
X FileSystem X:\
Y FileSystem \\Server01\Public
Z FileSystem C:\Windows\System32
C:\PS> net use
New connections will be remembered.
Status Local Remote Network
-------------------------------------------------------------------------------
X: \\Server01\Public Microsoft Windows Network
C:\PS> [System.IO.DriveInfo]::getdrives()
Name : C:\
DriveType : Fixed
DriveFormat : NTFS
IsReady : True
AvailableFreeSpace : 39831498752
TotalFreeSpace : 39831498752
TotalSize : 79900368896
RootDirectory : C:\
VolumeLabel :
Name : D:\
DriveType : CDRom
DriveFormat :
IsReady : False
AvailableFreeSpace :
TotalFreeSpace :
TotalSize :
RootDirectory : D:\
VolumeLabel :
Name : X:\
DriveType : Network
DriveFormat : NTFS
IsReady : True
AvailableFreeSpace : 36340559872
TotalFreeSpace : 36340559872
TotalSize : 36413280256
RootDirectory : X:\
VolumeLabel : D_Drive
C:\PS> get-wmiobject win32_logicaldisk
DeviceID : C:
DriveType : 3
ProviderName :
FreeSpace : 39831252992
Size : 79900368896
VolumeName :
DeviceID : D:
DriveType : 5
ProviderName :
FreeSpace :
Size :
VolumeName :
DeviceID : X:
DriveType : 4
ProviderName : \\server01\public
FreeSpace : 36340559872
Size : 36413280256
VolumeName : D_Drive
C:\PS> get-wmiobject win32_networkconnection
LocalName RemoteName
-------------- ------------
x: \\server01\public
说明
-----------
此示例将 Get-PSDrive 显示的文件系统驱动器的类型与使用其他方法显示的文件系统驱动器的类型进行比较。此示例演示在 Windows PowerShell 中显示驱动器的不同方法,并显示使用 New-PSDrive 创建的驱动器仅可在 Windows PowerShell 中访问。
第一个命令使用 Get-PSDrive 来获取 Windows PowerShell 控制台中的所有文件系统驱动器。这包括固定驱动器(C: 和 D:)、映射的网络驱动器 (X:) 以及使用 New-PsDrive 创建的两个 Windows PowerShell 驱动器(Y: 和 Z:)。
显示 Windows 映射的网络驱动器的“net use”命令仅显示 X 驱动器。该命令不显示 New-PSDrive 创建的驱动器。它显示 X: 驱动器还映射到 \\Server01\Public。
第三个命令使用 Microsoft .NET Framework System.IO.DriveInfo 类的 GetDrives 方法。此命令获取 Windows 文件系统驱动器,包括驱动器 X:,但不获取 New-PSDrive 创建的驱动器。
第四个命令使用 Get-WmiObject cmdlet 来显示 Win32_LogicalDisk 类的实例。该命令将返回 C:、D: 和 X: 驱动器,但不返回 New-PSDrive 创建的驱动器。
最后一个命令使用 Get-WmiObject cmdlet 来显示 Win32_NetworkConnection 类的实例。与“net use”相似,该命令只返回 X: 驱动器。
另请参阅
概念
about_providers
New-PSDrive
Remove-PSDrive
Get-Help
Get-Command
Get-Member