Ottieni HostName per ciascun IP di RemoteAddress nel nuovo membro


1

Ho uno script di PowerShell, che ha alcune variabili

  1. $GetCon : Ottieni connessione Tcp in Powershell
  2. $hn: Ottenere espandere Indirizzo remoto in $GetCon.
  3. $rrt : è un numero di tutti i risultati, è tutto IP di connessione.
  4. $GNamess: è una variabile per creare un nuovo membro per nome ( URL ) per $GetConcui è Get-NetTCPConnection.

Finalmente ho un nuovo membro, conterrà l'elenco di ciascun nome host di Connections per ciascun indirizzo IP in Get-TCPConnection RemoteAddress.

Ma non ravviviamo il risultato dell'host nel risultato, nel risultato ho un Host per ogni host.

per favore procurami un metodo per ottenere tutti gli host nel risultato.

Sintassi errata:

$GetCon = Get-NetTCPConnection

$hn = $GetCon | select -expand RemoteAddress

$rrt = foreach ($IPs in $hn)
{

 [System.Net.Dns]::GetHostAddresses($IPs) | select-object IPAddressToString -expandproperty  IPAddressToString

}


$GNamess = foreach ($IPst in $GetCon) {

    $rrt = ([System.Net.Dns]::GetHostbyAddress($IPs) | select-object HostName -expandproperty  HostName)
    $IPst | Add-Member -NotePropertyName urls -NotePropertyValue $rrt -PassThru
}

$GetCon | select urls

Risultato immagine: risultato immagine

Risposte:


1

Troppo a lungo per i commenti e difficile indovinare il tuo obiettivo dal tuo codice, quindi forse la creazione di un dizionario di riempimento $IPsNamespotrebbe aiutare?

$IPsNames = @{}

$GetCon = Get-NetTCPConnection

$hn = $GetCon | select -expand RemoteAddress  | sort -Unique

foreach ( $IPs in $hn ) {

    try   { $rrtx = [System.Net.Dns]::GetHostbyAddress($IPs).HostName }
    catch { $rrtx = '???' }

    $IPsNames[ $IPS ] = $rrtx
}

### $IPsNames

for ( $i = 0; $i -lt $GetCon.Count; $i++ ) {

    $aux = $IPsNames[ $GetCon[$i].RemoteAddress ]
    $GetCon[$i] | Add-Member -NotePropertyName urls -NotePropertyValue $aux 

}

### $GetCon | Format-Table -Property RemoteAddress, urls -AutoSize

$GetCon | selelect -Property RemoteAddress, urls

Grazie a @JosefZ per aiutare i nostri errori. questo è utile per me, ma voglio aggiungere un nuovo membro alla variabile $ GetCon. Ho una sintassi errata con la sintassi destra: $ Rem = $ IPsNames.Values ​​$ GetCon | selezionare gli URL ... Correggi anche questo per me. grazie
SchoolforDesign il

Risposta @SchoolforDesign aggiornata (possibile approccio).
JosefZ,

Grazie mio fratello, è molto utile per me ... @JosefZ Posso chiedere qualcos'altro?
SchoolforDesign,

@SchoolforDesign Naturalmente, puoi chiedere qui una specifica minore ... anche se ... questa strategia potrebbe essere un modo più efficace per te poiché i siti StackExchage non sono come una chat, in definitiva. Se la mia risposta è stata utile, considera di contrassegnarla come accettata. Vedi questa pagina per una spiegazione del perché questo è importante.
JosefZ,

Ovviamente @JosefZ, la tua risposta è molto utile, scusami per aver dimenticato una risposta accettata. (1) la mia altra domanda è: ho una tabella HTML sulla mia PowerShell che viene importata in alcuni casi o in alcuni alias come port, ipaddress..etc. e ho un tag <div> HTML che non contiene ancora nulla! voglio aggiungere alcune informazioni incorporate in $ GetCon che è il mio alias.
SchoolforDesign,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.