SharePoint Online: PowerShell kullanarak Denetimi Etkinleştirin


Gereksinim: PowerShell'i kullanarak SharePoint Online'da Denetimi etkinleştirin.

Güncelleme: SharePoint Çevrimiçi Site Koleksiyonu denetim günlükleri devre dışı bırakıldı ve bu günlüklere hem Web Kullanıcı Arayüzü hem de CSOM yöntemlerinden erişilemiyor! Bunun yerine Uyumluluk Merkezi'ndeki Birleştirilmiş Denetim Günlüklerini kullanmanız gerekir: Güvenlik ve Uyumluluk Merkezi'nden SharePoint Çevrimiçi Denetim Günlüğü Nasıl Görüntülenir?

SharePoint Online'da denetim, bir site koleksiyonundaki kullanıcı eylemlerinin izlenmesine yardımcı olur. Denetimi genellikle sitelerin, içerik türlerinin, listelerin, kitaplıkların ve liste öğelerinin nasıl kullanıldığını izlemek için ve bilgi yönetimi politikasının (güvenlik düzenliliği ve yasal uyumluluk) bir parçası olarak kullanırız. Birçok iş senaryosunda kimin hangi bilgiyle ne yaptığını bilmek kritik öneme sahiptir. Denetim özelliği etkinleştirildiğinde aşağıdaki olayların herhangi bir kombinasyonu denetlenebilir:

  • Öğeleri düzenleme
  • Öğeleri teslim alma veya iade etme
  • Öğeleri sitedeki başka bir konuma taşıma veya kopyalama
  • Öğeleri silme veya geri yükleme
  • İçerik türlerini ve sütunlarını düzenleme
  • Site içeriğini arama
  • kullanıcıları ve izinleri düzenleme

SharePoint Şirket İçi ile karşılaştırıldığında, SharePoint Online'da listelerdeki öğeleri görüntüleme ve öğe özelliklerini görüntüleme, depolama ve performans kaygıları nedeniyle belgeleri açma veya indirme işlemleri mümkün değildir.

SharePoint Online'da Denetim Nasıl Etkinleştirilir?

Denetim varsayılan olarak etkin değildir. Denetim ayarları, SharePoint Online'da site koleksiyonu düzeyinde yapılandırılır. SharePoint Online'da denetimi etkinleştirmek için,

  1. SharePoint Online Üst düzey site koleksiyonunuza gidin.
  2. Ayarlar dişlisine ve ardından Site Ayarları'na tıklayın.
  3. Site Ayarları sayfasında, Site Koleksiyonu Yönetimi altında “Site koleksiyonu denetim ayarları” seçeneğine tıklayın.
  4. "Öğeleri düzenleme", "Öğeleri silme veya geri yükleme" vb. olayları denetlemek için onay kutusunu etkinleştirerek "Belgeler ve liste öğeleri" ve "Liste, kitaplıklar ve siteler" için denetim olaylarını belirtin.

  5. Değişikliklerinizi kaydetmek için “Tamam”a tıklayın. Bu, SharePoint Online site koleksiyonunun denetlenmesine olanak tanır.

SharePoint Çevrimiçi Denetim Raporları
Denetim etkinleştirildikten sonra, Site koleksiyonu ayarları sayfasındaki "Denetim günlüğü raporları" bağlantısı aracılığıyla denetim raporlarını alabilirsiniz.

SharePoint Online: PowerShell kullanarak Denetimi Etkinleştirin

İşte SharePoint Online'da denetimi etkinleştirmek için PowerShell:


#Load SharePoint CSOM Assemblies
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"

#Site collection URL
$SiteURL = "https://crescent.sharepoint.com/"

#Get Credentials to connect
$Cred= Get-Credential
$Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Cred.Username, $Cred.Password)

Try {
    #Setup the context
    $Context = New-Object Microsoft.SharePoint.Client.ClientContext($SiteURL)
    $Context.Credentials = $credentials

    #Get the Site Collection and Audit Objects
    $Site = $Context.Site
    $Context.Load($Site)
    $Audit = $Site.Audit
    $Context.Load($Audit)
    $Context.ExecuteQuery()

    #Define Audit Flag
    $AuditFlag = [Microsoft.SharePoint.Client.AuditMaskType]::None

    #Set Audit Settings for the Site collection
    $Audit.AuditFlags = $AuditFlag
    $Audit.Update()

    #Set Autdit Log Trimming Options
    $Site.TrimAuditLog = $True
    $Site.AuditLogTrimmingRetention = 90
    $Audit.Update()

    #Set Audit Log location
    $Site.RootWeb.AllProperties["_auditlogreportstoragelocation"] = $SiteURL+"AuditDocuments"
    $Site.RootWeb.Update()

    $Context.ExecuteQuery()

   Write-host "Audit Settings Configured for the Site Collection!" -ForegroundColor Green
}
catch {
    write-host "Error Enabling Audit for Site Collection $($_.Exception.Message)" -Foregroundcolor Red
}

https://msdn.microsoft.com/en-us/library/microsoft.sharepoint.client.auditmasktype.aspx uyarınca mevcut tüm denetim maskelerinin listesi aşağıda verilmiştir.

  1. Tüm
  2. Hiçbiri
  3. Çıkış yapmak
  4. Giriş
  5. Görüş
  6. Nesne Silme
  7. Güncelleme
  8. Profil Değişikliği
  9. ÇocukSil
  10. Şema Değişikliği
  11. GüvenlikDeğişikliği
  12. Silmeyi geri al
  13. İş akışı
  14. Kopyala
  15. Taşınmak
  16. Aramak

SharePoint Online: Tüm Site Koleksiyonları için PowerShell'i kullanarak Denetim Ayarlarını Belirleyin

Denetim, site koleksiyonu düzeyinde yapılandırılır. Çok sayıda site koleksiyonunuz olduğunda, her site koleksiyonuna giderek web kullanıcı arayüzü aracılığıyla denetimi etkinleştirmek sıkıcı bir iş olacaktır. Öyleyse tüm site koleksiyonları için SharePoint Online'da denetimi etkinleştirmek üzere PowerShell'i kullanalım.


#Load SharePoint CSOM Assemblies
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"

Function Set-SPOSiteAudit($SiteURL, $AuditFlags)
{
    #Setup Credentials to connect
    $Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($AdminCred.Username, $AdminCred.Password)

    Try {
        #Setup the context
        $Context = New-Object Microsoft.SharePoint.Client.ClientContext($SiteURL)
        $Context.Credentials = $credentials

        #Get the Site Collection and Audit Objects
        $Site = $Context.Site
        $Context.Load($Site)
        $Audit = $Site.Audit
        $Context.Load($Audit)
        $Context.ExecuteQuery()

        #sharepoint online audit settings powershell
        $Audit.AuditFlags = $AuditFlags
        $Audit.Update()
        $Context.ExecuteQuery()

        Write-host -ForegroundColor Green "Audit Settings Configured for the Site Collection:" $SiteURL  
    }
    catch {
        write-host -Foregroundcolor Red "Error Enabling Audit for Site Collection $($_.Exception.Message)"
    }
}

#Set parameter values
$AdminSiteURL = "https://crescent-Admin.sharepoint.com/"
$AuditFlags="ChildDelete, ObjectDelete, Undelete, Update, Move, SecurityChange"

#Get Credentials to Connect
$AdminCred = Get-Credential

#Connect to SharePoint Online Tenant Admin
Connect-SPOService -URL $AdminSiteURL -Credential $AdminCred

#Get all Site Collections
$SitesCollection = Get-SPOSite -Limit ALL

#Iterate through each site collection
ForEach($Site in $SitesCollection)
{
    Write-host -f Yellow "Applying Audit Settings for Site Collection:"$Site.URL

    #Call the function to set auditing for site collection
    Set-SPOSiteAudit -SiteURL $Site.URL -AuditFlags $AuditFlags
}

İlgili makaleler