应用PowerShell进行SharePoint Online管理

日期: 2016-06-23 作者:Tim Warner翻译:朱文浩 来源:TechTarget中国 英文

内置的Microsoft SharePoint实现了对Windows PowerShell的稳定支持,对于SharePoint管理员而言,管理任务只有想不到,没有做不到。 在过去的几年里,微软已经将其SharePoint Online内置在SharePoint中作为提供服务的一部分。虽然取得了长足的进步,但对产品团队来说,还有很长的路要走。 今天我来解释下应用PowerShell进行SharePoint Online管理的性能与局限性。

需要考虑的基础信息 内置SharePoint最外层的安全边界即是farm。Farm由称为Web应用程序的IIS网站组成,它可分解成一个或多个站点集。 在Sha……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

内置的Microsoft SharePoint实现了对Windows PowerShell的稳定支持,对于SharePoint管理员而言,管理任务只有想不到,没有做不到。

在过去的几年里,微软已经将其SharePoint Online内置在SharePoint中作为提供服务的一部分。虽然取得了长足的进步,但对产品团队来说,还有很长的路要走。

今天我来解释下应用PowerShell进行SharePoint Online管理的性能与局限性。

需要考虑的基础信息

内置SharePoint最外层的安全边界即是farm。Farm由称为Web应用程序的IIS网站组成,它可分解成一个或多个站点集。

在SharePoint Online中,管理的开始和结束都在站点集层。你的SharePoint Online账号称为“租户”,在浏览器中,登录“租户”账号,可以按照Central Administration的版本来管理不同的网站集(图1)。

图1. SharePoint Online管理界面

图1. SharePoint Online管理界面

当你拥有SharePoint的网站集并开始运营它,随着你逐渐远离浏览器,日常的管理任务就与你在SharePoint中的本地副本非常相似。

当内置SharePoint安装Microsoft.SharePoint.PowerShell时,为与程序内置的二进制文件保持一致,需要从Microsoft Download Center中下载和安装SharePoint Online Management Shell。下载过程很快,将其添加到你的管理工作站的时间不会超过一分钟。

当然,没有了SharePoint Online订阅,很多任务便做不成了。从基于云端的副本到工业标准Office生产套件,不论是否使用Office 365,微软都有相关的订阅规划。

探索SharePoint Online命令集

现在你有了SharePoint Online订阅并载入了Management Shell,可以开始了解进阶的Windows PowerShell控制台进程。右键点击PowerShell的图标并在快捷方式菜单中选择“以管理员方式运行”,便可以开启PowerShell管理控制台。

输入Get-Command来获得SharePoint Online的全部明令清单:

Get-Command –Module Microsoft.Online.SharePoint.PowerShell

接下来将观察到命令集中有趣的内容:

  • 命令中的名词部分都以SPO前缀开头,相反的是,SharePoint内置命令名词的前缀则是SP。
  • 微软正不断更新命令集的数量。截至到本文完成时,SharePoint Online模块中共有42组命令集。SharePoint本地模块的命令集则超过700组。要统计新的命令数量,仅需要在之前的Get-Command to Measure-Object命令查询结果后面添加|Measure-Object即可。
  • SharePoint online的命令集貌似是围绕网站集,在综合管理与用户管理方面的中心功能。对想要以如列表和库的这种编程的方式控制SharePoint站点资产的PowerShell管理员来说,这并不是个好消息。

我们能够利用Get-Help来学习命令函数。首先需要升级你的本地PowerShell帮助信息库。

Update-Help –Force –ErrorAction SilentlyContinue

然后还可以试试这个:

Get-Help –Command Connect-SPOService

Connect-SPOService命令帮助SharePoint Online全局管理员连接到SharePoint Online Administration Center。

管理SharePoint Online站点集

应用PowerShell管理SharePoint Online网站集的第一步就是运行Connect-SPOService命令,到微软公有云上进行验证。你需要两方面的信息:

  • 一是你的租户URL,它的格式如下:https://tenant-admin.sharepoint.com,其中tenant的名称是指代你的服务名称。在进行SharePoint Online订阅登记时,需要对服务名称进行指定。
  • 二是你的SharePoint Online管理员账户及密码。

代码如下:

Connect-SPOService -url https://techtarget-admin.sharepoint.com -Credential tim@techtarget.onmicrosoft.com

我们应用Get-SPOSite来获取与你的订阅有关的网站集列表,我的网站集是这些:

应用PowerShell进行SharePoint Online管理

注意我之前输入的代码中,Get-SPOSite对于Select-Object的查询结果只显示了URL的属性。只要有可能,我会过滤我的PowerShell信道,这样我们可以关注到想要看的内容,同时隐藏剩余那些不需要的。

要掌握主要的SharePoint Online站点,我们可以将其存储在一个名为$main的变量中。

应用PowerShell进行SharePoint Online管理

我们使用点表示法来访问相关属性,就像下面这样:

$main.Status

    Active

$main.Template

    EHS#1

你可能会觉得有点麻烦,为什么不创建一组新的团队站点呢?要做到这点,我们需要获取大致的模板名称,相关的命令如下:Get-SPOWebTemplate。在这里我应用Get-SPOWebTemplate来过滤哪些模板已经在团队站点之中。

Get-SPOWebTemplate | Where-Object -Property Title -eq 'Team Site'

Name    Title       LocaleId   CompatibilityLevel

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

STS#0   Team Site       1033                   15

我们还需要进一步了解目标时区,可从Microsoft Developer Network获取有关信息。我的本地时区是中部地区,因此对应的时区ID码是11。

最后,我们应用New-SPOSite来创建我们全新的网站集,我需要分配约500MB的存储:

New-SPOSite -Url

https://techtarget.sharepoint.com/sites/techtarget -Title

'TechTarget Test Team Site' -Owner

'tim@techtarget.onmicrosoft.com' –

Template 'STS#0' -TimeZoneId 11 –StorageQuota 500

SharePoint Online创建网站集容器,并自动地套用顶级网站的团队站点模板来构建它。让我们从编程和图形角度的验证它的创建过程(图2)。

Get-SPOSite | Where-Object -Property Url -Like '*techtarget*' | Select-Object –Property Url

Url

---

https://timwarnertech.sharepoint.com/sites/techtarget

33

图2. 我们的新的站点集

我们用SPOUser命令集来增加和管理用户:

Get-Command -Noun SPOUser | Select-Object -Property Name

Name

----

Add-SPOUser

Get-SPOUser

Remove-SPOUser

Set-SPOUser

用Remove-SPOSite将不再需要的SharePoint Online站点集放入回收站。

Remove-SPOSite –Identity https://techtarget.sharepoint.com/sites/techtarget -Confirm:$false

最后,用Remove-SPODeletedSite来永久删除一个站点集:

Remove-SPODeletedSite –Identity https://techtarget.sharepoint.com/sites/techtarget -Confirm:$false

CSOM?仅仅只是玩具吗?

要精细化管理SharePoint Online,我们必须直接转向底层的.NET Framework。具体地说,我们的选择是:

  • 客户端的对象模型(The client-side object model,CSOM)应用程序接口(API)。
  • 表述性状态转移(The Representational State Transfer,REST)应用程序接口。

API(应用程序接口)是开发人员可以用来与应用程序接口主机服务进行沟通而调用的一系列约定。CSOM(客户端的对象模型)则是一组客户端代码库,对应各自的服务器端代理。

REST(表述性状态转移)是用于web services一款流行的API,它包括那些能够很好地通过防火墙进行数据交换的HTTP和HTTPS协议。

作者

Tim Warner
Tim Warner

技术培训师

相关推荐