การจัดการ 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
$ username = domain \ myuser
Foreach ($ _ ใน $ spdb) {add-spshelladmin -database $ _. id -username $ username}

PRO TIP: หากปัญหาเกิดขึ้นกับคอมพิวเตอร์หรือแล็ปท็อป / โน้ตบุ๊คคุณควรลองใช้ซอฟต์แวร์ Reimage Plus ซึ่งสามารถสแกนที่เก็บข้อมูลและแทนที่ไฟล์ที่เสียหายได้ วิธีนี้ใช้ได้ผลในกรณีส่วนใหญ่เนื่องจากปัญหาเกิดจากความเสียหายของระบบ คุณสามารถดาวน์โหลด Reimage Plus โดยคลิกที่นี่

สิ่งที่คำสั่งนี้ทำคือคว้าชื่อฐานข้อมูลทั้งหมดที่มีอยู่ในฐานข้อมูล 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 โดยคลิกที่นี่

Facebook Twitter Google Plus Pinterest