Office 365 в режиме только для чтения

Можно ли сделать семейство веб-сайтов Office 365 доступным только для чтения? Пожалуйста, помогите мне, предоставив ваш ценный ответ. Заранее спасибо.


person Community    schedule 05.05.2015    source источник


Ответы (1)


Для Office 365 вы можете рассмотреть следующие варианты:

CSOM

Предварительные требования: SDK клиентских компонентов SharePoint Online

В API администрирования клиентов SiteProperties class предоставляет свойство SiteProperties.LockState, которое получает или устанавливает состояние блокировки сайта.

using (var ctx = GetContext(tenantUrl,username,password)) {
    var tenant = new Tenant(ctx);
    var siteProperties = tenant.GetSitePropertiesByUrl(siteUrl, true);
    siteProperties.LockState = "NoAccess";
    siteProperties.Update();
    ctx.ExecuteQuery();
}

куда

public static ClientContext GetContext(Uri webUri, string userName, string password)
{
    var securePassword = new SecureString();
    foreach (var ch in password) securePassword.AppendChar(ch);
    return new ClientContext(webUri) { Credentials = new SharePointOnlineCredentials(userName, securePassword) };
}

Дополнительные сведения о состоянии блокировки см. в разделе Управление состоянием блокировки для семейства веб-сайтов в SharePoint 2013

PowerShell

Предварительные требования: командная консоль SharePoint Online

Вы можете установить состояние блокировки для семейства веб-сайтов с помощью Set-SPOSite. команда:

Set-SPOSite https://[tenant].sharepoint.com/sites/targetsite -LockState [NoAccess|Unlock]

Ограничение: для Office 365 поддерживается установка только NoAccess|Unlock значений.

person Vadim Gremyachev    schedule 05.05.2015
comment
в моем случае я пытаюсь удалить флаг только для чтения для своего сайта. Существующее значение для LockState — ReadOnly. Другой мой сайт, доступный не только для чтения, имеет значение «Разблокировать». Итак, я запускаю код ниже и не выдает никаких ошибок, но не устанавливает значение. siteProperties.LockState = Разблокировать; Свойства сайта.Обновление(); ctx.Load (свойства сайта); ctx.ExecuteQuery(); - person Ravi Khambhati; 11.07.2019