سؤال

أقوم بإجراء جرد وأحتاج إلى الحصول على قائمة بحلول Sharepoint (*.wsp) التي يتم نشرها على كل تطبيق ويب فردي، ومن الناحية المثالية، سيكون من الرائع أيضًا سرد تجمع التطبيقات على خادم الويب الذي ينتمي إليه تطبيق الويب هذا ل؟

شيء من هذا القبيل >>

solution-name.wsp / web-application-name / application-pool-name

لقد حاولت استخدام الحصول على SPSolution, ، لكن الإخراج لا يحتوي على اسم تطبيق الويب & الحصول على SPWebApplication لا يقدم قائمة .wsp لكل تطبيق ويب مدرج.

stsadm -o enumsolutions يبدو أنه يحتوي على معلومات أحتاجها، ولكن لا أعرف كيفية تغيير تنسيق الإخراج إلى تنسيق مماثل مذكور أعلاه.

هذا هو MS SharePoint Server 2010 الذي يعمل على W2K8R2 STD.

هل كانت مفيدة؟

المحلول

أولاً، احصل على جميع تطبيقات الويب الخاصة بك وقم بالتكرار من خلالها.أثناء التواجد في الحلقة، قم بطباعة اسم تطبيق الويب واسم تجمع التطبيقات.وأخيرًا، قم بتكرار كافة الحلول وطباعة أسمائها - مثل هذا:

$contentWebAppServices = (Get-SPFarm).services |
 ? {$_.typename -eq "Microsoft SharePoint Foundation Web Application"}

foreach($webApp in $contentWebAppServices.WebApplications)
{
    Write-Host "Web Application  : " $webApp.name
    Write-Host "Application Pool : " $webApp.ApplicationPool.Name

    Get-SPSolution | ForEach-Object {
        if ($_.LastOperationDetails.IndexOf($webApp.url) -gt 0) 
        {
            Write-Host "    Solutions:"
            Write-Host "   " $_.DisplayName
        }
    }
} 

يبدو الإخراج مثل هذا:

Web Application  :  SharePoint - 1337
Application Pool :  SharePoint - 1337
Web Application  :  SharePoint - 80
Application Pool :  SharePoint - 80
    Solutions:
    customer.intranet.wsp

لا يحتوي تطبيق الويب الأول (SharePoint - 1337) على حلول منشورة، ولكن يحتوي التطبيق الثاني (SharePoint - 80) على حلول منشورة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى sharepoint.stackexchange
scroll top