簡體   English   中英

PowerShell-SharePoint 2010-無法找到類型Microsoft.SharePoint

[英]PowerShell - SharePoint 2010 - Unable to find type Microsoft.SharePoint

(注意:相關生產服務器經過系統加固后出現以下問題):

我有一個包含以下行的PowerShell模塊:

[輸出類型([Microsoft.SharePoint.Publishing.PublishingPage])]

當我打開以管理員身份運行(以及以sys admin身份登錄到服務器)運行的PowerShell控制台時,得到以下信息:

找不到類型[Microsoft.SharePoint.Publishing.PublishingPage]:確保已加載包含此類型的程序集。

我能夠“強制” Microsoft.SharePoint.Publishing DLL以同時加載LoadWithPartialName和Add-Type,但是當我嘗試執行模塊時,會遇到關於Microsoft.SharePoint的相同錯誤。

兩個DLL肯定都在GAC中(版本14.0.0.0,因為這是SharePoint 2010),當我查看GAC的權限時,這些權限就足夠了。

如前所述,該模塊以前執行得很好,並且僅在所討論的服務器經過第三方的一些系統強化后,才開始出現“無法找到”錯誤。 我已經嘗試從權限和組策略的角度調查此問題,但是到目前為止,我沒有任何線索。

如果完全放棄我的GAC上的權限,我可以在開發環境中重現該錯誤,但這並不能真正反映生產環境,因為生產環境中的權限似乎足以“查看” “ GAC中的DLL。

任何幫助將不勝感激。

使用[Microsoft.SharePoint.Publishing.PublishingPage] ;-)可能會更好

也就是說,對於不屬於BCL的類型,應使用字符串而不是類型文字。 這允許將模塊至少加載到沒有共享點的計算機上。 看起來像:

[outputtype("Microsoft.SharePoint.Publishing.PublishingPage")]

就powershell而言,約束是相同的。

最后,右鍵單擊PowerShell圖標並選擇“導入系統模塊”是解決方案。

當我將OutputType更改為使用引號而不是方括號時,我收到一個錯誤,即Get-SPSite無法識別為cmdlet(選擇“導入系統模塊”解決了此錯誤。)然后,我回到對OutputType使用方括號和確認“導入系統模塊”是我所需要的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM