[玩转系统] 新PSDrive(Microsoft.PowerShell.管理)
作者:精品下载站 日期:2024-12-14 02:11:42 浏览:15 分类:玩电脑
新PSDrive(Microsoft.PowerShell.管理)
新PSDrive
模块 :Microsoft.PowerShell.Management创建与项目数据存储中的位置关联的临时和永久驱动器。
句法
New-PSDrive
[-Name] <String>
[-PSProvider] <String>
[-Root] <String>
[-Description <String>]
[-Scope <String>]
[-Persist]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
描述
New-PSDrive
cmdlet 创建映射到数据存储中的某个位置或与之关联的临时和永久驱动器,例如网络驱动器、本地计算机上的目录或注册表项,并且与远程计算机上的文件系统位置关联的持久 Windows 映射网络驱动器。
临时驱动器仅存在于当前 PowerShell 会话以及您在当前会话中创建的会话中。它们可以具有 PowerShell 中有效的任何名称,并且可以映射到任何本地或远程资源。您可以使用临时 PowerShell 驱动器访问关联数据存储中的数据,就像使用任何映射的网络驱动器一样。您可以使用 Set-Location
更改驱动器中的位置,并使用 Get-Item
或 Get-ChildItem
访问驱动器的内容>。
由于临时驱动器只有 PowerShell 知道,因此您无法使用文件资源管理器、Windows Management Instrumentation (WMI)、组件对象模型 (COM)、Microsoft .NET Framework 或使用 net use。
PowerShell 3.0 中的 New-PSDrive
添加了以下功能:
- 映射的网络驱动器。您可以使用
New-PSDrive
的 Persist 参数创建 Windows 映射网络驱动器。与临时 PowerShell 驱动器不同,Windows 映射的网络驱动器不是特定于会话的。它们保存在 Windows 中,并且可以使用标准 Windows 工具(例如文件资源管理器和net use)进行管理。映射的网络驱动器必须具有驱动器号名称并连接到远程文件系统位置。当您的命令作用域为本地且没有点源时,Persist 参数不会在命令运行的范围之外保留 PSDrive 的创建。如果您在脚本内运行New-PSDrive
,并且希望驱动器无限期地保留,则必须对脚本进行点源化。为了获得最佳结果,要强制新驱动器无限期保留,请将范围参数添加到命令中,并将其值设置为全局。有关点源的更多信息,请参阅 about_Scripts。 - 外部驱动器。当外部驱动器连接到计算机时,PowerShell 会自动将 PSDrive 添加到代表新驱动器的文件系统中。您不必重新启动 PowerShell。同样,当外部驱动器与计算机断开连接时,PowerShell 会自动删除代表已删除驱动器的 PSDrive。
- 通用命名约定 (UNC) 路径的凭据。
当Root参数的值为UNC路径时,例如\Server\Share
,则在Credential值中指定的凭据参数用于创建PSDrive。否则,当您创建新的文件系统驱动器时,凭据无效。
一些代码示例使用展开来减少行长度并提高可读性。有关详细信息,请参阅 about_Splatting。
笔记
除非您使用 Scope 参数,否则将在运行 New-PSDrive
命令的范围内创建 PSDrive。
示例
示例 1:创建映射到网络共享的临时驱动器
此示例创建映射到网络共享的临时 PowerShell 驱动器。
New-PSDrive -Name "Public" -PSProvider "FileSystem" -Root "\Server01\Public"
Name Provider Root
---- -------- ----
Public FileSystem \Server01\Public
New-PSDrive
使用 Name 参数指定名为 Public
的 PowerShell 驱动器,使用 PSProvider 参数指定 PowerShell 文件系统提供者。 Root 参数指定网络共享的 UNC 路径。
要查看 PowerShell 会话中的内容:Get-ChildItem -Path Public:
示例 2:创建映射到本地目录的临时驱动器
此示例创建一个临时 PowerShell 驱动器,提供对本地计算机上目录的访问。
$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
泼溅创建参数键和值。 Name 参数指定驱动器名称 MyDocs。 PSProvider 参数指定 PowerShell FileSystem
提供程序。 Root 指定本地计算机的目录。 描述参数描述了驱动器的用途。 New-PSDrive
使用 splatted 参数创建 MyDocs
驱动器。
要查看 PowerShell 会话中的内容:Get-ChildItem -Path MyDocs:
示例 3:为注册表项创建临时驱动器
此示例创建一个临时 PowerShell 驱动器,提供对注册表项的访问。它创建一个名为 MyCompany 的驱动器,该驱动器映射到 HKLM:\Software\MyCompany 注册表项。
New-PSDrive -Name "MyCompany" -PSProvider "Registry" -Root "HKLM:\Software\MyCompany"
Name Provider Root
---- -------- ----
MyCompany Registry HKLM:\Software\MyCompany
New-PSDrive
使用 Name 参数指定名为 MyCompany
的 PowerShell 驱动器,使用 PSProvider 参数指定 PowerShell 注册表提供商。 Root 参数指定注册表位置。
要查看 PowerShell 会话中的内容:Get-ChildItem -Path MyCompany:
示例 4:使用凭据创建持久映射网络驱动器
此示例映射使用域服务帐户的凭据进行身份验证的网络驱动器。有关存储凭据的 PSCredential 对象以及如何将密码存储为 SecureString 的详细信息,请参阅 Credential 参数的说明。
$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
笔记
请记住,如果您在脚本中使用上述代码段,请将范围参数值设置为“全局”,以确保驱动器持续存在于当前范围之外。
$cred
变量存储包含服务帐户凭据的 PSCredential 对象。 Get-Credential
提示您输入存储在 SecureString 中的密码。
New-PSDrive
使用多个参数创建映射的网络驱动器。 名称指定Windows接受的S
驱动器号。 Root 将 \Server01\Scripts
定义为远程计算机上的位置。 保留创建保存在本地计算机上的 Windows 映射网络驱动器。 PSProvider 指定FileSystem
提供程序。 Credential 使用 $cred
变量获取用于身份验证的服务帐户凭据。
可以在本地计算机上的 PowerShell 会话、文件资源管理器以及使用 net use 等工具查看映射的驱动器。要查看 PowerShell 会话中的内容:Get-ChildItem -Path S:
示例 5:创建持久驱动器和临时驱动器
此示例显示持久映射网络驱动器和映射到同一网络共享的临时 PowerShell 驱动器之间的差异。
如果您关闭 PowerShell 会话,然后打开新会话,则临时 PSDrive:
不可用,但持久 X:
驱动器可用。在决定使用哪种方法来映射网络驱动器时,请考虑您将如何使用该驱动器。例如,它是否必须是持久的,以及驱动器是否必须对其他 Windows 功能可见。
# 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
示例 6:在脚本中创建永久驱动器
PSDrive 是在运行 New-PSDrive
命令的范围内创建的。当该命令在脚本中运行时,驱动器映射是脚本的本地驱动器映射。当脚本退出时,驱动器不再可用。
New-PSDrive -Persist -Name "X" -PSProvider "FileSystem" -Root "\Server01\Public" -Scope Global
要确保驱动器在脚本外部可用,您必须使用范围参数在全局范围中创建驱动器。
参数
-Confirm
在运行 cmdlet 之前提示您进行确认。
类型 :SwitchParameter
别名:cf
位置:命名
默认值:False
必需的:False
接受管道输入:False
接受通配符:False
-Credential
指定有权执行此操作的用户帐户。默认为当前用户。
从 PowerShell 3.0 开始,当 Root 参数的值为 UNC 路径时,您可以使用凭据创建文件系统驱动器。
输入用户名,例如 User01 或 Domain01\User01,或输入由 Get-Credential cmdlet。如果您键入用户名,系统会提示您输入密码。
凭证存储在 PSCredential 对象中,密码存储为 SecureString。
笔记
有关 SecureString 数据保护的更多信息,请参阅 SecureString 的安全性如何?。
类型 :PS凭证
位置:命名
默认值:当前用户
必需的:False
接受管道输入:True
接受通配符:False
-Description
指定驱动器的简短文本描述。输入任意字符串。
要查看所有会话驱动器的描述,Get-PSDrive |格式-表名称、描述
。
要查看特定驱动器的描述,请键入 (Get-PSDrive ).Description
。
String
位置:命名
默认值:None
必需的:False
接受管道输入:True
接受通配符:False
-Name
指定新驱动器的名称。对于持久映射网络驱动器,请使用驱动器号。对于临时 PowerShell 驱动器,您不受驱动器号的限制,可以使用任何有效的字符串。
类型 :String
位置:0
默认值:None
必需的:True
接受管道输入:True
接受通配符:False
-Persist
指示此 cmdlet 创建 Windows 映射网络驱动器。 Persist 参数仅在 Windows 上可用。
映射的网络驱动器保存在本地计算机上的 Windows 中。它们是持久的,不特定于会话,并且可以在文件资源管理器和其他工具中查看和管理。
当您在本地设置命令范围且没有点源时,Persist 参数不会在运行命令的范围之外持久保存 PSDrive 的创建。如果您在脚本内运行 New-PSDrive
,并且希望新驱动器无限期地保留,则必须对该脚本进行点源化。为了获得最佳结果,要强制保留新驱动器,请将 Global 指定为 Scope 参数的值,并在命令中包含 Persist。
驱动器的名称必须是字母,例如 D
或 E
。 Root 参数的值必须是另一台计算机的 UNC 路径。 PSProvider 参数的值必须是FileSystem
。
要断开 Windows 映射网络驱动器的连接,请使用 Remove-PSDrive
cmdlet。当您断开 Windows 映射网络驱动器的连接时,该映射将从计算机中永久删除,而不仅仅是从当前会话中删除。
映射的网络驱动器特定于用户帐户。在提升的会话或使用其他用户的凭据的会话中创建的映射驱动器在使用不同凭据启动的会话中不可见。
类型 :SwitchParameter
位置:命名
默认值:False
必需的:False
接受管道输入:True
接受通配符:False
-PSProvider
指定支持此类驱动器的 PowerShell 提供程序。
例如,如果驱动器与网络共享或文件系统目录关联,则 PowerShell 提供程序为 FileSystem
。如果驱动器与注册表项关联,则提供程序为 Registry
。
临时 PowerShell 驱动器可以与任何 PowerShell 提供程序关联。映射的网络驱动器只能与FileSystem
提供程序关联。
要查看 PowerShell 会话中的提供程序列表,请使用 Get-PSProvider
cmdlet。
String
位置:1
默认值:None
必需的:True
接受管道输入:True
接受通配符:False
-Root
指定 PowerShell 驱动器映射到的数据存储位置。
例如,指定网络共享(例如 \Server01\Public
)、本地目录(例如 C:\Program Files
)或注册表项(例如 HKLM:\Software\Microsoft。
临时 PowerShell 驱动器可以与任何受支持的提供程序驱动器上的本地或远程位置关联。映射的网络驱动器只能与远程计算机上的文件系统位置关联。
类型 :String
位置:2
默认值:None
必需的:True
接受管道输入:True
接受通配符:False
-Scope
指定驱动器的范围。此参数可接受的值为:全局、本地和脚本,或相对于当前范围的数字。范围编号 0 到范围数量。当前作用域编号为 0,其父作用域编号为 1。有关详细信息,请参阅 about_Scopes。
类型 :String
位置:命名
默认值:当地的
必需的:False
接受管道输入:True
接受通配符:False
-WhatIf
显示 cmdlet 运行时会发生什么情况。该 cmdlet 未运行。
类型 :SwitchParameter
别名:wi
位置:命名
默认值:False
必需的:False
接受管道输入:False
接受通配符:False
输入
无
您无法将对象通过管道传输到此 cmdlet
输出
PSDriveInfo
此 cmdlet 返回表示创建的驱动器的 PSDriveInfo 对象。
笔记
PowerShell 包含 Get-PSDrive
的以下别名:
所有平台:
ndr
Windows:
mount
New-PSDrive
旨在处理任何提供商公开的数据。要列出会话中可用的提供程序,请使用 Get-PSProvider
。有关提供商的更多信息,请参阅 about_Providers。
映射的网络驱动器特定于用户帐户。在提升的会话或使用其他用户的凭据的会话中创建的映射驱动器在使用不同凭据启动的会话中不可见。
猜你还喜欢
- 03-30 [玩转系统] 如何用批处理实现关机,注销,重启和锁定计算机
- 02-14 [系统故障] Win10下报错:该文件没有与之关联的应用来执行该操作
- 01-07 [系统问题] Win10--解决锁屏后会断网的问题
- 01-02 [系统技巧] Windows系统如何关闭防火墙保姆式教程,超详细
- 12-15 [玩转系统] 如何在 Windows 10 和 11 上允许多个 RDP 会话
- 12-15 [玩转系统] 查找 Exchange/Microsoft 365 中不活动(未使用)的通讯组列表
- 12-15 [玩转系统] 如何在 Windows 上安装远程服务器管理工具 (RSAT)
- 12-15 [玩转系统] 如何在 Windows 上重置组策略设置
- 12-15 [玩转系统] 如何获取计算机上的本地管理员列表?
- 12-15 [玩转系统] 在 Visual Studio Code 中连接到 MS SQL Server 数据库
- 12-15 [玩转系统] 如何降级 Windows Server 版本或许可证
- 12-15 [玩转系统] 如何允许非管理员用户在 Windows 中启动/停止服务
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[影视] 黑道中人 Alto Knights(2025)剧情 犯罪 历史 电影
[古装剧] [七侠五义][全75集][WEB-MP4/76G][国语无字][1080P][焦恩俊经典]
[实用软件] 虚拟手机号 电话 验证码 注册
[电视剧] 安眠书店/你 第五季 You Season 5 (2025) 【全10集】
[电视剧] 棋士(2025) 4K 1080P【全22集】悬疑 犯罪 王宝强 陈明昊
[软件合集] 25年6月5日 精选软件22个
[软件合集] 25年6月4日 精选软件36个
[短剧] 2025年06月04日 精选+付费短剧推荐33部
[短剧] 2025年06月03日 精选+付费短剧推荐25部
[软件合集] 25年6月3日 精选软件44个
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电视剧] 欢乐颂.5部全 (2016-2024)
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[影视] 【稀有资源】香港老片 艺坛照妖镜之96应召名册 (1996)
[剧集] 神经风云(2023)(完结).4K
[剧集] [BT] [TVB] [黑夜彩虹(2003)] [全21集] [粤语中字] [TV-RMVB]
[实用软件] 虚拟手机号 电话 验证码 注册
[资源] B站充电视频合集,包含多位重量级up主,全是大佬真金白银买来的~【99GB】
[影视] 内地绝版高清录像带 [mpg]
[书籍] 古今奇书禁书三教九流资料大合集 猎奇必备珍藏资源PDF版 1.14G
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电影] 美国队长4 4K原盘REMUX 杜比视界 内封简繁英双语字幕 49G
[电影] 死神来了(1-6)大合集!
[软件合集] 25年05月13日 精选软件16个
[精品软件] 25年05月15日 精选软件18个
[绝版资源] 南与北 第1-2季 合集 North and South (1985) /美国/豆瓣: 8.8[1080P][中文字幕]
[软件] 25年05月14日 精选软件57个
[短剧] 2025年05月14日 精选+付费短剧推荐39部
[短剧] 2025年05月15日 精选+付费短剧推荐36部
- 最新评论
-
- 热门tag