الخميس، 30 أكتوبر 2014

منح صلاحيات باورشل لمستخدم على جميع قواعد بيانات المحتوى


اذا كنت تريد صلاحيات Power Shell Access لاحد المستخدمين لعمل اوامر على قواعد بيانات المحتوى ما عليك الا تنفيذ السكربت التالي

if((Get-PSSnapin | Where {$_.Name -eq "Microsoft.SharePoint.PowerShell"})-eq $null)
{Add-PSSnapin Microsoft.SharePoint.PowerShell;}
cls
$username = Read-Host "Enter username";
Get-SPDatabase | ForEach-Object {Add-SPShellAdmin -UserName $username -database $_.Id}

الخميس، 23 أكتوبر 2014

سلسلة تقارير الباورشل : تقرير احجام قواعد بيانات المحتوى

هنا تقرير اخر لاحجام  "Content Databases Sizes". حيث يعرض قواعد بيانات المحتوى التي في المزرعة مع ذكر السعة Size التي استهلكها كل منها على مستوى خادم قواعد البيانات بالميجابايت MB.
لاكيد انه تقرير مهم جدا حيث يسمح بمتابعة الاحجام للمحافظة على احجام معقولة لقواعد البيانات حتى تبقى ضمن SharePoint Boundaries حسب ما يوضحه رابط تك نت التالي :

- Content Databases Limits - Software boundaries and limits for SharePoint 2013






Add-PSSnapin microsoft.sharepoint.powershell -ErrorAction SilentlyContinue

# SHARED VARS
$timestamp = get-date -format "yyyyMMdd_hhmmtt"
$date = get-date -format "yyyyMMdd"


#By DB
$filenameStart = "SizeByContentDatabase.csv"
$outfile = ("C:\Scripts_output\{0}_{1}.csv" -f $filenamestart, $timestamp)

$header = "Date,DBName,Size,SiteCollectionCount"
write-host $header 
$header | out-file $outfile

Start-SPassignment -global
$dblist = get-spcontentDatabase
foreach ($db in $dblist)
   #output the DB size 
   $size = $db.DisksizeRequired /1024/1024
   $dbname = $db.name
   $siteCount = $db.sites.count
   $line = "$date,$dbname,$size,$siteCount"
   

   write-host $line -foregroundcolor "yellow"
   $line | out-file $outfile -append 
}




سلسلة تقارير الباورشل : تقرير احجام مجموعات المواقع


استكمالا لسلسلة التقارير اعرض اليكم تقرير  احجام مجموعات المواقع "Site Collections Sizes". حيث يعرض كل مجموعات المواقع التي في المزرعة مع ذكر السعة Size التي استهلكها كل منها على مستوى خادم قواعد البيانات.
الاكيد انه تقرير مهم جدا حيث يسمح بمتابعة الاحجام للمحافظة على احجام معقولة لقواعد البيانات حتى تبقى ضمن SharePoint Boundaries حسب ما يوضحه رابط تك نت التالي :

Software boundaries and limits for SharePoint 2013 - Site Collections Limits

التقرير المستخرج يكون على هيئة ملف CSV كتالي و فيه الاحجام بالميجا بايت MB : 




Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue

$timestamp = get-date -format "yyyyMMdd_hhmmtt"
$date = get-date -format "yyyyMMdd"
$filenameStart = "SizeBySiteCollection"
$outfile = ("C:\Scripts_output\{0}_{1}.csv" -f $filenamestart, $timestamp)

$WebappList = get-spwebapplication 

$header = "Date,SiteCollectionUrl,Size,DBName"
write-host $header 
$header | out-file $outfile

foreach ($WebApp in $WebAppList){
$sites = $webapp.sites
foreach ($site in $sites)
{
  $url = $site.url
   $size = $site.usage.storage /1024/1024
  $db = $site.contentdatabase.name
  
  $line = "$date,$url,$size,$db"
  write-host $line
  $line | out-file $outfile -append    
  Start-Sleep -Milliseconds 100 #give the server a small break between iterations
}
}



سلسلة تقارير الباورشل : تقرير المستخدمين و الصلاحيات


من البديهي ان يكون مطلوبا من اداري مزرعة الشيربوينت ان يقوم بارسال تقارير مفصلة الى ادارته تخص مزرعة الشيربوينت.
من اهم هذه التقارير تقرير سرد جميع مستخدمي المزرعة و صلاحياتهم على مختلف المواقع و مجموعات المواقع و القوائم و الملفات و غير ذلك...
السكربت التالي سيفيدك كثيرا خصوصا انه يساعد على استخراج المطلوب على هيئة ملف CSV سهل القراءة بالاضافة الى انه يعرض النتائج على الكنسول بشكل انيق و ملون :








Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue

$timestamp = get-date -format "yyyyMMdd_hhmmtt"
$filenameStart = "c:\scripts_output\AllFARMUsers"
$logfile = ("{0}_{1}.csv" -f $filenamestart, $timestamp)

$header = "type,user,group,weburl,webname"
$header | out-file -FilePath $logfile

$iissitelist = get-spwebapplication 
foreach($onesite in $iissitelist)
{

foreach ($SiteCollection in $onesite.sites)
{
write-host $SiteCollection -foregroundcolor Blue
foreach ($web in $SiteCollection.Allwebs)
write-host "    " $web.url $web.name "users:" -foregroundcolor yellow
# Write-host "        " $web.users | select name 
foreach ($userw in $web.users)
{
write-host "        " $userw -foregroundcolor white
#$msg = ("{0},{1} user:{2}" -f $web.url,$web.name, $userw)
$msg = ("RootUser,{0},-,{1},{2}" -f $userw, $web.url,$web.name) 
$msg | out-file -FilePath $logfile  -append
   
}


foreach ($group in $web.Groups)
{
Write-host "        " $web.url $group.name: -foregroundcolor green
foreach ($user in $group.users)
 Write-host "            " $user -foregroundcolor white
 #$msg = ("{0},{1},group:{2}, user:{3}" -f $web.url, $web.name, $group, $user)
 $msg = ("GroupUser,{0},{1},{2},{3}" -f $user, $group, $web.url, $web.name)
 $msg | out-file -FilePath $logfile  -append
}
}
$web.Dispose()
}
 
}
}


بقي ان تختبره بنفسك :)


الأحد، 19 أكتوبر 2014

اسهل طريقة لمعرفة قالب الموقع !

السلام عليكم
قد تكون هناك طرق عدة لمعرفة قالب موقع ما في الشيربوينت (Site Template) كأن يكون ذلك عن طريق عمل استعلام على قاعدة البيانات التي ينتمي اليها الموقع (تنصح مايكرسفت بالابتعاد عن الاستعلامات المباشرة لقواعد البيانات لانه يعمل Lock على الجداول الخاصة بالشير بوينت) او من خلال الاستفادة برمجيا من النموذج الشيئي للشيربوينت SharePoint Object Model لايتخراج المعلومة...
لكن في رأيي اسهل طريقة للوصول الى المطلوب هي فتح صفحة تنتمي للموقع ثم اضغط بالفارة يمين ثم عرض مصدر الصفحة (view page source)  و ابحث عن العبارة التالية : SiteTemplateID
كما هو موضح في الصورة :


ثم قم بالتعرف على نوع القالب من خلال الكود الخاص به بالرجوع الى جدول اكواد القوالب الذي قد تجده في مواقع كثيرة : 

لكن قد يسأل احدهم متى يمكن ان احتاج مثل هذا الاجراء؟
الجواب هو ان هناك ميزات في الشيربوينت لا يمكن تفعيلها على كل انواع المواقع بل لابد من قوالب محددة , على سبيل المثال لايمكن تفعيل ميزة : استراتيجية تنزيل الحد الأدنى او Minimal Download Strategy و هي تقنية تقدم تجربة تنقل ضمن الصفحات أسرع وأكثر سلاسة في صفحات وقوالب مواقع تعتمدها وذلك من خلال تنزيل وعرض أجزاء صفحة تتغير فقط.
و   يمكن تفعيل هذه التقنية  على الانواع التالية : موقع فريق , مدونة , موقع ويكي... لكن موقع النشرPublishing Site  يمنع تفعيلها بل ان تفعيلها على موقع النشر سيسبب مشاكل في الموقع ...


الثلاثاء، 14 أكتوبر 2014

لا تقم بتفعيل التحديثات الالية على خوادم الشيربوينت



منذ ايام حدث امر غريب في خوادم مزرعة الشيربوينت لدينا و احببت اشراككم الموضوع. 
لدينا خوادم شيربوينت تعمل بشكل طبيعي و توفر الخدمة  للمستخدمين الا ان احد الخوادم قام بتثبيت تحديث بشكل تلقائي (Automatic Updates).و للاسف كان التحديث هو التالي : 
Security Update for Microsoft Office SharePoint Enterprise Server 2013 (KB2880994) 64-Bit Edition
وكما هو واضح من اسم التحديث فانه متعلق بالشيربوينت 2013. حيث ان تفعيل التحديث التلقائي لنظام التشغيل يقوم "بدس" باتشات (patches) لها علاقة بالشيربوينت.
المهم صار التحديث على خادم واحد وطبعا لان خوادم الشيربوينت لم تعد بنفس المستوى من حيث التحديثات المثبتة فقد حصلت كل انواع المشاكل في المزرعة بسبب ذلك :(

المهم ما اردت ان انصح به هو ان لا تقوم ابدا بتفعيل التحديثات الالية في الخوادم ولكن قم بتحميل التحديثات و تثبيتها يدويا.
لمنع التحديثات الالية قم بالدخول على control panel > system and security > Turn automatic updates on or off
ستكون الشاشة التي تظهر لك كالاتية :

كما يمكن عمل ذلك من خلال سكربت الباورشيل التالي:
Set-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update' -Name AUOptions -Value "3"


هذا لا يعني اننا لا نقوم بتحديث نظام التشغيل بل على العكس لابد من عمل ذلك بشكل دوري وانصح باستخدام الاداة التالية من مايكرسفت لهذا الغرض :  Windows Server Update Services

HAPPY PATCHING  :)   



الأحد، 12 أكتوبر 2014

هاشتاج عن الشيربوينت



احببت ان  اشارككم هذه الجمل المختصرة التي ارجو ان تكون مفيدة :

#SharePoint هي المنصة التقنية التي بني عليها مشروع البوابة الالكترونية الجديدة لجامعة طيبة. تم اطلاق اول نسخة من هذا المنتج من قبل شركة مايكرسفت بعد سنة 2000 وسط طفرة في تكنولوجيا المعلومات و الانترنت و الابحاث...

وحيث يعيش العالم حاليا تحولا هااائلا : وطفرة في التقنيات السحابية, في الموبايل و في الشبكات الاجتماعية.. جاءت النسخة 2013 من #SharePoint لتكون الجسر بين عصر الانفتاح على الانترنت و عصر تقنيات التواصل الحديثة و التقنيات السحابية...

نسخة 2013 من #SharePoint هي البداية لعصر معلوماتي جديد...

عصر ينتقل فيه #SharePoint من Site Centric Mode الى People Centric Mode

#SharePoint لم يعد فقط احدث و اقوى منتج لادارة محتوى المؤسسات بل اصبح اسلوب حياة لشريحة كبيرة من البشر حول العالم

مع مئات User Groups #SharePoint في مختلف بلدان العالم لعل اقربها لناRiyadh SharePoint User Group

يجتمعون كل شهر لتبادل افضل الممارسات في #SharePoint

الاف Most valuable professionals MVPs عبر العالم يحملون معهم اقوى المهارات في استخدام #SharePoint

عشرات Saturday Events #SharePoint تقام سنويا لمشاركة المعلومات بين المتخصصين و التعلم من خبرات الاخرين اخرها كان في القاهرة منذ ايام قليلة...

لماذا كل ذلك ؟ باختصار لان #SharePoint اصبح يمثل فعلا اسلوب العمل العصري    The New Way To Work Together