none
get-adcomputer invalid enumeration context RRS feed

  • Вопрос

  • Набросал небольшой скриптец, запускаю на весь домен:

    Get-ADComputer -filter * -SearchBase "DC=domain,DC=local" -Properties operatingsystem | ForEach-Object{
    
    if(Test-Connection -ComputerName $_.Name -Count 1 -Quiet) 
    {
    If($_.Operatingsystem -like "*2008*" -or $_.Operatingsystem -like "*2012*" )
    {
    $params = @{
          "Namespace" = "root\cimv2\TerminalServices"
          "Class" = "Win32_TerminalServiceSetting"
          "ComputerName" = $_.Name}
            get-wmiobject @params | foreach{
          new-object PSObject -property @{
                  "ComputerName" = $_.ServerName
                  "TerminalServerMode" = $_.TerminalServerMode
                  "LicenseServer" = $_.GetSpecifiedLicenseServerList().SpecifiedLSList
                } | select-object ComputerName,TerminalServerMode,LicenseServer
                }
    }
    elseif($_.Operatingsystem -like "*2003*")
    {
    $params = @{
          "Namespace" = "root\cimv2"
          "Class" = "Win32_TerminalServiceSetting"
          "ComputerName" = $_.Name}
            get-wmiobject @params | foreach{
          new-object PSObject -property @{
                  "ComputerName" = $_.ServerName
                  "TerminalServerMode" = $_.TerminalServerMode
                  "LicenseServer" = $_.GetSpecifiedLicenseServerList().SpecifiedLSList
                } | select-object ComputerName,TerminalServerMode,LicenseServer
                }
    }
    }
    
    else {Write-Host $_.Name "Not Ping"}
    }

    Обрабатывает с сотню компов, а потом получаю invalid enumeration context

    В get-adcomputer можно поиграть значение resultpagesize поставив например в значение 10, тогда выводит чуть больше, но все равно не достаточно. Как избавиться от этого?

    9 июня 2015 г. 18:33

Ответы

Все ответы