内置的Microsoft SharePoint实现了对Windows PowerShell的稳定支持,对于SharePoint管理员而言,管理任务只有想不到,没有做不到。 在过去的几年里,微软已经将其SharePoint Online内置在SharePoint中作为提供服务的一部分。虽然取得了长足的进步,但对产品团队来说,还有很长的路要走。 今天我来解释下应用PowerShell进行SharePoint Online管理的性能与局限性。
需要考虑的基础信息 内置SharePoint最外层的安全边界即是farm。Farm由称为Web应用程序的IIS网站组成,它可分解成一个或多个站点集。 在Sha……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属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管理界面
当你拥有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来获取与你的订阅有关的网站集列表,我的网站集是这些:
注意我之前输入的代码中,Get-SPOSite对于Select-Object的查询结果只显示了URL的属性。只要有可能,我会过滤我的PowerShell信道,这样我们可以关注到想要看的内容,同时隐藏剩余那些不需要的。
要掌握主要的SharePoint Online站点,我们可以将其存储在一个名为$main的变量中。
我们使用点表示法来访问相关属性,就像下面这样:
$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
图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协议。
相关推荐
-
两种方式将Windows容器部署到微软Azure中
想要创建并管理Windows Server容器吗?本文将会介绍如何利用本地Docker命令和PowerShell模块来实现以上目标。
-
PowerShell脚本示例及管理员参考指南
精明的Windows专业人士和管理员甚至也会做出比卷子袖子干事更加愚笨的事情,为了实现自动化任务,他们需要了解脚本语言以及所有PowerShell工具。
-
如何使用PowerShell管理Windows服务
管理员如何在本地或者远程计算机上操控服务,面对变几十台甚至几百台机器时,PowerShell就派上用场了。
-
Windows服务器管理员2015年十大最佳技巧
微软今年发布了Windows Server 2016三个技术预览版,我们的读者表示已经迫不及待地想了解即将到来的操作系统版本。我们收集了用户最关心的十大Windows Server管理技巧。