Category Archives: ปัญหาและการแก้ไข

Upload Files ขึ้น SharePoint Online ด้วย PowerShell #2

 

จากคราวที่แล้วที่เราค้างไว้ ถึงเวลาที่เราสามารถ เชื่อมต่อกับ SharePoint Online Site ได้เรียบร้อยแล้วนะครับ

 

เราก็จะมาต่อที่ Function BulkUpload ที่เรา comment ออกไป ซึ่งในนี้ หลักง่ายๆคือเราจะอ่านไฟล์ ที่มีอยู่ใน folder ที่เราเลือกไว้

 

image

 

ในบรรทัด 43 เราะจะเห็นว่าเราใช้ cmd-let Get-ChildItem เพื่ออ่านไฟล์ทั้งหมด เก็บไว้ในตัวแปร $Files ซึ่งเป็นแบบ Object Collection แล้วเราก็ทำการ Loop หาชื่อไฟล์ที่อยู่ใน collection ส่งไป

ง่ายมั๊ยคับ ^_^

ในบรรทัด 49 เราก็ส่งค่าไปยัง fuction “UploadFile”   ซึ่งจะมีหน้าตาแบบนี้

image

อธิบายได้ตามนี้เลยครับ

10 เป็นการตรวจสอบว่ามีไฟล์นี้มีจริงๆมั๊ย (ย้ำคิดย้ำทำ เผื่อว่าเอาไปให้คนอื่นใช้ต่อแล้วเค้าไมได้ตรวจมาก่อน)

13 ประกาศ Object File ของ SharePoint

15 อ่านไฟล์ในรูปของ byte ใส่ไว้ในใน Content (เพราะว่า ใน SharePoint จะเก็บไฟล์ใน Database)

16 ใส่ชื่อไฟล์

19 หา document library ที่เราต้องการขึ้นมาใส่ไว้ใน object ชื่อ $DocsLib

21 เป็นการบอกว่าเราจะ เพิ่มไฟล์ละนะ

23-24 เป็นการ สร้างไอเท็มมาเกาะไว้กับ ไฟล์ที่เราต้องการอัพโหลด

26 หาชื่อของผมผู้ใช้ที่ login อยู่ขณะนั้น

28 – 33 อัพโหลดครับ

34 ถ้าทำงานถูกต้องใช้ function ส่งค่ากลับเป็น True.

 

ตอนนี้เราก็เข้าไปดูว่า มี Document library อยู่จริง

 

image

แล้วเราก็ Run ได้ผลแบบนี้

image

อัพเสร็จแล้ว

 

image

 

 

จบแล้วด้วยความง่ายดาย มีข้อสงสัยยังไงก็สอบถามเข้ามาได้นะครับผม

สวัสดีครับ

LinkedInFlipboardEmailOutlook.comPrintFriendlyWhatsAppYahoo BookmarksYahoo MessengerKindle ItGoogle BookmarksBaiduDeliciousShare
Powered_by_O365

ลง Office 365 แบบต่อเน็ตครั้งเดียวจบและชัวร์

สวัสดีครับ หายไปนานเลย ตอนนี้ผมอยู่ที่งาน Ignite Summit HK ครับ พอดีว่านอนไม่หลับแล้วมีพี่ๆ ที่เจอในงานบอกว่า อยากรู้การ install แบบ ใช้ script ไม่ต้องไปคลิก ที่ละเครื่อง ว่าทำยังไง และส่วนตัวผมเองตอนที่ซื้อเครื่องมา ก็เจอปัญหาว่า ออฟฟิตลงแล้ว ไม่ครบ (แต่คิดว่าครบแล้ว) และต้องออกนอกบ้าน พอจะใช้งานบาง feature มันทำไม่ได้ฮะ

วันนี้เลยมีทริกเล็กๆ ที่ไม่ลับในการลง Office 365 แบบทุกฟีเจอร์ชัวร์โดยต่อเน็ตรอบเดียว อะ หลายคนอาจจะงงว่า อ้าวแล้วทำไมต้องต่อหลายรอบ  คือว่า เวลาที่เราลง Office 365 จาก portal (ตามรูปด้านล่าง)  มันจะทำการโหลดตัว install มาแล้วตัว install จะค่อย streaming file ที่จำเป็นในการ install โปรแกรมมาเรื่อยๆ และถ้าผมเข้าใจไม่ผิดไปเอง เพื่อให้ใช้งานได้เร็ว การลงจะลงแบบไม่สมบูรณ์ (เรียกใช้ฟังก์ชั่นไหน ก็จะไป stream มาแล้วก็ลงเพิ่ม ถ้าใครเคยลงโปรแกรมสมัยแผ่น CD น่าจะจำได้ ว่าจะเป็นการเลือกแบบ install first time use)

โม้มาพอแระ จัดเรย

  1. ก่อนอืน เราต้องไป download Office deployment Tools for Click to Run มาก่อน จาก Link นี้ http://www.microsoft.com/en-us/download/details.aspx?id=36778
  2. แล้วก็มาดู screen cast กันนะ (ห้ามแซวว่าเสียงบี้ ฮ่าๆๆ)

 

Unable to display content. Adobe Flash is required.

 

ก็ลองกันดูนะครับ ผมมั่นใจว่า ถ้าใครเป็น IT Pro/ IT Admin มาก่อน คงจะรู้แล้วหละว่าจะทำยังไงต่อในการทำ automation deployment เริ่มง่วงแล้วฮะ ขอตัวไปนอนก่อนครับผม

สวัสดีครับ

 

อ้างอิงจาก link นี้ครับ: http://technet.microsoft.com/en-us/library/jj219424.aspx#BKMK_DownloadC2R
ยังมี attribute อีกหลายตัวให้เล่นใน configuration.xml นะครับลองดูกัน ผมทำแบบง่ายๆ ไวๆ เป็นไอเดีย

 

LinkedInFlipboardEmailOutlook.comPrintFriendlyWhatsAppYahoo BookmarksYahoo MessengerKindle ItGoogle BookmarksBaiduDeliciousShare

Copy ค่าจาก List อื่นด้วย Workflow

ในบรรดาการทำงานของ workflow ที่เราใช้ๆกัน มี ทริกนึงที่น่าสนใจคือการเอา WorkFlow มาช่วยในการ หาค่า จาก List อื่นๆ มาใส่ใน List ที่รัน workflow ดูตัวอย่างเลย

Product Price list มีหน้าตาแบบนี้

image

Sales Order List ก็มีหน้าตาแบบนี้ required Field แค่สอง fields

image

แล้วเราก็มาสร้าง Workflow กันครับ ทำตามภาพได้เลย

image

พอกด Allow รอหนึ่งอึดใจก็จะได้หน้าตาแบบนี้ครับ

image

ใน Action ให้เราเลือก Set Field in Current Item  หรือจะพิมพ์เอาก็ได้คับ

image

Set Lookup Price เพื่อบอกกับ workflow ว่าให้ set ค่านี้

image

Data source ให้เลือก List ชื่อ ProductPriceList ที่เราเตรียมไว้ แล้วให้ return ค่า Price

image

เมื่อเลือกแล้ว หน้าตา Filter จะออกมาเป็นแบบนี้ ในส่วนของ Find the List item ให้เลือก filter Title (ของ ProductPriceList)

แล้ว Filter ด้วย Current item field ชื่อ Product

image

อันนี้ระบบจะเตือนเราในกรณีที่ ค่าที่ได้มีเกินหนึ่งค่า ระบบจะโยนค่าสุดท้ายมาให้แต่เรามั่นใจว่า ค่าที่ได้มีค่าเดียวแน่นอน

image

สุดท้าย workflow จะหน้าตาประมาณนี้ครับ

image

Save แล้วก็ Publish

image

อย่าลืมมาปรับค่าตรง Start Optionให้ workflow ทำงานตอนสร้าง (Created) และตอนเปลี่ยนแปลงด้วยคับ

image

ทดสอบ

ให้กลับมาที่ Sales order แล้ว new item กรอกข้อมูลแค่สอง fields พอ

image

แล้วกด Save ควรจะได้หน้าตาแบบนี้ครับ

image

รอแว๊บเดียว ก็จะได้ตามนี้  (ตรง Title สงสัยพิมพ์สูตรผิด แหะๆ) แต่เอาเป็นว่า ดึงราคามาถูก และ ฟังก์ชันการทำคำนวณถูก เป็นใช้ได้

image

ก็ประมาณนี้ครับ

สวัสดีครับ

LinkedInFlipboardEmailOutlook.comPrintFriendlyWhatsAppYahoo BookmarksYahoo MessengerKindle ItGoogle BookmarksBaiduDeliciousShare

เมื่อ SharePoint โดนป่วน จาก DCOM error

วันนี้มาถึงที่ทำงานแต่เช้า (จริงๆก็ไม่เช้าเท่าไหร่ แต่เอาเป็นว่ามาถึงก่อนที่อะไรจะสายเกินไป) และแน่นอนว่าพอเปิดเครื่องปุ๊บ ก็ต้องเปิด facebook ก่อน แป่ว ไม่ใช่ๆ เปิด intranet ที่ทำไว้เพื่อดูความสงบเรียบร้อยบางอย่าง และแล้วเรื่องที่ไม่คาดฝัน ก็เกิดขึ้น

This page has encountered a critical error. Contact your system administrator if this problem persists.

น่าน… โดนเข้าแล้ว งานเข้าแต่เช้า ไม่ต้องติดต่อแล้ว admin เพราะตูนี่แหละ admin จัดแจงเปิด Event log ดูก่อน แล้วก็ไปสะดุดตาที่ System Log มี error แบบนี้

The application-specific permission settings do not grant Local Activation permission for the COM Server application with CLSID
{61738644-F196-11D0-9953-00C04FD919C1}
to the user DOMAIN\ServiceAccount SID (S-1-5-21-1776335886-2898880088-2153249584-11406).  This security permission can be modified using the Component Services administrative tool.

อืม.. ตอนแรกอ่านไปก็งงๆ ว่า แล้วยังไง ป่อย -_-‘  มืดบอดมาก (อ้อ Log นี้เปิดจากเครื่องที่ลง sharepoint นะครับ เป็น Windows 2003 R2)

จะพึ่งใครได้ นอกจาก อากู๋  Google แล้วก็ไม่ผิดหวัง (วิธีแก้ปัญหาอยู่ ลิงค์ด้านล่าง เป็นภาษาอังกฤษนะคับ รูดเมาส์ผ่านไปได้เลย) ใครไม่ค่อยถูกกับภาษาอังกฤษ ก็ทนอ่านต่อไป

พออ่านๆ ไปแล้วก็เห็นว่าเออ ใน log พูดถึง Administrative tool แต่ด้วยความอ่อนด้อยเพราะไม่ค่อยคุ้นกับ windows server เท่าไหร่ ก็เลย ไม่เคยรู้ว่า มันมี Component Services ด้วย หึหึหึ

ว่าแล้วก็บรรจงเปิดขึ้นมา (ทำไมต้องบรรจง) แล้วก็ก๊อบ CLSID ที่ทำตัวแดงๆ ไว้  แล้วยังไงหละ

กด Windows + R  เรียก textbox เทพ ขึ้นมา ส่วนใครไม่เคยใช้มันก็คือ Start -> Run นั่นแหละ แล้วก็ ค่อยๆพิมพ์ “regedit” ลงไปในช่องกด “Ok” ใช่แล้ว ทุกๆอย่างมันควรเก็บไว้ในนี้แหละ แล้วเราก็เอา CLSID ลองค้นๆดู ก็ได้มาว่ามันคือ IIS WAMREG admin Service นั่นเอง

สงสัยเป็นเพราะเมื่อวานล้างรถ บุญเลยส่ง ให้เจอ service ตัวนี้ พอดี (ไม่เห็นจะเกี่ยวตรงไหน T T) ก้อเปิด properties ดู ไล่ทีลแท็บ (อันนี้ถึกได้) แล้วก็ไปเจอ Security เห็นมีช่องนึง บอกว่า “Lauch Activation Permission”  แล้วมันเลือกอยู่ที่ custom เรยกด edit เข้าไปดู มาถึงตรงนี้ ยอมรับว่า เดาอะ เพราะเราไม่เห็น DOMAIN\ServiceAccount อยู่ใน list แล้วด้านล่างก็มี  Local Activation พอดี เรยจัดการ add DOMAIN\ServiceAccount แล้วก็ ติ๊ก Local Activation ลงไปซะ แล้วก็ไป restart IIS service หนึ่งครับ พร้อม ภาวนา

กลับมา กลับมา กลับมา

แล้วก็ลองเข้าหน้าเว็บ intranet ใหม่ อิอิ มันมาแล้ว สบายใจ

ที่เขียนมาทั้งหมด ถ้าตัดความไร้สาระออกไป จะเหลือแค่ครึ่งเดียว และ เดี๋ยวก่อนวิธีการนี้ไม่ได้คิดเองครับ แต่ไปเจอจากที่นี่ครับ The application-specific permission settings do not grant Local Activation permission for the COM Server application with CLSID – MOSS / SharePoint 2007 Server Issues Revisited

นาย Mike ยังบอกอีกว่า วิธีการนี้ ไม่เพียงแต่ใช้แก้ปัญหาบน sharepoint เท่านั้นนะครับแต่ใช้แก้ปัญหา เวลามี DCOM error ขึ้นอยู่ใน system log ได้ด้วย

ค่อยข้างจะออก ทาง Admin/ IT Pro พอสมควร แต่ถ้าเราชาว Dev รู้ไว้บ้างก็จะดีไม่ใช่น้อย

สวัสดี

LinkedInFlipboardEmailOutlook.comPrintFriendlyWhatsAppYahoo BookmarksYahoo MessengerKindle ItGoogle BookmarksBaiduDeliciousShare