การจัดการ SharePoint โดยใช้ PowerShell
คู่มือนี้สำหรับผู้ที่รู้แล้วว่า Sharepoint เป็นอย่างไร โดยทั่วไปโฟกัสของคู่มืออยู่ที่ Sharepoint Administration โดยใช้ PowerShell (PoSH)
ตัวแปร :
นี่เป็นเพียงวัตถุที่มีบางอย่างเท่านั้น ตัวแปรสามารถระบุได้ด้วย $ ก่อนหน้าเช่นตัวแปรใหม่ที่ตามมา:
$ ใหม่เราเติมตัวแปรด้วยเครื่องหมาย = instantiates ต่อไปนี้ (สร้างอินสแตนซ์ของ) วัตถุเว็บ SharePoint (เรียกว่าวัตถุ SPWeb ในรูปแบบวัตถุเซิร์ฟเวอร์วัตถุ):
$ newSPWeb = get-spweb http://url.to/my/subsite
คุณสามารถตั้งชื่อตัวแปรของคุณสวยมากสิ่งที่คุณต้องการแม้ว่าจะมีกฎ - google พวกเขาหากคุณอยากรู้ตั้งแต่. Net ตั้งชื่ออนุสัญญาตั้งเล็กน้อยออกจากขอบเขตของเอกสารนี้
รูปแบบวัตถุเซิร์ฟเวอร์ SharePoint :
นี่คือสิ่งที่ทำให้ SharePoint Administration บนบรรทัดคำสั่ง sooo ง่ายและสนุกกว่า GUI มีข้อกำหนดบางอย่าง แต่ส่วนใหญ่คุณต้องได้รับสิทธิพิเศษจาก SPShellAdmin ในทุกๆฐานข้อมูลที่คุณต้องการดำเนินการ
ถ้าคุณอยู่ในหน้าจอ PowerShell ปกติคุณสามารถเพิ่มแอสเซมบลี SharePoint โดยพิมพ์ข้อความต่อไปนี้:
Add-pssnapin Microsoft.sharepoint.powershell
หากคุณไม่มี SPShellAdmin คุณอาจได้รับข้อผิดพลาดในการพูดถึงฟาร์มที่ไม่สามารถใช้ได้
ต่อไปนี้เป็นคำสั่งที่ฉันใช้กับบัญชีบริการ Admin Admin บัญชีของฉันทุกครั้งที่พบบัญชีของฉันไม่มี SPShellAdmin (เรามีฟาร์มอยู่ 20 แห่งในที่ทำงาน)
เพียงบันทึกย่อ - คำสั่งนี้ต้องทำงานด้วยบัญชีที่มี SPShellAdmin อยู่แล้ว - นอกจากนี้ยังต้องรันด้วยแอ็พพลิเคชันเชลล์ SharePoint Management ที่มีสิทธิ์ระดับผู้ดูแลระบบ / ยกระดับ:
$ spdb = get-spdatabase
PRO TIP: หากปัญหาเกิดขึ้นกับคอมพิวเตอร์หรือแล็ปท็อป / โน้ตบุ๊คคุณควรลองใช้ซอฟต์แวร์ Reimage Plus ซึ่งสามารถสแกนที่เก็บข้อมูลและแทนที่ไฟล์ที่เสียหายได้ วิธีนี้ใช้ได้ผลในกรณีส่วนใหญ่เนื่องจากปัญหาเกิดจากความเสียหายของระบบ คุณสามารถดาวน์โหลด Reimage Plus โดยคลิกที่นี่
$ username = domain \ myuser
Foreach ($ _ ใน $ spdb) {add-spshelladmin -database $ _. id -username $ username}
สิ่งที่คำสั่งนี้ทำคือคว้าชื่อฐานข้อมูลทั้งหมดที่มีอยู่ในฐานข้อมูล SharePoint ปัจจุบันและเก็บไว้ในตัวแปร $ spdb และบอกว่าภายในลูปพวกเขาจะถูกจัดการโดยใช้ตัวแปร $ _ ตัวแปร
ตัวแปรชื่อผู้ใช้ $ username เป็นชื่อผู้ใช้ที่คุณต้องการได้รับสิทธิพิเศษจาก SPShellAdmin ไปที่ ForEach loop กล่าวว่าสำหรับทุกๆรายการที่อยู่ในตัวแปร $ spdb (ซึ่งเป็นฐานข้อมูลทุกแห่งคุณสามารถดูได้ง่ายๆโดยพิมพ์ get-spdatabase) คำสั่งระหว่าง {} ควรจะวิ่ง ภายใน {} คุณจะเห็น $ _. id - สิ่งที่กล่าวคือต้องใช้ ID (GUID) ของรายการฐานข้อมูลร่วมกับพารามิเตอร์ -database และชื่อผู้ใช้ของคุณใช้ในพารามิเตอร์ --username
สมมติว่าทุกอย่างเป็นไปด้วยดีคุณจะได้รับผลลัพธ์ที่ชื่นชอบของฉันจากสิ่งที่ไม่มีอะไรเลย! นับเป็นหนึ่งในสถานการณ์ที่ไม่มีข่าวดีคือข่าวดี
กำลังเดินทางไป .
เมื่อเราได้รับอนุญาตให้เข้ามาที่นี่แล้วให้ออกจากระบบบัญชีบริการของคุณและลงชื่อเข้าใช้ด้วยบัญชีปกติของคุณ
หลังจากที่คุณกลับมาแล้วให้เปิดหน้าต่าง PoSH เก่าแบบปกติและเพิ่มแอสเซมบลี SharePoint:
Add-pssnapin Microsoft.sharepoint.powershell
จากนั้นพิมพ์
Get-SPWebApplication
เพื่อดูแอ็พพลิเคชันเว็บทั้งหมดในฟาร์มของคุณ
ให้ใส่หนึ่งในตัวแปร:
$ SPWebApp = get-spwebapplication http: // urlToMyWebApp
$ SPWebApp | รับสมาชิก
คุณควรเห็นรายการสิ่งที่ยักษ์ใหญ่บนหน้าจอของคุณตอนนี้ - นี่เป็นออบเจ็กต์สมาชิกทั้งหมดที่มีอยู่ใน Object Model ให้คุณเล่นด้วย
$ SPWebApp.sites | เลือก rootweb, url
ตอนนี้คุณจะเห็นรายการคอลเล็กชันไซต์ทั้งหมดที่คุณสร้างไว้ก่อนหน้านี้ในแอปพลิเคชันเว็บของคุณ
เล่นรอบกับสมาชิกรับและเลือกใช้ | . เส้นแนวตั้งที่เรียกว่า Pipe - เป็นวิธีที่คุณสามารถส่งผ่านวัตถุจากคำสั่งหนึ่งไปยังอีกคำสั่งหนึ่งได้
นอกจากนี้คุณยังอาจต้องการลองกดปุ่ม TAB ในคำสั่งที่เสร็จสิ้นแล้วเพื่อดูว่าจะเกิดอะไรขึ้น (ซึ่งเรียกว่า Tab-Completion และเป็นส่วนที่ฉันชอบในอินเตอร์เฟสบรรทัดคำสั่งที่ทันสมัย!)
PRO TIP: หากปัญหาเกิดขึ้นกับคอมพิวเตอร์หรือแล็ปท็อป / โน้ตบุ๊คคุณควรลองใช้ซอฟต์แวร์ Reimage Plus ซึ่งสามารถสแกนที่เก็บข้อมูลและแทนที่ไฟล์ที่เสียหายได้ วิธีนี้ใช้ได้ผลในกรณีส่วนใหญ่เนื่องจากปัญหาเกิดจากความเสียหายของระบบ คุณสามารถดาวน์โหลด Reimage Plus โดยคลิกที่นี่