سؤال

أنا أستخدم البرنامج النصي Powershell التالي على أمل تحديد تطبيقات الخدمة التي تم بدء تشغيلها بواسطة الخادم.

يظهر فحص النتائج شيئًا غير متوقع.على سبيل المثال، أعلم أن Lotus Notes Connector متوقف على كافة الخوادم الموجودة في مزرعتي ولكن البرنامج النصي يقوم بإعادته.

ما هي الخصائص الإضافية الأخرى التي يجب أن أختبرها للتأكد من أنني أرى نفس النتائج تمامًا كما هو موضح في صفحة "إدارة الخدمات على الخوادم" للإدارة المركزية؟

[System.Collections.ArrayList]$ReportInfo = New-Object System.Collections.ArrayList($null)


$servers = (get-spfarm).servers
foreach ($server in $servers)
{


    foreach($service in $server.serviceinstances)
    {
        if($service.TypeName -eq "Lotus Notes Connector"){
            Write-Host stop;
        }

        if ($service.status = "Online")
        {
            Write-Host "Server" $server.Name "`tService: " $service.TypeName;

            $servicInfo = @{}
            $servicInfo.Server = $service.Server.Name;
            $servicInfo.Service = $service.TypeName;

            $ReportInfo.Add((New-Object PSObject -Property $servicInfo))>$null;
        }
    }
}

Write-Host "Exporting CSV"

$ReportInfo | Export-Csv  "Services.csv" -NoTypeInformation -Encoding UTF8 -Delimiter '|'
هل كانت مفيدة؟

المحلول

ما هو الخطأ في مجرد استخدام

Get-SPServiceInstance | select typename, status, server | Export-Csv test.csv

للحصول على البيانات؟

نصائح أخرى

عند استخدام PowerShell للحصول على مثيلات الخدمة، يبدو أنهم جميعا يعودون عبر الإنترنت، كما تصف.ومع ذلك، إذا فعلنا ذلك في طريقة C #، فإنه يعود بشكل صحيح.هنا هو ما فعلته لجعلها عاد بشكل صحيح: giveacodicetagpre.

يمكنك استخدام الطريقة للحصول على مجموعتك من الحالات، ثم قم بتصفيتك، إخراج، إلخ.

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