Adicione colunas ao objeto existente do PowerShell

3

Eu estou tentando adicionar um objeto antes de exibi-lo com um Out-GridView. Eu estou fazendo o método abaixo, no entanto, recebo uma mensagem de erro. Eu não sou strong o suficiente em objetos Powershell para entender o que estou fazendo errado aqui.

Qualquer orientação é apreciada!

$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"
    
por Patrick Helms 08.10.2018 / 21:32

1 resposta

3
$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

Em vez de mesclar objetos e exibi-los, esse método captura o número de "IPs gratuitos" durante a iteração pelos escopos. Não tenho certeza se isso é exatamente o que você quer, mas ele fornecerá a saída especificada em seu cmdlet Out-Gridview e deverá "PassThru" a mesma informação para o que você deixou de fora do seu snippet. Certifique-se de selecionar os escopos que você gostaria de "PassThru".

    
por 09.10.2018 / 00:54

Tags