练习 :使用PowerShell脚本
在此次练习中,您将了解到如何使用PowerShell和专为SharePoint 2010构建的PowerShell加载项。
从Windows 开始菜单中启动PowerShell控制台。您将在开始菜单-〉所有程序-〉附件-〉Windows PowerShell中找到一个叫做Windows PowerShell的PowerShell快捷方式。选择Windows PowerShell快捷方式。请注意,在该步骤中,您应该通过标准的PowerShell菜单项来启动PowerShell控制台,而不是SharePoint程序组下特定于SharePoint的菜单项。
1. 您会在PowerShell控制台窗口中看到一个命令提示,键入如下命令,其中包含Set-Location命令和一个指向本地c:\驱动器的路径参数,并按[Enter]。该命令等价于DOS中的CD命令。
Set-Location c:\Student\Labs\01_Roadmap\Powershell\
2. 现在,PowerShell控制台的当前文件夹中应该包含几个PowerShell脚本文件(*.psl文件),此次试验将会用到这些文件。键入不包含任何参数的Get-ChildItem命令,并按[Enter],来查看该文件中的所有.psl文件。
Get-ChildItem
3. 键入如下命令,并按[Enter],以便在Notepad程序中打开名为Hello.ps1的脚本。
Notepad Hello.ps1
4. 在查看Hello.ps1中的PowerShell代码之后,键入.\Hello.ps1并按[Enter],来尝试运行该脚本。如果您的虚拟机对PowerShell脚本支持仍采用默认的受限执行策略,该脚本将无法执行。如果执行策略已被更改为不受限制,控制台将询问您是否要执行该脚本。当编写和测试PowerShell脚本时,为了让脚本可以不发出询问提示而直接执行,最简便的方法就是将执行策略更改为Bypass。键入如下命令,并按[Enter],来启用脚本运行支持。
Set-ExecutionPolicy ByPass
5. 现在,键入.\Hello.ps1并按[Enter],以便再次尝试运行Hello.ps1脚本。此时,您应该看到该脚本成功运行,并将一个简单的消息输出到PowerShell控制台。
6. 现在,来使用一个更好的脚本编辑程序。从Windows 开始菜单中,打开Windows PowerShell ISE。该快捷方式位于开始菜单-〉所有程序-〉附件-〉Windows PowerShell中。ISE是集成脚本开发环境(Integrated Scripting Environment)的缩写。
7. 在Windows PowerShell ISE中再次打开Hello.ps1文件。展开Debug菜单,您应该看到该菜单为您提供了运行和调试PowerShell脚本代码的能力。按[F5]来执行Hello.ps1,并查看输出结果。
8. 在Hello.ps1中,对文本消息稍做更改,即对名为$HelloMessage的变量进行赋值,并进行保存。
$HellowMessage = "Sample message" Write-Host "-----------------------------------" Write-Host "Hello World of Powershell Scripting" Write-Host "Host name: "$(Get-Item env:\computerName).value Write-Host $HellowMessage Write-Host "-----------------------------------"
再次在PowerShell控制台中运行Hello.ps1。您应该看到更该如何发挥作用,并感受到编辑和运行PowerShell脚本有多么简单。
9. 现在,将通过一个PowerShell脚本来实践调试和单步执行功能。在Hello.psl的第一行中,用鼠标右键单击并选择切换断点或按[F9],来设置一个断点。现在,按[F5]开始执行。执行停止在您所设置的断点处。现在,重复按[F11]来单步执行当前脚本中的其余代码行。
10. 打开名为LoadSharePointSnapin.ps1的脚本。查看其中的PowerShell脚本代码。其中包含用于加载名为Microsoft.SharePoint.Powershell的SharePoint 2010加载项的Add-PSSnapin命令。
11. 现在,离开Windows PowerShell ISE并返回PowerShell控制台窗口。键入.\LoadSharePointSnapin.ps1并按[Enter]来运行脚本。此时,您可以调用由Microsoft.SharePoint.PowerShell管理单元提供的各种命令。
12. 运行带有如下参数的Get-Command命令,并查看[]管理单元中所包含的所有命令。
Get-Command -PSSnapin Microsoft.SharePoint.PowerShell
13. 在前一步骤中,控制台窗口中一次性显示了太多的Microsoft.SharePoint.PowerShell命令。再次运行Get-Command命令,但这次仅要求返回所有包含动词Get的命令。
Get-Command -PSSnapin Microsoft.SharePoint.PowerShell -Verb Get
14. 再次运行Get-Command命令,并输出到一个名为SP2010Cmdlets.txt的新建文本文件的管道参数。
Get-Command -PSSnapin Microsoft.SharePoint.PowerShell | out-file –filepath “c:\SP2010Cmdlets.txt”
15. 在Notepad程序中打开SP2010Cmdlets.txt,以查看Microsoft.SharePoint.PowerShell管理单元所提供的命令。
Notepad SP2010Cmdlets.txt
16. 现在,您将开始利用New-SPSite命令新建一个SharePoint网站集。要获取有关New-SPSite命令的帮助信息,可以键入如下命令并按[Enter],这将为您显示该命令的参数列表,以及哪些参数是必须的或可选的。注意,可选参数由方括号标识。
Get-Help New-SPSite
17. 使用New-SPSite命令并配合如下的参数值来创建一个新的网站集。当您完成该步骤时,您应该能够导航到位于http://moss.contoso.com/sites/Lab01C的顶层网站。
Url: http://moss.contoso.com/sites/Lab01C
OwnerAlias: Contoso\Administrator
Template: STS#1
Name: Lab01C
18. 在Windows PowerShell ISE中打开名为CreateContosoSalesSite.ps1的PowerShell脚本。查看其中的PowerShell脚本代码。
其中有一个地方用到了环境变量。所以我们需要设置一个环境变量。
在计算机属性 - 系统属性 - 高级 - 环境变量 - 系统变量里面,查找一个变量叫IgniteUrl,值是http://moss.contoso.com。如果没有就手工增加一个。
完成后需要重新启动计算机。
现在,返回PowerShell控制台并运行如下命令,来调用该脚本创建新网站。
.\CreateContosoSite.ps1 Lab01D
19. 当您在前一步骤中成功运行该脚本之后,您应该看到类似于如下所示的的输出消息。
New Contoso site successfully created
-------------------------------------
Title: Contoso Site: Lab01D
URL: http://moss.contoso.com/sites/Lab01D
ID: [GUID value of the new SPSite created]
20. 导航到位于http://moss.contoso.com/sites/Lab01D的新建网站,并确保顶层网站符合您预期的要求。
在此次练习中,您已经动手实践了SharePoint 2010的一些PowerShell命令与自定义PowerShell脚本。
相关文件下载01_Roadmap.zip
参考资料:
Sharepoint 2010 Developer Training Kit