سؤال

أحاول بناء برنامج نصي بوويرشيل ، الذي يتكرر على جميع سيتكولكتيونس والشيكات إذا كانوا على تأمين.

هذا لأنه في بعض الأحيان لا تعود بعض المجموعات من القراءة فقط ، بعد النسخ الاحتياطي الليلي.إذا كان سك على للقراءة فقط ، أريد أن تعيينه إلى unlock.

هذا هو رمز بلدي حتى الآن:

$sites = get-spsite -limit all | foreach 
{
    write-host "Site Collection: " $_.RootWeb.Title
    if (  $_.ReadOnly -eq $true)
    { 
         write-host "Site Collection: "$_.RootWeb.Title "--- Read-only" 
         //How to unlock?
         //Set-SPSite -identity $_.RootWeb -lockstate unlock
         //$_.ReadOnly = $false
    }
}

لا يمكنني التحقق مما إذا كان رمز إلغاء القفل الخاص بي يعمل ، لأنه ليس لدي بيئة اختبار في متناول اليد الآن.أحتاج إلى مساعدة للخط المعلق حول كيفية إلغاء القفل بشكل صحيح $_.RootWeb

أطيب التحيات

/ تحرير:لجعل الأمور واضحة.المشكلة ليست ، أن ليس لدي بيئات الاختبار.المشكلة هي أنني لا أستطيع الوصول إليها الآن.لا أستطيع معرفة من أعلى رأسي كيف يمكنني تعيين الخاصية للقراءة فقط إلى كاذبة أو كيفية الحصول على -identity من عند $_. للحصول على Set-SPSite العمل في حلقة فوريتش.

هل كانت مفيدة؟

المحلول

رمز بوك التالي يعمل بالنسبة لي:

foreach($site in Get-spsite "PORTALURL/*" -limit all)
{
    Write-Host $site.RootWeb.Url
    $site.ReadOnly = $true
    Write-Host "Is read only:" $site.ReadOnly
    $site.ReadOnly = $false
    Write-Host "Is read only:" $site.ReadOnly
    $site.Dispose()
}

يقوم أولا بتعيين موقع للقراءة فقط بنجاح ، وبعد ذلك يقوم بإلغاء تعيينه.

نصائح أخرى

لسوء الحظ ، ليس هناك حقا ما يعادل سطر واحد في بوويرشيل إلى" الحصول على " أقفال لمجموعات الموقع التي أعرفها.إذا قمت بإدراج خصائص كائن مجموعة الموقع ، فلا توجد خاصية تسمى" حالة القفل " أو ما شابه.يتم تخزين قيم القفل الموضحة في واجهة المستخدم فعليا عبر 4 خصائص مختلفة في كائن مجموعة الموقع:

  • للقراءة فقط
  • قراءة
  • تم حظر الكتابة
  • لوكيسو

للحصول على قائمة مجموعات المواقع المقفلة ، يمكنك الاستفادة من البرنامج النصي بوويرشيل أدناه.

Add-pssnapin Microsoft.SharePoint.Powershell -ErrorAction silentlycontinue
$sites = get-spsite -limit all | foreach
{
    write-host "Checking lock for site collection: " $_.RootWeb.Title -foregroundcolor blue
    if ($_.ReadOnly -eq $false -and $_.ReadLocked -eq $false -and $_.WriteLocked -eq $false)
    {
        write-host "The site lock value for the site collection"$_.RootWeb.Title "is:  Unlocked" -foregroundcolor Green
    }
    if ($_.lockissue -ne $null)
    {
        write-host "The additional text was provided for the lock: " $_.LockIssue -foregroundcolor Green
    }
    elseif ($_.ReadOnly -eq $false -and $_.ReadLocked -eq $false -and $_.WriteLocked -eq $true)
    {
        write-host "The site lock value for the site collection"$_.RootWeb.Title "is:  Adding Content Prevented" -foregroundcolor Green
    }
    elseif ($_.ReadOnly -eq $true -and $_.ReadLocked -eq $false -and $_.WriteLocked -eq $true)
    {
        write-host "The site lock value for the site collection"$_.RootWeb.Title "is:  Read-only" -foregroundcolor Green
    }
    elseif ($_.ReadOnly -eq $null -and $_.ReadLocked -eq $null -and $_.WriteLocked -eq $null)
    {
        write-host "The site lock value for the site collection"$_.RootWeb.Title "is:  No Access" -foregroundcolor Green
    }
}

بعد تشغيل البرنامج النصي أعلاه سوف تحصل على معرفة التي يتم تأمين جميع مجموعات الموقع ، وذلك باستخدام رمز أدناه يمكنك فتحه ، بدلا من وضع فتح لجميع مجموعات الموقع,

باستخدام ستسادم stsadm -o setsitelock -url <Site-collection-url> -lock Unlock

باستخدام بوويرشيل Set-SPSite -identity "<Site-collection-url>" –lockstate Unlock

المصدر

وفقا ل هذه المقالة تكنيت ل شاريبوانت 2010 ، رمز بوويرشيل لقفل أو فتح مجموعة الموقع على النحو التالي:

Set-SPSite -Identity "<SiteCollection>" -LockState "<State>"

أين سيتيكولكتيون هو عنوان ورل لمجموعة الموقع التي تريد قفلها أو فتحها.

و الدولة هي إحدى القيم التالية:

  • فتح لفتح مجموعة الموقع وجعلها متاحة للمستخدمين.
  • إضافات لمنع المستخدمين من إضافة محتوى جديد إلى مجموعة الموقع.لا يزال يسمح التحديثات والحذف.
  • للقراءة فقط لمنع المستخدمين من إضافة أو تحديث أو حذف المحتوى.
  • نواكسيس لمنع المستخدمين من الوصول إلى مجموعة الموقع ومحتواه.يتلقى المستخدمون الذين يحاولون الوصول إلى الموقع خطأ

لذلك لفتح ، يجب تعيين لوكستات إلى فتح

لكنني أنصحك حقا بإعداد بيئة اختبار لتجربة ذلك.إعداد بيئة مؤسسة شير في جهاز ظاهري.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى sharepoint.stackexchange
scroll top