在现代办公环境中,自动化任务可以显著提高效率。PowerShell是一个强大的脚本语言,可用于自动化Microsoft Office 365中的常规任务。本文将探讨如何从远程机器利用PowerShell管理Office 365。
要运行Office 365的PowerShell命令,需要具有管理员权限。此外,计划运行PowerShell命令的远程机器应该是一台至少安装了Windows 7或Windows Server 2008 R2的64位机器。请确保已安装以下软件:
首先,需要将MSOnline模块导入到PowerShell会话中。
Import-Module MSOnline
接下来,获取管理员凭据并将其存储在变量中。
$credential = Get-Credential
运行此命令后,将弹出登录提示。输入Office 365管理员凭据。凭据不会被验证,只会存储在变量中。
现在,可以使用凭据变量建立连接。
Connect-MsolService -Credential $credential
如果输入的凭据正确,将建立连接。之后,可以开始发出Office 365操作的命令。
Office 365的PowerShell命令遵循以下命名约定:
假设想将职位更新为“SharePoint指南”,可以发出如下命令。需要指定UserPrincipalName,因为它将指示正在更新哪个用户的信息。
Set-MsolUser -UserPrincipalName spdev@archit.onmicrosoft.com -Title "The SharePoint Guide"
执行此命令后,如果通过Office 365管理员门户 -> 用户 -> 编辑用户 -> 其他详细信息进行检查,可以看到职位更改已反映出来。
如果想为Office 365租户在Azure AD中添加一个安全组(例如,SharePoint开发人员),可以运行以下命令:
New-MsolGroup –DisplayName "Developers" –Description "SharePoint Developers"
要将成员添加到此组,首先需要获取用户。
$member = Get-MsolUser -UserPrincipalName spdev@archit.onmicrosoft.com
然后获取组并将成员添加进去。
$group = Get-MsolGroup | Where-Object { $_.DisplayName –eq "Developers" }
Add-MsolGroupMember -GroupObjectId $group.ObjectId -GroupMemberType "user" -GroupMemberObjectId $member.ObjectId
在Office 365管理员门户 -> Azure AD -> 组中,可以看到组已创建,用户已添加到组中。
当有很多用户需要添加,或者有很多详细信息需要更新时,创建并执行脚本将更容易。此外,由于将所有用户详细信息存储在文件中(可以从脚本中读取),将拥有已更新数据的记录。
为了能够运行这些命令,需要是SharePoint Online全局管理员。
先决条件:
安装完上述先决条件后,打开SharePoint Online Management Shell。
与Office 365一样,需要获取凭据:
$credential = Get-Credential
此命令将打开弹出窗口,输入SharePoint Online管理员的用户名和密码。
SharePoint Online的命令格式为:
首先,需要连接到SharePoint租户。
Connect-SPOService -Url https://archit-admin.sharepoint.com -Credential $credential
一旦成功连接,可以发出特定于SharePoint在线租户的命令。
Get-SPOSite
将列出租户内的所有网站集合。
如果想更改网站的某些属性,例如标题。首先,需要通过指定URL获取特定网站。然后使用Set-SPOSite命令:
$site = Get-SPOSite https://archit.sharepoint.com
Set-SPOSite $site -Title "The SharePoint Guide"
一旦获得了网站的引用,就可以使用内置命令。例如,以下命令获取了网站上的所有用户。
Get-SPOUser -Limit All -Site $site
-Limit All将确保列出所有用户。
默认情况下,当使用内置命令访问SharePoint在线时,只能执行一些有限的操作,例如更新网站集合、网站和用户详细信息。
然而,当使用PowerShell的SharePoint客户端对象模型时,将有更多的功能可用,例如更新列表、列表项等。基本上,可以使用SharePoint客户端对象模型做的任何事情。