Я пытаюсь добавить объект перед его отображением с помощью 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
командлет, и он должен передать ту же самую информацию тому, что вы остановили в своем фрагменте. Убедитесь, что вы выбрали области, которые вы хотите «передать».