【问题标题】:Add a secondary admin to SP sites including OneDrive sites, change sites locale and remove the secondary admin account - PowerShell将辅助管理员添加到 SP 站点,包括 OneDrive 站点、更改站点区域设置并删除辅助管理员帐户 - PowerShell
【发布时间】:2021-06-14 14:23:53
【问题描述】:

大家早上好。

我进退两难 - 我们的 SP 租户已设置为英国地区,但设置为美国地区。这会导致美国日期格式等问题。

我已运行以下 PS 脚本(感谢 Michael Han_MSFT)将所有网站的区域设置更改为英国:

$LocaleId = 2057 # UK
$TimeZoneId = 2 # London
$credentials = Get-Credential
Connect-PnPOnline https://tenant.sharepoint.com/sites/yoursite -Credentials $credentials
$sites=Get-PnPTenantSite
foreach($site in $sites){
Connect-PnPOnline $site.Url -Credentials $credentials
$web = Get-PnPWeb -Includes RegionalSettings,RegionalSettings.TimeZones
$timeZone = $web.RegionalSettings.TimeZones | Where-Object {$_.Id -eq $TimeZoneId}
$web.RegionalSettings.LocaleId = $LocaleId
$web.RegionalSettings.TimeZone = $timeZone
$web.Update()
Invoke-PnPQuery
}

该脚本为 SP 站点完成了这项工作,但由于唯一权限,所有 OneDrive 站点都显示为“拒绝访问”。

所以我正在考虑将运行脚本的帐户作为辅助管理员添加到 OneDrive 站点,运行上述脚本并在脚本末尾删除该帐户并将原始权限保留给站点。

添加如下内容:

#Store 2nd Admin account into a variable
$adminAcctToAdd = "sharepoint.admin@company.com"

#Add 2nd Site Collection admin
Set-SPOUser -Site $url.PersonalUrl -LoginName $adminAcctToAdd -IsSiteCollectionAdmin $true

运行上述语言环境更改脚本,最后删除辅助管理员:

Set-SPOUser -Site $url.PersonalUrl -LoginName $adminAcctToRemove -IsSiteCollectionAdmin $false

任何帮助如何将它们连接在一起?

非常感谢!最好的!

【问题讨论】:

    标签: sharepoint locale sharepoint-online onedrive


    【解决方案1】:

    您可以为所有 onedrive 站点运行以下脚本:

    #Store  Admin account into a variable
    $adminAcctToAdd = "sharepoint.admin@company.com"
    #Get OneDrive sites
    $sites=Get-PnPTenantSite -IncludeOneDriveSites -Filter "Url -like '-my.sharepoint.com/personal/'"
    foreach($site in $sites){
        #Add Admin account as an additional site collection adminstrator
        Set-PnPTenantSite $site.url -Owners $adminAcctToAdd
        
        Connect-PnPOnline $site.Url -Credentials $credentials
        $web = Get-PnPWeb -Includes RegionalSettings,RegionalSettings.TimeZones
        $timeZone = $web.RegionalSettings.TimeZones | Where-Object {$_.Id -eq $TimeZoneId}
        $web.RegionalSettings.LocaleId = $LocaleId
        $web.RegionalSettings.TimeZone = $timeZone
        $web.Update()
        Invoke-PnPQuery
        
        #Remove Admin account from site colletion administrators
        Remove-PnPSiteCollectionAdmin -Owners $adminAcctToAdd
    }
    

    【讨论】:

    • 嗨@Michael Han_MSFT,您能确认一下 - 我是否应该在开始时将您的脚本添加到脚本中(我的脚本)?如果是这样 - $sites 将涉及两次 - $sites=Get-PnPTenantSite 用于 SPO 站点,$sites=Get-PnPWeb 用于同一脚本中的 OneDrive 站点。此外,我的帐户是 SP 管理员,因此对于普通的 SP 站点,我不需要将我的帐户添加为次要所有者,但对于私人团队频道站点和 OD,这将是必需的。那么如何管理不删除我作为 SPO 站点上的站点管理员的帐户,而是添加到 OneDrive 和 MS Teams 私人渠道 SP 站点?非常感谢!
    猜你喜欢
    • 1970-01-01
    • 2021-07-17
    • 1970-01-01
    • 2021-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多