Powershell 阻止Sharepoint中的所有个人网站(Microsoft无法帮助)

Powershell 阻止Sharepoint中的所有个人网站(Microsoft无法帮助),powershell,sharepoint,Powershell,Sharepoint,是否有办法锁定所有个人网站 我找到了阻止一个站点的脚本 $siteUrl = "https://xxx-my.sharepoint.com/personal/adelev_xxx_onmicrosoft_com" $site = Get-SPOSite $siteUrl -Detailed Set-SPOSite $site -LockState NoAccess 这是可行的,但我有数百个网站要屏蔽。首先,我需要列出所有的网站,然后一个接一个地阻止他们。 你好, 有没有办法

是否有办法锁定所有个人网站

我找到了阻止一个站点的脚本

$siteUrl = "https://xxx-my.sharepoint.com/personal/adelev_xxx_onmicrosoft_com"
$site = Get-SPOSite $siteUrl -Detailed
Set-SPOSite $site -LockState NoAccess
这是可行的,但我有数百个网站要屏蔽。首先,我需要列出所有的网站,然后一个接一个地阻止他们。 你好,

有没有办法使其自动化并阻止所有站点

我想暂时锁定网站。此锁定阻止拥有个人网站的用户使用它们(新ppl被MySite设置阻止)


我直接联系了Microsoft,他们向我提供了一些数据-他们告诉我应该使用ForEach,但我不知道如何使用它,而且他们不会再帮助我,因为这违反了某些政策。

总之,你需要的是:

  • 获取所有个人网站
  • 使用任何类似于foreach的机制为每个人运行
    Set SPOSite
  • 以下是1的有用文章:。因此,您需要运行以下操作:

    $allSites = Get-SPOSite -IncludePersonalSite $true -Limit all -Filter "Url -like '-my.sharepoint.com/personal/'" | Select -ExpandProperty Url
    
    两个人。您可以使用类似于:

    foreach ($site in $allSites) {
      Set-SPOSite -Identity $site -LockState NoAccess
    }
    

    脚本目前工作,但我不知道如何检查状态是否更改。我试过这样做:Get SPOSite-IncludePersonalSite$true它打印所有站点,但如何打印所有具有锁定状态的站点?谢谢你看一看。您可能希望从初始cmdlet中排除
    | Select-ExpandProperty Url
    ,以便可以访问更多数据。删除Select-ExpandProperty Url时,它根本不会更改输出。对于更改LockState的裸shellpoint脚本,什么更好?有或没有参数?也看不见使其工作<代码>连接服务-Urlhttps://xxx-admin.sharepoint.com $allSites=Get SPOSite-IncludePersonalSite$true-Limit all-Filter“Url-like'-my.sharepoint.com/personal/”| Select-ExpandProperty-Url foreach($allSites中的site){Where object-Identity$site-LockState NoAccess}这也不起作用:
    $allSites=Get SPOSite-IncludePersonalSite$true-Limit all-Filter“Url-like'-my.sharepoint.com/personal/”foreach($allSites中的site){$site where-LockState NoAccess}