汤尼

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

    Windows PowerShell是微软为Windows Server 2008以及其他服务器端的产品开发的一种命令行的外壳和脚本语言,该技术提供了丰富的控制与自动化的系统管理功能,不仅适用于对新一代微软产品进行命令行下的管理,而且非常适合编写语法简洁、功能强大的批处理文件和脚本。Windows PowerShell 在SharePoint 2010中完全取代了在SharePoint2007中 Stsadm的命令行操作方式,为SharePoint2010的开发和维护带来了不少的方便性。下面简单介绍一下Windows PowerShell的常用方式:

    如果你对PowerShell在SharePoint2010的操作完全不了解,可以从Get-Command,Get-Help 2个命令开始。当然如果你要使用PowerShell对SharePoint2010操作,必须有相应的权限才行。首先我们在用一个拥有local 管理员权限和SharePoint2010 的database中db_owner and securityadmin 角色的用户帐号登录SharePoint服务器,在开始菜单-》程序-》Microsoft SharePoint2010 Product下用管理员权限打开SharePoint Management Shell,我们要先为一个User赋权限,使其也可以登录后操作PowerShell,当然我们现在完全不知道要使用什么命令来赋权限,首先在窗口中输入

Get-Command *Admin

来找寻和Admin操作有关的命令

1

在其中我们觉得Add-SPShellAdmin命令应该是比较靠谱的命令,怎么使用这个命令呢,我们再使用

Get-Helper Add—SPShellAdmin –full

可以看到详细的用法以及举例。

如果我们要为某个用户在某个Content Database上加PowerShell access的权限,我们先得到这个Content database,输入

$contentDB=Get-SPDatabase|?{$_.Name –eq “WSS_Content”}

这样我们就获得了一个名为WSS_Content的SharePoint Content database 对象,如果我们要查看这个对象的属性时,我们可以输入

$contentDB|Get-member

2

可以看到其属性。

输入 Add-SPShellAdmin –Username “domain\useraccount” –Database $contentDB.id

为用户在WSS_Content 的database上加PowerShell access的权限,当然我们可以通过

Get-SPShellAdmin –Database $contentDB.id

来查询有Shell access的权限的用户。为用户加了权限,那么此用户可以使用SharePoint Management PowerShell来完成对SharePoint的操作了。

这里我们以site的Import和Export作例子,来简单介绍怎么用PowerShell完成上述操作。我们知道,我们在对Site作backup和restore时,有2种选择,一种是直接用Backup,restore命令,这样是对整个site collection作备份还原操作,然而当我们只是备份还原某个site或者是某个list的时候,Import和Export成了我们的选择。

首先将源site 作export,在PowerShell窗口输入

Export-SPWeb http://your targetsite url –Path "//server/folder/export.cmp”

在"//server/folder/export.cmp”下会生成一个.cmp的文件,然后先在SharePoint 上创建一个空site,再输入

Import-SPWeb –Identity http://your new site url –path //server/folder/export.cmp

完成site的import。

当然PowerShell对对象模型的操作还有很多,这里就不一一介绍了。

posted on 2010-10-27 15:14  Tonnie  阅读(1916)  评论(0编辑  收藏  举报