获取当前会话中的 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 所返回对象的类型。

输入

None

不能通过管道将对象传递给 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: 驱动器。






另请参阅




目录