SharePoint 2010 PowerShell (1)入门介绍

Windows PowerShell 是一个可供管理员完全访问适用的应用程序编程接口 (API) 的命令行脚本工具,并且对于直接与 SharePoint 2010 产品 交互以对 Web 应用程序、网站集、网站、列表等进行操作的功能,能够解除锁定。另外,管理员可以编写 cmdlet(发音为“command-let”)的脚本,从而改善之前产品版本的体验。

Windows PowerShell 2.0 是安装 SharePoint 2010 产品 的必备软件。如有必要,您在运行 Microsoft SharePoint 产品准备工具时就会安装它。默认情况下,Windows PowerShell 位于以下路径:<%SystemRoot%>/System32/WindowsPowerShell/v1.0/PowerShell.exe

访问 SharePoint 2010 产品的 Windows PowerShell

完成 SharePoint 2010 产品安装后,适用的 Windows PowerShell cmdlet 可通过 SharePoint 2010 Management Shell Windows PowerShell 控制台访问。通过命令行管理程序,您可以管理 SharePoint 2010 产品 的所有方面。您可以创建新的网站集、Web 应用程序、用户帐户、服务应用程序、代理等。来自命令行管理程序的命令将基于 Microsoft .NET 平台输出 SharePoint 对象。这些对象可用作后续命令的输入对象,或者存储在本地变量中供以后使用。

使用命令行管理程序,您不必注册包含 cmdlet 的管理单元。注册适用于 SharePoint 2010 cmdlet Microsoft.SharePoint.PowerShell.dll 模块是自动完成的,由位于 %CommonProgramFiles%/Microsoft Shared/Web Server Extensions/14/Config/PowerShell/Registration 下的 SharePoint.ps1 文件中的 Add-PSSnapin Microsoft.SharePoint.PowerShell 行执行。如果选择使用 Windows PowerShell 控制台,则必须手动注册管理单元。

 

$ver = $host | select version
if ($ver.Version.Major -gt 1) {$Host.Runspace.ThreadOptions = "ReuseThread"}
Add-PsSnapin Microsoft.SharePoint.PowerShell
Set-location $home

 

以上命令式将SharePoint的管理命令注册到Windows PowerShell中。

 

SharePoint 2010 命令

SharePoint 2010 PowerShell管理单元中包含500条以上的命令,你可以用它来完成很多管理任务。我们可以通过Get-Command获取到的命令列表。单GetCommand获取到是所有的Windows PowerShell的所有基础命令,例如:功能,别名,过滤器,脚本和应用程序。在所有的命令中开头字母为SP的是SharePoint所应用的命令。如果要知道SharePoint命令有那些,我们可以通过以下的命令获取到。

 

PS > Get-Command -noun SP*

 

下图中标示的就是利用命令获取到的命令信息。

SharePoint 2010 PowerShell (1)入门介绍

如果使用SP*这样的命令获取到的信息,非常的多。我们可以在细化以下我们的命令。例如使用 SPSite

 

PS > Get-Command -Noun SPSite

 

获取到结果:

SharePoint 2010 PowerShell (1)入门介绍

 

 

使用SharePoint PowerShell 命令

让我们来看一下 Get-SPSite 命令是如何使用,尝试在SharePoint PowerShell使用这个命令,看一下命令返回的信息。

 

PS > Get-SPSite
Url
---
http://spservername

 

这个命令会返回所有网站集的Url,但如果我们需要了解单独一个网站集的更多的信息,该如何做呢。

我们可以利用Select-Object命令来显示额外的属性信息。例如:我们可以使用 –Identity 来指定一个网站集的名称,然后利用 Select-Object 来获取这个网站集的一些信息

 

PS > Get-SPSite -Identity http://localhost | Select-Object -Property Url, Zone, Port

SharePoint 2010 PowerShell (1)入门介绍

当然我也可以通过命令来改变网站集的一些特定属性,首先让我们来学习如何利用Set-SPSite命令向网站集中添加网站集的第二管理员。

 

PS > Get-SPSite -Identity http://SPServer | Set-SPSite -SecondaryOwnerAlias domain/user

 

如果我们再一次使用Select-Object命令就可以来显是SecondaryContact这个属性信息。让我们领用这个命令来查看一下刚刚添加的第二管理员的名字。

 

PS > Get-SPSite -Identity http://localhost  | Select-Objec SecondaryContact

SharePoint 2010 PowerShell (1)入门介绍

你可以将 SPSite 作为一个对象保存在一个变量中,例如:

 

PS > $spSite = Get-SPSite -Identity http://SPServer

 

这样我们就可以向这个变量中添加它的第二管理员了,我们也可以通Microsoft.SharePoint.SPUser 来返回一个网站中已有的用户来做为网站集的第二管理员,我们可以使用一下的命令:

PS > $spSite = Get-SPSite -Identity http://SPServer
PS > $spSite.SecondaryContact = (Get-SPUser -Web http://SPServer -Identity domain/user)

 

如果我们需要添加一个在AD中的用户,但并不在网站集中的用户,成为网站集的第二管理员。我们需要先通过New-SPUser命令添加一个用户到网站集中,在利用命令将其添加为网站第二管理员。

 

PS > $spUser = New-SPUser -Web http://SPServer -UserAlias domain/newuser
PS > $spSite.SecondaryContact = $spUser

 

当我们在PowerShell中初始化了一个对象的时候,就一定要使用Dispose()方法来释放这个内存空间。

 

PS > $spSite.Dispose()

 

为什么我们要在使用Dispose()命令呢?因为,类似SPWebSPSiteSPSiteAdministration对象使用时能占用大量的内存资源,所以我们利用PowerShell命令可以有效的降低内存的占用。在通常情况下,我们通过使用命令Get-SPSite来初始化一个对象,在调用结束以后会自动的释放资源。但这是这样不会将对象保存在一个变量中。在初始化一个对象时,我们可以使用Dispose()方法来释放内存,也可以使用Start-SPAssignment Stop- SPAssignment 命令来创建和释放存储区域。我们可以在PowerShell 使用 Get-Help Start-SPAssignment Get-Help Stop-SPAssignment 命令来查看 它的描述信息和使用的方法。



你可能感兴趣的:(SharePoint)