Назад | Перейти на главную страницу

Добавить столбцы в существующий объект PowerShell

Я пытаюсь добавить объект перед его отображением с помощью Out-GridView. Я использую описанный ниже метод, но получаю сообщение об ошибке. Я недостаточно силен в объектах Powershell, чтобы понять, что я здесь делаю не так.

Любое руководство приветствуется!

$scopes = Get-DhcpServerv4Scope -ComputerName $SERVERNAME
$scopeObject = @{}
foreach ($scope in $scopes) {
    $stats = Get-DhcpServerv4ScopeStatistics -ComputerName 'nfiv-dhcp-02' -ScopeId $scope.ScopeId 
    $scopeObject.Add($scope.ScopeId,$scope.Name,$stats.Free)
}

$scopeObject | Out-GridView -Passthru -Title "DHCP Server Scopes on $SERVERNAME"
$SERVERNAME = "your DHCP server's name here"
$scopes = Get-DhcpServerv4Scope -ComputerName $SERVERNAME
$scopes | Select-Object -Property ScopeId,SubnetMask,Name,State,StartRange,EndRange,LeaseDuration,`
  @{ E={(Get-DhcpServerv4ScopeStatistics -ScopeId $_.ScopeId.IpAddressToString -ComputerName $SERVERNAME).Free}; L='Free' }`
  | Out-GridView -PassThru -Title "DHCP Server Scopes on $SERVERNAME" | Some-Cmdlet

Вместо того, чтобы объединять объекты и затем отображать их, этот метод захватывает количество «бесплатных IP-адресов» во время итерации по областям. Не уверен, что это именно то, что вы хотите, но он даст результат, который вы укажете в своем Out-Gridview командлет, и он должен передать ту же самую информацию тому, что вы остановили в своем фрагменте. Убедитесь, что вы выбрали области, которые вы хотите «передать».