Windows Power Shell 入门系列Word下载.docx
- 文档编号:19213665
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:19
- 大小:74.71KB
Windows Power Shell 入门系列Word下载.docx
《Windows Power Shell 入门系列Word下载.docx》由会员分享,可在线阅读,更多相关《Windows Power Shell 入门系列Word下载.docx(19页珍藏版)》请在冰豆网上搜索。
PowerShell是VBScript和其他管理技术的替代品。
这不正确。
准确地说,PowerShell是VBScript和其他管理技术的补充。
也许经过一段时间的使用,有人会觉得“喔!
我喜欢PowerShell,我想我会把PowerShell用在所有任务”,没问题!
祝你开心,把你的问题告诉脚本专家,让我们看看有什么能帮你的。
另外一些人会觉得:
“我不太肯定,我喜欢PowerShell提供的一些功能,但我已经在VBScript上面花了很多时间。
我宁愿继续使用VBScript。
”,那么会怎么样?
同样没问题!
就像俗话所说的一样:
如果东西没坏,就不要去改变什么。
如果VBScript工作得没有问题,那么就继续使用它。
那么为什么还要考虑WindowsPowerShell?
有几条理由:
第一,它就像是一个驾驶执照,你可能永远用不着它,但最好还是能有一个。
确实,目前看来,PowerShell可能还没有什么大不了的。
PowerShell能做到的大多数系统管理任务,VBScript早就能够做到了。
但另一方面,也有一些例外:
比如,如果你想实现自动化管理微软ExchangeServer2007,你就必须使用PowerShell。
随着时间的推移,这些“例外”可能会演变为规则:
因为PowerShell会被连续地改进、加强(PowerShell2.0正在开发),而VBScript却不会。
不得不承认,你可能现在还不需要PowerShell,但很快,也许就会发生改变。
因此为什么不乘现在你有时间,并且可以根据自己的时间安排进度,提前先开始学习呢?
这个,就是这篇WindowsPowerShellManual手册的初衷:
本文希望用温和且轻松的方式介绍WindowsPowerShell。
就像很多其他手册,我们告诉你怎么踩油门,怎么“驾驶”你的新命令行CONSOLE和新的脚本语言。
其后,我们也要告诉你怎么维护你的新命令行CONSOLE以及脚本语言。
并且请不必担心,除了标准内容,我们也会介绍一下一些附件和自定义的项目。
我们知道你们其中一些人已经安装了WindowsPowerShell,并且从那时起,就坐在一旁想:
“好了,现在该干什么了?
”。
如果你也是这样,好,你可以停止烦恼了,你已经来到了正确的地方。
2.WindowsPowerShell入门系列之二:
启动
当你安装WindowsPowerShell时,安装程序已经为你安装好了一个快捷方式。
对于WindowsXP和Windows2003,快捷方式应该在“开始-所有程序-WindowsPowerShell1.0-WindowsPowerShell”。
没找到快捷方式?
那么PowerShell的默认安装路径在%windir%\System32\WindowsPowerShell\v1.0(例如:
C:
\Windows\System32\WindowsPowerShell\v1.0)。
打开文件夹,双击PowerShell.exe。
当你启动WindowsPowerShell后,会看见类似下图的一个窗口:
如果你在想“咦,这个看上去就像MS-DOS命令行窗口“,对了!
PowerShell正是利用了MS-DOS的命令行SHELL。
这样做至少有一个好处:
因为你可能已经使用了无数次旧的命令行窗口,那么你对如何使用PowerShell已经有了一个很好的基本概念:
键入命令然后按下ENTER键。
例如,你知道你的IP地址吗?
键入ipconfig然后按下ENTER键。
PSC:
\Scripts>
ipconfig
WindowsIPConfiguration
EthernetadapterLocalAreaConnection:
MediaState...........:
Mediadisconnected
EthernetadapterWirelessNetworkConnection:
Connection-specificDNSSuffix
.:
IPAddress............:
192.168.120.17
SubnetMask...........:
255.255.255.0
DefaultGateway.........:
192.168.120.1
正如上面的例子所暗示的一样,你可以在PowerShell中运行所有的命令行可执行命令。
你甚至可以在PowerShell窗口中运行你的VBScript和批处理文件。
你想在WindowsPowerShell窗口中运行C:
\Scripts\Test.vbs吗?
没问题:
test.vbs
Microsoft(R)WindowsScriptHostVersion5.6
Copyright(C)MicrosoftCorporation1996-2001.Allrightsreserved.
ThismessagewasgeneratedbyTest.vbs.
另外,在WindowsPowerShell中你可以找到许多你喜欢的终端命令,比如cd和cls,甚至UNIX命令如ls。
虽然也有些不重要的小小例外,但这些命令几乎会完全按照你期望的方式运行。
你想把当前目录从C:
\Script改变到C:
\Windows吗?
只需要使用一条cd命令:
\scripts>
cdc:
\windows
\WINDOWS>
Or,ifyouprefer:
chdirc:
一般情况下,这些终端命令都是WindowsPowerShellcmdlets的“别名“。
如果你愿意看一下完整的别名列表,只需要输入下面的命令,并且按下ENTER:
Get-Alias
PowerShell是大小写不敏感的,你也可以这样输入这个命令:
get-alias
甚至这样:
geT-ALIaS
3.WindowsPowerShell入门系列之三:
停、停,等等,什么是Cmdlets?
哦,对了,问得好。
Cmdlets是WindowsPowerShell的命令,它们有些类似命令行工具。
(然而,Cmdlets只能在PowerShell里使用,没有运行PowerShell时,你是不能单独运行PowerShell的Cmdlets的)。
如果没有命令行工具,Cmd.exe也不会有太大作为的,即使它有那么几个内置命令(例如cd和cls)。
许多“高级“的(以及大多数有用的)任务,都是通过命令行工具完成的,比如ipconfig.exe和ping.exe。
WindowsPowerShell也以相似的方式工作:
虽然PowerShell已经有了一些内置的命令,但大多数高级的工作,还是必须通过Cmdlets来完成。
实际上,PowerShell的命令(比如cd)没有更多的含义,它们都只是Cmdlets的别名而已,它们只是Cmdlets的“昵称“。
在这个例子中,cd命令只是一个调用Set-Location这个Cmdlet的另外一种方法。
想切换当前目录到C:
\Windows?
你可以直接使用Set-Location替代cd命令:
Set-LocationC:
\Windows
当然,WindowsPowerShell中包含的Cmdlets功能远远比切换目录强大得多。
举个例子来说:
输入下面的命令,然后看看会发现什么:
Get-Process
你会得到下列类似的返回结果,所有正在你计算机上运行的进程信息!
Handles
NPM(K)
PM(K)
WS(K)VM(M)
CPU(s)
IdProcessName
-------
------
-----
----------
-------------
103
5
1296
3676
32
0.05
2964alg
264
7
4872
10244
70
0.84
920asghost
101
4
3080
4692
38
1.77
2124atiptaxx
168
5584
6968
54
0.30
2896BTStackServer
143
3712
6640
52
2776BTTray
752
13
11048
20256
77
2.81
452CcmExec
672
2796
6864
68
18.80
1184csrss
139
6
1204
4544
0.70
2760ctfmon
很灵活吧?
或许你还想列出C:
\Scripts目录下的所有文件,包括所有子文件夹中的文件,你只需要输入:
Get-ChildItemC:
\Scripts-recurse
我们所做的,只是调用了Get-ChildItem这个Cmdlet。
你也许注意到了我们传递给Get-ChildItem一对参数:
\Scripts和-recurse。
正如你猜到的一样,C:
\Scripts是我们希望列举文件的目录路径名。
你也许还注意到,我们没有把目录路径名称用双引号括起来。
在PowerShell中,有一条规则几乎总是成立:
没有必要把参数名用引号包围起来,除非……你的参数中包含空格。
比如:
假设你要列举在C:
\DocumentsandSettings\KenMyer目录下的所有文件。
由于这个路径中含有空格,因此需要将路径名用双引号包围起来:
Get-ChildItem"
\DocumentsandSettings\KenMyer"
我们最初那个命令的第二个参数,-recurse,告诉Get-ChildItem递归地获取目录文件信息。
这是告诉Get-ChildItem获取所有C:
\Scripts的子目录信息(以及子目录的子目录)。
WindowsPowerShell1.0有129个Cmdlet,这些Cmdlets包括文件、文件夹管理,文本文件读写,事件日志管理,甚至可以创建COM和.NET框架的对象。
现在,一切都进行得很好,但是在坐到方向盘后面开始驾驶之前,脚本孩子并没有真正学过开车。
阅读并不能替代实践。
WindowsPowerShell没有什么不同,你也可以阅读有关Cmdlet的相关资料,但是仅仅通过阅读,你不会得到对cmdlets的全面感受,以及它们能做什么,直到你真正坐到方向盘后面开始实际地使用WindowsPowerShell。
当脚本专家无法做到副驾驶位置并给予你指导时(就像“减速!
看路边!
不要这么猛地踩刹车!
”),我们可以做第二好的选择:
我们提供每一个步骤的指引,带领你使用WindowsPowerShell完成一些典型的系统管理场景。
如果你觉得这很有趣(为什么不呢?
),你可以去我们的PowerShell虚拟实验室看一下WindowsPowerShellvirtual。
提示:
这里有一个可以节约时间的小提示。
当cmdlet和参数一起使用时,你可以只输入恰好可以唯一识别这个参数的字符数量。
这是什么意思?
比如,Get-ChildItem只有一个参数(recurse),这个参数以字符r开头。
这意味着我们可以使用下面的命令格式表示-recurse参数:
\Scripts-r
如果Get-ChildItem还有一个参数以字母r开头,我们假设它叫-readonly。
在这个例子中,我们可以这样指定-recurse参数:
\Scripts-rec
为什么需要输入-rec?
很简单:
我们必须键入足够的字母(3位),才能让cmdlet区分出-recurse和readonly:
•
-recurse
-readonly
还是觉得打字太多了?
那好,如果你用gci这个别名(不用说,gci就是Get-ChildItem的别名),你可以用下面的简短命令递归地获取C:
\Scripts目录的内容:
gciC:
酷吧!
4.WindowsPowerShell入门系列之四:
我有几个问题要问你们
原文链接:
是的,我们知道:
你想了解另外还有哪些cmdlets,你还想了解这些cmdlets都有什么用。
真实情况是:
我们无法在这篇文章里解答这些问题。
然而,我们可以给出一个容易接受的资源,你可以自己回答这些问题。
首先,WindowsPowerShell是一个非常容易交流而且开放的技术:
你只需要提出问题进行询问,PowerShell会非常高兴地告诉你所有关于它的一切,还记得Get-Alias这个cmdlet吗?
它返回一个所有别名的列表。
与此类似的,还有一条cmdlet:
Get-Command,它返回一个所有cmdlets的列表。
下面是部分Get-Command的返回信息:
Get-Command
CommandType
Name
Definition
-----------
----
----------
Cmdlet
Add-Content
Add-Content[-Path]<
String[]>
[-Value]<
Object[...
Add-History
Add-History[[-InputObject]<
PSObject[]>
][-Pass...
Add-Member
Add-Member[-MemberType]<
PSMemberTypes>
[-Name]...
Add-PSSnapin
Add-PSSnapin[-Name]<
[-PassThru][-Ve...
Clear-Content
Clear-Content[-Path]<
[-Filter<
Strin...
Clear-Item
Clear-Item[-Path]<
[-Force][-Filter...
Clear-ItemProperty
Clear-ItemProperty[-Path]<
[-Name]<
S...
捷径:
每行最后的三个点(…)表示什么意思?
它们表示还有些信息没有完全显示出来。
有没有办法让所有信息都显示出来呢?
有!
只需要使用List视图显示信息:
Get-Command|Format-List
这样,你就能按顺序获得所有cmdlets的完整信息了:
Name
:
Add-Content
Cmdlet
Definition
Object[]>
[-PassThru][-Filter<
String>
][-Include<
String[
]>
][-Exclude<
][-Force][-Credential<
PSCredential>
][-Verbose][-Debug][-ErrorAction<
A
ctionPreference>
][-ErrorVariable<
][-OutVariable<
][-OutBuffer<
Int32>
][-WhatIf][
-Confirm][-Encoding<
FileSystemCmdletProviderEncoding>
]
Add-Content[-LiteralPath]<
String[]>
][-Verbose][-Debug][-ErrorAc
tion<
ActionPreference>
][-Wh
atIf][-Confirm][-Encoding<
Path
AssemblyInfo
DLL
C:
\WINDOWS\assembly\GAC_MSIL\Microsoft.PowerShell.Commands.Management\1.0.0.0__31bf3856ad364e35\Micr
osoft.PowerShell.Commands.Management.dll
HelpFile
Microsoft.PowerShell.Commands.Management.dll-Help.xml
ParameterSets
:
{Path,LiteralPath}
ImplementingType:
Microsoft.PowerShell.Commands.AddContentCommand
Verb
Add
Noun
Content
我们怎么做到这个的呢?
当查询返回时,Format-List是一个cmdlet,它接收信息并把它们按照listview的格式输出(listview表示每行显示一种信息,而不是把信息以列的形式显示在一个表中)。
但是这个奇怪的符号“|”表示什么呢?
其实,这个符号是一个管道符号,它表示
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Windows Power Shell 入门系列 入门 系列