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

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


استكمالا لسلسلة التقارير اعرض اليكم تقرير  احجام مجموعات المواقع "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  


الأحد، 29 يونيو 2014

تثبيت حزمة الخدمات Service Pack 1




ربما سمعتم بالضجة التي احدثها تحديث SharePoint Server 2013 SP1 الذي قامت مايكرسفت باتاحته على الانترنت ثم حذفه مرة اخرى لما كان فيه من مشكلات من اهمها ان من يقوم بتثبيت هذا التحديث لن يكون بامكانه تثبيت اي تحديث اخر بعده !!
ابشركم انه يوجد نسخة جديدة من SP1 بعد ان قامت الشركة باصلاح المشاكل التي فيها و هي متاحة في الرابط التالي : SharePoint Server 2013 SP1
كل المشاكل و الثغرات السابقة التي تم حلها في هذا التحديث موجودة في ملف الاكسل التالي :

لنقم الان بتثبيت التحديث لكن نصيحتي ان تقوم بعمل نسخ احتياطي لكامل المزرعة Full Farm Backup و ان تقوم باختبار التحديث على بيئة تطوير او اختبار قبل تثبيته على بيئة الانتاج Production Environment.

اولا : لسلامة مزرعتك قم بتثبيت التحديث اولا على الخادم المستضيف للوحة التحكم المركزي Central Administration قبل تثبيته على اي خادم اخر. يرجى التنبه ايضا الى تثبيت التحديث في كل خوادم المزرعة التي عليها SharePoint والا فانها لن تكون في الخدمة لاحقا.

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


اضغط على Continue  و استكمل التثبيت لتظهر لك نافذة التقدم التالية


ستختفي هذه النافذة و تظهر تلقائيا لذلك لا تقم بعمل اي انهاء للتثبيت الى حين تظهر لك النافذة التالية 


قد لا تظهر لك نافذة اعادة التشغيل السابقة لان ذلك مرتبط بالخادم المستضيف للشيربوينت لكن يفضل ان تقوم باعادة التشغيل حتى لو لم يطلب منك الخادم ذلك.
ستلاحظ من خلال لوحة التحكم المركزي ان قواعد بيانات الاعدادات SharePointConfig DB لم تحدث بعد و ان حالة الخوادم هي "Upgrade Required" كما هو موضح في الصورة التالية 


من اجل ذلك لابد من عمل الخطوة التالية:

ثالثا : تشغيل معالج  SharePoint Products Configuration Wizard


لاتنس عمل الخطوات السابقة على جميع خوادم الشيربوينت التي في المزرعة.
عندما تنتهي العملية بنجاح ستلاحظ ان حالة الخوادم تغيرت لتصبح "No Action Required"
كما ستلاحظ ان Build Number لقواعد البيانات اصبح : 15.0.4569.1000
ارجو ان يكون الموضوع مفيدا لكم و كالعادة ارحب بجميع تعليقاتكم و استفساراتكم !


الأربعاء، 25 يونيو 2014

سلسلة تطبيق خدمة البحث Search Service Application - الجزء 1 - مكونات البحث

سوف نبدأ بعون الله في هذه السلسلة في الكلام عن احد اهم ميزات الشيربونت ككل و النسخة 2013 بالذات وهو Search Service Application.
في هذه السلسلة سنتناول مواضيع عدة من اهمها التعريف بمكونات البحث و التفاصيل الدقيقة لهيكل هذا التطبيق.
في هذا الجزء الاول اعرض عليكم اوامر PowerShell التي تسمح بعرض جميع المكونات الموجودة في المزرعة بعد ان قام المدير SharePoint Admin بالانتهاء من تثبيت مكونات البحث و توفيرها للاستخدام.


$ssa = Get-SPServiceApplication –Name "Search Service Application 1"
$active = Get-SPEnterpriseSearchTopology -SearchApplication $ssa -Active
Get-SPEnterpriseSearchComponent -SearchTopology $active


ستكون النتائج المعروضة مشابهة للشاشة التالية :


في الصورة السابقة نلاحظ سردا لجميع المكونات Search Components , لكل مكون معرف خاص به و معرف الطوبولوجيا التي ينتمي اليها بالاضافة الى مسار حفظ ملفات الاندكس Search Index Files Location في الخوادم الخاصة به. حيث ان تغيير مسار حفظ ملفات الاندكس من قرص تشغيل النظام الى قرص اخر مخصص يعتبر من افضل الممارسات نظرا لكثرة عمليات I/O التي تقع من الشيربوينت على القرص الخاص بالاندكس اثناء عملية الكراول. الامر الذي من شأنه التأثير على اداء المزرعة في حالة ما اذا كان مسار حفظ الاندكس على قرص نظام التشغيل (الذي غاليا ما يكون C Drive).


الأحد، 25 مايو 2014

حجم قواعد بيانات المزرعة


كما هو موضح في العنوان احببت ان اضع بين ايديكم الاوامر اللازمة لسرد جميع قواعد بيانات المزرعة و اظهار حجم كل واحدة فيها بالميجا بايت.

 قد يحتاج مدير المزرعة هذه الاوامر بين الفترة و الاخرى لمراقبة الاحجام و اضافة قواعد بيانات محتوى اضافية ان لزم الامر بناء على هذا التقرير.

سكربت الباورشيل :
Get-SPDatabase | Sort-Object disksizerequired -desc | Format-Table Name, @{Label =”Size in MB”; Expression = {$_.disksizerequired/1024/1024}}

ستحصل كنتيجة على تقرير مشابه للتالي :







بالتوفيق.





الأربعاء، 14 مايو 2014

SPCAF : SharePoint Code Analyser Framework



حياة مبرمج الشيربوينت مليئة بالتقنيات المحيطة بعمله , فهو يحتاج الى ان يكون ملما بـ :
- XML
- .NET
- JAVASCRIPT
- CSS
- POWERSHELL
- CSOM
- JSOM
و غير ذلك كثير ...
لكن مع هذا الزخم من التقنيات كيف نضمن ان تكون اكواد المصدر ذات جودة عالية و انها كتبت وفق افضل الممارسات ؟


في الحقيقة للاجابة على هذا السؤال يمكننا استخدام بعض الاداوات التي اشهرها : SPCAF SharePoint Code Analyser Framework.


توفر الاداة اكثر من 400 قاعدة لاكتشاف الاخطاء و المخاطر RISKS و  مشاكل الاداء و الثغرات الامنية بالاضافة الى التقارير و الاحصائيات و الحلول للاخطاء الموجودة في اكواد المصدر.

من يحتاج الى هذه الاداة في الشيربوينت ؟


- يحتاجه المبرمج لمعرفة ما اذا اكانت اكواده صحيحة و وفق افضل الممارسات ام لا

- بالنسبة للمبرمج قد يكون محتوى الحلول WSP او Apps معروفا لانه من قام بانتاجها لكن بالنسبة لمدير مزرعة الشيربوينت SharePoint Administrator قد لا يكون الامر كذلك لانها بالنسبة له مثل الصندوق الاسود , لذلك فهو يحتاج ان يتاكد من سلامة ما يقدم اليه من قبل المبرمج حتى يحافظ على امن , اداء , استقرار المزرعة وحتى التاكد من عدم استخدام تراخيص غير اصلية.

- مصمم النظام  Architect  يحتاجه للتاكد من الاكواد قابلة للصيانة في المستقبل و انها صممت بشكل جيد

- يحتاجه مدير الجودة ايضا للتاكد من موافقة الاكواد لمعايير و سياسات المؤسسة

اسباب اخرى تدعو الى اختياره :

- قد يتبع المبرمج في بداية مشروعه افضل الممارسات لكن مع مرور الوقت و كثرة المتطلبات ينسى ذلك , اذا احسنا الظن طبعا  :)

- مكونات الشيربوينت البرمجية معقدة جدا و الالمام بها كلها صعب جدا حتى نستطيع استخراج جميع الاخطاء من اكواد المصدر

- بغض النظر عن اكتشاف الاخطاء يهمنا ايضا ان يكون الكود وفق افضل الممارسات

- يحتاج المبرمج ايضا الى التحليل الديناميكي Dynamic Analysis و الذي يخص تاثير الاكواد على الذاكرة RAM
من اجل ذلك و غيره ادعوكم الى الحصول على نسخة تجريبية بامكانك الدخول على الرابط التالي :
http://www.spcaf.com/trial


بالتوفيق !

الثلاثاء، 8 أبريل 2014

دعوة للتسجيل في فعاليات "2014 SharePoint Saturday Gulf"





تنطلق يوم السبت القادم الموافق لـ 12-04-2014 اول فعالية اولاين  للشيربوينت في الخليج تحت عنوان  "SharePoint Saturday Gulf"

ادعو الجميع الى التسجيل لحضور المحاضرات عبر الانترنت فهي لخبراء عالميين في الشيربوينت
للتسجيل  : اضغط هنا
  المثير في الامر ان عدد كبير من المحاضرات ستكون  باللغة العربية كما يوضحه الجدول التالي :

Agenda:
 

Time

Arabic Track

English Track 1

English Track 2
10:00 – 10:50 am (GMT +4)
Keynote : To Be Announced
11:00 – 11:50 am (GMT+4)
SharePoint 2013 Enterprise Search
Jamil Haddadin (MVP) &Iman Al-Maskari
External Collaboration with SharePoint Online and Yammer
Jasper Oosterveld
SharePoint Infrastructure Tips and Tricks for On-Premises and Hybrid Cloud Environments
Michael Noel (MVP)
12:00 – 12:50 pm (GMT+4)
Application Lifecycle Management in SharePoint 2013 & Office 365
Ayman El-Hattab (MVP)
Optimizing the release distribution process of SharePoint 2013 to minimize the impact on farm’s availability
Gokan Ozcifci (MVP)
Kinecting with your class: An interactive learning experience for Office 365 for Education
Stefano Tempesta
1:00 – 1:50 pm (GMT+4)
Exploring SharePoint 2013 Cross-Site Publishing
Marwan Tarek
What's new in SharePoint 2013 Service Pack 1 (SP1)?
Introduction to SharePoint Cloud Business Apps
Usama Khan (MCT, MVP)
Break
3:00 – 3:50 pm (GMT+4)
Overview of Office 365 and Yammer
Ahmed Mahmoud (MSFT)
SharePoint Branding 101: Concept to Production
D'arce Hess
The Ultimate User Adoption Cookbook: 6 recipes for success!
Eelco Vink
4:00 – 4:50 pm (GMT+4)
Client Side Rendering in SharePoint 2013
Muawiyah Shannak
Keep SharePoint "Always On"
Liam Cleary (MVP)  
Self-Service Site Creation in SP 2013, with SharePoint Designer: A Case Study for a Project Management Office
Jim Bob Howard
5:00– 5:50 pm (GMT+4)
SharePoint Server 2013 as a Digital Asset Management System
Ahmed Said Moussa
Getting Started with Office 365 and Power BI
Bjoern H Rapp (MVP)
Introduction to Intranet Planning
Haaron Gonzalez (MVP)
6:00 – 6:50 pm (GMT+4)
Workflow Manager Tips & Tricks
Mai Omar Desouki (MCT)
SharePoint Search - An Indispensable Tool
Saifullah Shafiq (MVP)
Winning Strategies for Successful SharePoint Backup and restore
David Toyne