Ошибка сценария PS1 - PullRequest
       0

Ошибка сценария PS1

0 голосов
/ 31 января 2020

Я пытаюсь запустить этот скрипт, который нашел на сайте Microsoft: https://gallery.technet.microsoft.com/scriptcenter/PowerShell-script-to-find-6fc15ecb/view/Discussions#content

Ошибка, которую я получаю:

? : You cannot call a method on a null-valued expression.
At C:\serviceaccounts\report-service-accounts.ps1:57 char:36
+ ... ceList = $data | ? { $_.StartName.toUpper().contains($currentDomain)}
+                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [Where-Object], RuntimeException
    + FullyQualifiedErrorId : InvokeMethodOnNull,Microsoft.PowerShell.Commands.WhereObjectCommand

Вот раздел I полагаю, что ошибка в моей модифицированной версии возникла после нескольких попыток решить мою проблему: (Извините, что впервые публикую здесь, и не смог заставить весь скрипт написать правильно)

function processCompletedJobs(){

$jobs = Get-Job -State Completed
foreach( $job in $jobs ) {

    $data = Receive-Job $job 
    Remove-Job $job 

    if ( $data.GetType() -eq [Object[]] ){
        $serviceList = $data | ? { $_.StartName.toUpper().contains($currentDomain)}
        foreach( $service in $serviceList ){
            $account = $service.StartName
            $occurance = "`"$($service.Name)`" service on $($service.SystemName)" 
            if ( $script:serviceAccounts.Contains( $account ) ){
                $script:serviceAccounts.Item($account) += $occurance
            }
            else {
                $script:serviceAccounts.Add( $account, @( $occurance ) ) 
            }
        }
    }
    elseif ( $data.GetType() -eq [String] ) {
        $script:warnings += $data
        Write-warning $data
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...