PowerShell基础教程

阅读: 评论:0

2024年2月3日发(作者:)

PowerShell基础教程

PowerShell基础教程一:Windows PowerShell简介

XP/Server 2003/Vista/Server 2008操作系统的脚本语言。包括

、SH、KSH、CSH以及BASH Unix在内的大多数外壳程序的操作方式都是在新的进程中执行命令或实用工具程序,并以文本格式向用户显示结果。多年以来,许多文本处理实用工具程序,如sed、AWK

和 PERL,都已逐渐发展为支持这种交互模式。

这些外壳程序也会提供内置于外壳程序中并在外壳程序处理器中执行的命令,例如KSH

中的 typeset

命令和以及

中的 dir

命令。在大多数外壳程序中,由于内置命令数量少,从而导致许多实用工具程序应运而生。

针对这一点,Windows PowerShell

有不同的做法。

◆Windows PowerShell

并不处理文本,而是处理以.NET平台为基础的对象;

◆Windows PowerShell

附带了数量庞大的内置命令集和一致的接口;

◆对于各个工具,全部的外壳程序命令都使用相同的命令剖析器,而非使用不同的剖析器,这项特点会使你更容易学会每种命令的使用方式。

其中最棒的就是你完全不需要舍弃已使用习惯的工具,你可以继续在

Windows PowerShell

中使用诸如Net、SC

等传统的 Windows

工具。

Windows PowerShell Cmdlet

Cmdlet (发音如

“command-let”)

是指在 Windows PowerShell

中用来操作对象的单一功能命令。你可以依据其名称格式来加以辨识 Cmdlet --

以破折号 (-)

分隔的动词和名词,例如Get-Help、Get-Process

和 Start-Service。

在传统的外壳程序中,命令是极为简单 (例如 )

到极为复杂 (例如 )

范围内的可执行程序。

在 Windows PowerShell

中,大多数Cmdlet

都相当简单,而且设计成与其他

Cmdlet

结合使用。例如,"get" Cmdlet

只提取数据,"set" Cmdlet

只创建或修改数据,"format" Cmdlet

只格式化数据,而 "out" Cmdlet

只将输出导向到指定的目的地。每种 Cmdlet

都具备可在输入下列命令时加以显示的说明文件:

get-help

名称> -detailed

Cmdlet

说明文件包括了该 Cmdlet

的描述、命令语法、参数的描述以及示范该 Cmdlet

的使用范例。

全新的脚本语言

Windows PowerShell

由于下列原因使用其特有的语言,而不沿用既有的任何语言。

◆Windows PowerShell

必须拥有可管理.NET对象的语言。

◆这种语言必须提供使用 Cmdlet

的一致环境。

◆这种语言必须支持复杂的工作,而且不能让简单工作变得复杂。

◆这种语言必须与进行 .NET

程序设计时所使用的高级语言 (例如 C#)

达成一致性。

Windows 命令和实用工具程序

你可以在 Windows PowerShell

中执行 Windows

命令行程序,而且可以在外壳程序中启动具有图形用户界面的 Windows

程序,例如记事本和计算器。你也可以提取程序所产生的文本,然后用与在使用

时的相同方式在此外壳程序中使用该段文本。

处理对象

也许开始时你可能并未察觉到,当你在 Windows PowerShell

中执行工作时,实际上是在使用 .NET

对象。随着你的经验的不断累积,以及对象处理的效果更加明显,你将发现其实自己是在使用对象,甚至最后以对象为思考依据。

从技术上来看,.NET

对象是由数据以及与该数据关联的作业所组成的 .NET

类型例项。不过,你可以将对象当作拥有属性 (类似特性)

和方法 (可以针对对象执行的动作)

的数据实体。

例如,当你在 Windows PowerShell

中取得服务时,实际上你所取得的是代表该项服务的对象。当你在查看服务的相关信息时,你是在查看其服务对象的属性。同样地,当你启动服务时,也就是当你将该项服务的 Status

属性修改为

"started"

时,你正在使用该项服务对象的方法。

所有相同类型的对象都会具有相同的属性和方法,不过,对象的每个实例属性值可以各不相同。例如,每个服务对象都具有 Name

和 Status

属性。不过,各个服务可以拥有不同的名称和状态。

了解这些概念之后,这些对象就不难理解。若要找出 Cmdlet

会取得哪种对象类型,请使用管道运算符 (|)

将 "get"

命令的结果传送到Get-Member

命令。例如,下列命令会将 Get-Service

命令所提取的对象传送Get-Member。

get-service | get-member

Get-Member

会显示该服务对象的相关信息,其中包括对象的Typename,以及包含此对象属性和方法的列表。

TypeName: eController

Name MemberType Definition

---- ---------- ----------

Name AliasProperty Name = ServiceName

add_Disposed Method

add_Disposed(EventHandler value)

Close Method

Close()

Continue Method

Continue()

如需取得对象类型的相关信息,请复制和粘贴 Typename (例如,eController)

到 MSDN

中。当找到类型时,你就可以读取相关 MSDN

子主题来认识以该类型为基础的对象的属性和方法,例如出现在

Windows PowerShell

中的对象。

若要找出特定对象的所有属性值,请使用管道运算符 (|)

将 "get"

命令的结果传送到 Format-List

或是 Format-Table

命令。请配合所有 (*)

的值来使用这些

Format cmdlet

的 Property

参数。例如,若要找出系统中 Schedule

服务的所有属性,请输入:

get-service schedule | format-list -property

下面内容显示结果范例。

Name : Schedule

CanPauseAndContinue : True

CanShutdown : True

CanStop : True

DisplayName : Task Scheduler

DependentServices : {}

MachineName : .

ServiceName : Schedule

ServicesDependedOn : {RpcSs}

ServiceHandle : SafeServiceHandle

Status : Running

ServiceType : Win32ShareProcess

Site :

Container :

如果是第一次接触 Windows PowerShell,你还不需要熟知对象的每个细节,但是要对这个概念略有印象,因为你很快就能够应用这类对象来发挥其最大效益。

对象管道

使用对象的最大优点就是可以让命令更容易通过管道进行传递,也就是将某个命令的输出传递为另一个命令的输入。这种通信经常必须通过字符串操作将某种格式的输出转换成另一种格式,以及移除标题和栏标题。

Windows PowerShell

会提供以对象为基础 (而非以文本)

的全新互动模式,负责接收对象的 cmdlet,可以直接处理对象的属性和方法,而不需要进行任何转换或操作。用户可以依据名称引用对象的属性和方法,而不是计算数据在输出中的位置。

在下面的范例中,IpConfig

命令的结果会传递给 Findstr

命令。管道运算符

(|)

会将位于此命令左边的结果传递到命令的右边。在 Microsoft® Windows®

PowerShell

中,你并不需要操作字符串或计算数据位移。

PS> ipconfig | findstr "Address"

IP Address. . . . . . . . . . . . : 172.28.21.5

IP Address. . . . . . . . . . . . : 172.30.160.225

PowerShell基础教程二:Windows PowerShell中的交互式和脚本

与其他外壳程序一样,Windows PowerShell 支持完全交互式环境。在提示符下键入命令后,将处理该命令并在外壳程序窗口中显示输出。可以将命令输出发送到文件或打印机,也可以使用管道运算符 (|) 将输出发送到其他命令。

对脚本的支持

如果重复运行特定的命令或命令序列,或者如果开发一系列命令来执行复杂的任务,则会希望在文件中保存命令并执行命令文件,而不是在提示符下键入命令。保存有命令的文件称为脚本。

Windows PowerShell 除了提供交互式界面外,还完全支持脚本。在 Windows

PowerShell 中,脚本文件的文件扩展名为

.ps1。若要运行脚本,请在命令提示符下键入该脚本的名称。文件扩展名是可选的。

例如:

c:1

c:testtestscript

即使脚本在当前目录中,也必须指定脚本文件的完全限定路径。若要指示当前目录,请键入目录名称或使用点 (.) 表示当前目录。例如:

.1

虽然脚本在一些企业中非常有用 -- 甚至是必需的,但是它们可以用于传播恶意代码。因此,Windows PowerShell 中的安全策略(称为执行策略)允许您确定脚本是否可以运行,以及它们是否必须包括数字签名。为了消除明显的风险,Windows PowerShell 中的执行策略都不允许通过双击脚本的图标来运行它。有关详细信息,请键入:

get-help

about_signing

Windows PowerShell 还包括一种非常丰富的脚本语言,使用该语言可以创建从最简单到非常复杂的脚本。它支持用于循环、条件、流控制和变量赋值的语言结构。

PowerShell基础教程三:Windows PowerShell 使用初步

单击“开始”、“所有程序”、Windows PowerShell 1.0 和

Windows PowerShell。

若要从“运行”框启动 Windows PowerShell,请单击“开始”,再单击“运行”,然后键入:

powershell

若要从命令提示符 () 窗口启动 Windows PowerShell,请在命令提示符下键入:

powershell

若要查看用于启动 Windows PowerShell 的选项,请在命令提示符窗口中键入:

powershell

-?

在 Windows PowerShell 打开时,可以使用 Get-Help cmdlet 查找帮助。在 Windows

PowerShell 命令提示符下,键入:

get-help

使用 Windows PowerShell

本节介绍使用 Windows PowerShell 的基本知识。首先介绍 Get-Help cmdlet,该 cmdlet 显示有关 Windows PowerShell 中 cmdlet 和概念性主题的信息。然后,介绍几个基本的

cmdlet,说明如何使用 cmdlet 参数,然后说明如何设置 cmdlet 输出的格式以获取有用显示中所需的数据。最后的主题说明如何使用别名以便更容易地使用 Windows PowerShell,如何在 Windows PowerShell 中运行传统的 Windows 程序,以及如何管理错误。

Get-Help:获取帮助

Get-Help cmdlet 是用于了解 Windows PowerShell 的有用工具。通过阅读 cmdlet 的说明、了解有关概念并浏览语言主题,您可以开始了解如何使用 Windows PowerShell 了。

感兴趣的第一个主题可能是帮助系统。若要显示有关 Windows PowerShell 中帮助系统的信息,请键入:

get-help

>然后,您可能会对了解几个基本的 cmdlet(如 Get-Help、Get-Command、Get-Process、Get-Service 和 Get-Eventlog)感兴趣。

若要显示 cmdlet 的帮助的最简单视图,请键入“get-help”,后跟该 cmdlet 的名称。例如,若要获取 Get-Command cmdlet 的帮助,请键入:

get-help

get-command

如果 cmdlet 帮助的格式设置不正确(即,如果它以 XMLNS 标记开头),则可能是系统上的 Windows PowerShell 执行策略阻止系统加载用于设置 cmdlet 帮助格式的配置文件。有关执行策略的信息,请键入:

get-help

about_signing

若要显示 cmdlet 的详细帮助,包括参数说明和示例,请使用 Get-Help 的

Detailed 参数。例如,若要获取 Get-Command cmdlet 的详细帮助,请键入:

get-help get-command

-detailed

若要显示 cmdlet 的所有可用帮助,包括有关 cmdlet 及其参数的技术信息,请使用 Full 参数。例如,若要获取 Get-Command cmdlet 的完整帮助,请键入:

get-help get-command

-full

也可以显示帮助文件的所选部分。若要仅查看示例,请使用 Examples 参数。例如,若要显示 Get-Command cmdlet 的示例,请键入:

get-help get-command

-examples

若要仅查看详细的参数说明,请使用 Get-Help 的 Parameter 参数。可以指定参数的名称,或者使用通配符 (*) 指定所有参数。例如,若要查看 Get-Command 的 TotalCount 参数说

明,请键入:

get-help get-command -parameter

totalcount

若要查看 Get-Command cmdlet 的所有参数,请键入:

get-help get-command

-parameter *

也可以使用调用 Get-Help 的 Windows PowerShell 函数之一。Help 函数一次显示一整屏帮助内容。Man 函数显示与 Unix 中的手册页类似的帮助。若要使用 Help 和 Man 函数显示 Get-Command cmdlet 的帮助,请键入:

man

get-command

help

get-command

请求特定的帮助主题时,Get-Help 将显示该主题的内容。但是使用通配符请求多个主题时,Get-Help 将显示一个主题列表。例如,若要查看“Get”cmdlet 的帮助主题列表,请键入:

get-help get-*

有关 Windows PowerShell 中概念的帮助以“about_”开头。若要显示有关 Windows

PowerShell 概念的帮助,请键入“get-help”,后跟概念名称。例如,若要获取有关通配符的帮助,请键入:

get-help

about_wildcard

若要显示 Windows PowerShell 中所有概念性帮助主题的列表,请键入:

get-help

about_*

通过阅读帮助主题并尝试示例,您将了解 Windows PowerShell 的工作原理以及在您的工作中如何使用它。

使用 Cmdlet

cmdlet(读作“command-let”)是一个内置到外壳程序中的简单的单一功能命令行工具。可以就像使用传统的命令和实用工具那样使用 cmdlet。首先在 Windows PowerShell 命令提示符下键入 cmdlet 的名称。Windows PowerShell 命令不区分大小写,因此可以用任意大小写键入。

例如,可以尝试 Get-Date cmdlet:

C:PS> get-date

2005 年 11 月 10 日,星期四,下午 4:43:50<

若要在会话中列出 cmdlet,请使用 Get-Command cmdlet,且不带任何命令参数。

PS> get-command

CommandType Name

Definition

----------- ----

----------

Cmdlet Add-Content

Add-Content [-Path]

Cmdlet Add-History

Add-History [[-InputObject] ...

Cmdlet Add-Member

Add-Member [-MemberType]

...

默认的 Get-Command 显示有以下三列:CommandType、Name 和 Definition。列出 cmdlet

时,Definition 列显示 cmdlet 的语法。语法中的省略号 (…) 指示数据被截断。

Get-Command cmdlet 还获取除 cmdlet 之外的命令和命令元素,其中包括在 Windows

PowerShell 中可用的别名(命令昵称)、函数和可执行文件。

通过使用 Get-Command 的 Name 参数,以下命令列出了在 Windows PowerShell 中可用的可执行文件。

PS> get-command *.exe<

CommandType

Name Definition

----------- ---- ----------

Application

C:

Application

C:

Application

C:

...

列出可执行文件时,Defintion 列包含可执行文件的完整路径。

然后,尝试一些其他 cmdlet,如 Get-Process、Get-Service、Get-EventLog 和 Get-Alias。

如果对简单的“Get-”cmdlet 已非常熟悉,请尝试更有趣的 cmdlet,如 Get-WmiObject。此

cmdlet 非常有用,因为使用它可以查看和更改远程计算机的组件。例如,以下命令获取有关 Server01 远程计算机上 BIOS 的信息:

get-wmiobject win32_bios -computername

server01

如果需要任何 cmdlet 的帮助,请键入:

get-help -detailed

例如:

get-help get-alias -detailed。

了解对象:Get-Member

Get-Member 是最有用的 cmdlet 之一,它显示有关命令返回的 .NET 对象的信息。该信息包括对象的类型、属性和方法。

若要使用 Get-Member,请使用管道运算符 (|) 将命令结果发送到 Get-Member。例如:

get-service | get-member

此命令显示 Get-Service 实际上返回了一组 eController 对象 --

计算机上的每个服务都有一个对象。

TypeName:eController

Name MemberType Definition

---- ---------- ----------

Name AliasProperty Name =

ServiceName

add_Disposed Method add_Disposed(EventHandler value)

Close Method Close()

Continue Method Continue()

CreateObjRef Method CreateObjRef(Type requestedType)

Dispose Method Dispose()

Equals Method n Equals(Object obj)

ExecuteCommand Method

ExecuteCommand(Int32 command)

get_CanPauseAndContinue Method n

get_CanPauseAndContinue()

get_CanShutdown Method

an get_CanShutdown()

get_CanStop Method n get_CanStop()

get_Container Method iner get_Container()

get_DependentServices Method eController[] get_DependentServices()

get_DisplayName Method get_DisplayName()

get_MachineName Method get_MachineName()

get_ServiceHandle Method ndle get_ServiceHandle()

get_ServiceName Method get_ServiceName()

get_ServicesDependedOn Method eController[] get_ServicesDependedOn()

get_ServiceType Method eType get_ServiceType()

get_Site Method get_Site()

get_Status Method eControllerStatus get_Status()

GetHashCode Method 32 GetHashCode()

GetLifetimeService Method

GetLifetimeService()

GetType Method GetType()

InitializeLifetimeService Method

InitializeLifetimeService()

Pause Method Pause()

Refresh Method Refresh()

remove_Disposed Method

remove_Disposed(EventHandler value)

set_DisplayName Method

set_DisplayName(String value)

set_MachineName Method

set_MachineName(String value)

set_ServiceName Method

set_ServiceName(String value)

set_Site Method set_Site(ISite value)

Start Method Start(), Start(String[] args)

Stop Method Stop()

ToString Method ToString()

WaitForStatus Method WaitForStatus(ServiceControllerStatus desiredStatus),

...

CanPauseAndContinue Property n

CanPauseAndContinue {get;}

CanShutdown Property n CanShutdown {get;}

CanStop Property n CanStop {get;}

Container Property iner Container {get;}

DependentServices Property eController[] DependentServices {get;}

DisplayName Property DisplayName {get;set;}

MachineName Property MachineName {get;set;}

ServiceHandle Property ndle ServiceHandle {get;}

ServiceName Property ServiceName {get;set;}

ServicesDependedOn Property eController[] ServicesDependedOn {get;}

ServiceType Property eType ServiceType {get;}

Site Property Site {get;set;}

Status Property eControllerStatus Status {get;}

此信息看起来技术性很强,但是它实际上非常实用。

PowerShell基础教程四:在Windows PowerShell 中导航

Windows PowerShell 的最强大功能之一是,它允许您使用在文件系统中用来导航的相同熟悉方法在许多不同的数据存储区中导航。

除了熟悉的文件系统驱动器(如 C: 和 D:)之外,Windows PowerShell 还包括表示 HKEY_LOCAL_MACHINE (HKLM:) 和 HKEY_CURRENT_USER (HKCU:) 注册表配置单元、计算机上的数字签名证书存储区 (Cert:) 以及当前会话中函数

(Function:) 等的驱动器。这些驱动器称为 Windows PowerShell 驱动器。

Windows PowerShell 附带有 Windows PowerShell 提供程序支持的数个有用驱动器。若要查看 Windows PowerShell 驱动器的列表,请键入:

get-psdrive

在文件系统中导航

启动 Windows PowerShell 时,您可能很想键入熟悉的

cd、dir 或

ls。可以这样做!cd 是 Set-Location cmdlet(将当前位置更改为指定路径的 cmdlet)的别名。dir 和

ls 是 Get-Childitem cmdlet(获取某个位置中子项的 cmdlet)的别名。

若要在文件系统驱动器中导航,请使用 Set-Location (cd) 和 Get-Childitem(dir、ls)cmdlet。在 Windows PowerShell 中,驱动器由驱动器名称后跟冒号 (:) 表示,如

C:,父项与子项用反斜杠 () 或正斜杠 (/) 隔开,如

C:WindowsSystem32。

有几项功能可以使在 Windows PowerShell 中导航更容易:

· 有表示当前目录 (.) 和目录内容 (*) 的符号。

· 有表示主目录的内置变量

$home 和表示 Windows PowerShell 安装目录的内置变量

$pshome。

与在其他外壳程序中一样,可以更改位置,创建、删除、移动和复制目录及文件,以及更改其属性。甚至可以将 Tab 补齐功能用于路径名。有关详细信息,请参阅 Item cmdlet(Get-Item、Get-Childitem、New-Item、Remove-Item、Set-Item、Move-Item 和 Copy-Item)的帮助。

在注册表中导航

可以使用与在文件系统驱动器中用来导航的相同方法在 Windows 注册表中进行导航。在 Windows PowerShell 中,HKEY_LOCAL_MACHINE 配置单元映射到

Windows PowerShell HKLM: 驱动器,而 HKEY_CURRENT_USER 驱动器映射到

Windows PowerShell HKCU: 驱动器。

例如:

PS C:> cd hklm:

PS HKLM:> dir

PS HKLM:> dir

Hive:gistry::HKEY_LOCAL_MACHINE

SKC VC

Name Property

--- --

---- --------

4 0 HARDWARE {}

1 0

SAM {}

Get-ChildItem :不允许所请求的注册表访问权。

所在行:1 字符:3

+ dir <<<<

39 2

SOFTWARE {flash,

(default)}

8 0 SYSTEM {}

PS HKLM:> cd systemcurrentcontrolsetcontrol

PS HKLM:systemcurrentcontrolsetcontrol> dir

在导航时,您将注意到,dir (Get-Childitem) 的输出在注册表驱动器中与在文件系统中是不同的。由于注册表具有包含不同信息的不同驱动器,因此外壳程序提供了数据的不同视图。在这种情况下,知道存在多 少子项和项是很重要的,因此除了子项和项的名称外,输出还包括子项计数 (SKC) 和值项计数 (VC)。

PS> cd "CurrentControlSetControlSession Manager"

PS> dir

Hive:Registry::HKEY_LOCAL_MACHINEsystemCurrentControlSetControlSession

Manager

SKC VC ChildName Property

--- -- --------- --------

0 1 AppCompatibility {AppCompatCache}

15 0 AppPatches {}

0 7 DOS Devices {AUX,

MAILSLOT, NUL, PIPE, PRN, UNC, f...

到达注册表项之前,不会在导航中遇到很多的差异。注册表项中的项被认为是它们所在项的属性。因此,使用 Get-ItemProperty cmdlet 可以检索它们。

例如,如果要查看 Windows PowerShell 执行策略的值,可以使用

Get-ExecutionPolicy cmdlet,或导航到在

HKLM:hell

中存储值的

ExecutionPolicy 注册表项。

PS C:> cd hklm:

PS HKLM:> cd

hell

PS

HKLM:hell>

dir

PS

HKLM:hell>

get-itemproperty -path .-name executionpolicy

PSPath :gistry::HKEY_LOCAL_MACHINEsoftwaremicrosoftpowershell1ShellIdsMicro

hell

PSParentPath :gistry::HKEY_LOCAL_MACHINEsoftwaremicrosoftpowershell1ShellIds

PSChildName :hell

PSDrive :HKLM

PSProvider :gistry

ExecutionPolicy :RemoteSigned

在证书存储区中导航

也可以在计算机上的数字签名证书存储区中导航。证书存储区映射到

theWindows PowerShell Cert: 驱动器。以下示例说明如何使用 Set-Location

(cd) 和 Get-Childitem(dir、ls)在 Cert: 驱动器中导航。

PS C:> cd cert:

PS cert:> dir

Location :CurrentUser

StoreNames :{TrustedPeople, _NMSTR, Trust, }

Location :LocalMachine

StoreNames :{_NMSTR, Trust, REQUEST, }

PS cert:> cd currentuser

PS cert:currentuser> dir

Name :TrustedPeople

Name :_NMSTR

Name :Trust

Name :REQUEST

Name :AuthRoot

Name :ACRS

Name :My

Name :addressbook

Name :Disallowed

Name :CA

Name :UserDS

Name :Root

Name :TrustedPublisher

PS cert:currentuser> cd authroot

PS cert:currentuserauthroot> dir

Directory:tyCertificate::currentuserauthroot

Thumbprint

Subject

----------

-------

F88015D3F98479E1DA553D24FD42BA3F43886AEF O=C&W HKT SecureNet CA SGC

Root, C=hk

F44095C238AC73FC4F77BF8F98DF70F8F091BC52 CN=Class 3TS Primary CA,

O=Certplus, C=FR

EF2DACCBEABB682D32CE4ABD6CB90025236C07BC O="Colegio Nacional de

Correduria Publica Mexicana, A.C.", CN="

...

PS cert:currentuserauthroot> get-childitem

F88015D3F98479E1DA553D24FD42BA3F43886AEF

Directory:tyCertificate::currentuserauthroot

Thumbprint

Subject

----------

-------

F88015D3F98479E1DA553D24FD42BA3F43886AEF O=C&W HKT SecureNet CA SGC

Root, C=hk

PS cert:currentuserauthroot> get-childitem

F88015D3F98479E1DA553D24FD42BA3F43886AEF | format-list -property *

PSPath :tyCertificate::currentuserauthrootF88015D3F98479E1DA553D24FD42BA3F43

886AEF

PSParentPath :tyCertificate::currentuserauthroot

PSChildName :F88015D3F98479E1DA553D24FD42BA3F43886AEF

PSDrive :cert

PSProvider :tyCertificate

PSIsContainer :False

Archived :False

Extensions : {}

FriendlyName :CW HKT SecureNet CA SGC Root

IssuerName :graphy.X509Certificates.X500DistinguishedName

NotAfter :10/16/2009 2:59:00 AM

NotBefore :6/30/1999 3:00:00 AM

HasPrivateKey :False

PrivateKey :

PublicKey :Key

RawData : {48, 130, 2, }

SerialNumber : 00

SubjectName :graphy.X509Certificates.X500DistinguishedName

SignatureAlgorithm :

Thumbprint :F88015D3F98479E1DA553D24FD42BA3F43886AEF

Version : 1

Handle : 1577256

Issuer :O=C&W HKT SecureNet CA SGC Root, C=hk

Subject :O=C&W HKT SecureNet CA SGC Root, C=hk

在其他驱动器中导航

除了文件系统、注册表和证书驱动器外,Windows PowerShell 还附带有几个其他有用的驱动器,其中包括别名 (Alias:)、环境提供程序 (Env:)、函数

(Function:) 和变量 (Variable:) 驱动器。使用相同的基本方法可以在这些驱动器中导航。

关于 Windows PowerShell 驱动器

Windows PowerShell 中扩展导航功能背后的概念是 Windows PowerShell 驱动器。

可以在 Windows PowerShell 的任何数据存储区中创建 Windows PowerShell 驱动器,而且它们可以具有任何有效名称,如 C: 或“My Drive”后跟冒号 (:)。可以使用在文件系统驱动器中所用的相同方法在这些驱动器中导航。但是,Windows PowerShell 驱动器仅在 Windows PowerShell 中是可见的。无法在

Windows 资源管理器或 中查看或访问它们。

Windows PowerShell 附带有 Windows PowerShell 提供程序支持的数个有用驱动器。若要查看 Windows PowerShell 驱动器的列表,请键入:

get-psdriv

也可以使用 New-PsDrive cmdlet 创建自己的 Windows PowerShell 驱动器。例如,若要创建名为“MyDocs:”的新驱动器(位于 My Documents 目录中),请键入:

new-psdrive -name MyDocs -psprovider FileSystem -root

"$homeMy Documents"

现在,可以像使用任何其他驱动器那样使用 MyDocs: 驱动器。可以将您的位置转到该驱动器,枚举其内容以及更改其属性。

驱动器和提供程序

Windows PowerShell 提供程序使 Windows PowerShell 中的驱动器可用于您的会话,这些提供程序是 .NET 程序集,它们使在专用数据存储区中的数据在

Windows PowerShell 中可用,以便您可以轻松地查看和管理该数据。有关

Windows PowerShell 提供程序的信息,请键入:

get-help

about_psprovider

若要查看 Windows PowerShell 提供程序的列表,请键入:

get-psprovide

有关提供程序帮助文件的列表,请键入:

get-help -category

provider

有关特定提供程序的信息,请键入:

get-help <提供程序名称>

例如,

get-help

registry

PowerShell基础教程

本文发布于:2024-02-03 22:56:44,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170697220451491.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:命令   使用   对象   程序
留言与评论(共有 0 条评论)
   
验证码:
排行榜

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23