Rufen Sie den Hostnamen für jede RemoteAddress-IP in New Member ab

581
SchoolforDesign

Ich habe ein PowerShell-Skript, das einige Variablen hat

  1. $GetCon : Tcp-Verbindung in Powershell erhalten
  2. $hn: Holen Sie sich die Remote-Adresse in $GetCon.
  3. $rrt : ist eine Anzahl aller Ergebnisse, es sind alle Verbindungs-IPs.
  4. $GNamess: ist eine Variable zum Erstellen eines neuen Mitglieds nach Namen ( URLs ), für $GetCondie Get-NetTCPConnection ist.

Schließlich habe ich ein neues Mitglied, es wird eine Liste aller Verbindungs-Hostnamen für jede IP-Adresse in Get-TCPConnection RemoteAddress enthalten.

Das Ergebnis eines Hosts wird jedoch nicht im Ergebnis wiederbelebt. Im Ergebnis habe ich einen Host für jeden Host.

Bitte besorgt mir eine Methode, um alle Hosts im Ergebnis zu erhalten.

Falsche Syntax:

$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 

Bildergebnis: Bildergebnis

1

1 Antwort auf die Frage

1
JosefZ

Zu lang für Kommentare und schwer zu erraten, was Sie mit Ihrem Code erreichen möchten. Vielleicht könnte das Erstellen eines Wörterbuchs $IPsNameshelfen?

$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 
Vielen Dank, @JosefZ, um unseren Fehlern zu helfen. Das ist hilfreich für mich, aber ich möchte ein neues Member zur $ GetCon-Variablen hinzufügen. Ich habe eine falsche Syntax mit Ihrer Right-Syntax: $ Rem = $ IPsNames.Values ​​$ GetCon | URLs auswählen ... Bitte beheben Sie dies auch für mich. Danke dir SchoolforDesign vor 7 Jahren 0
@SchoolforDesign Antwort aktualisiert (möglicher Ansatz). JosefZ vor 7 Jahren 0
Danke, mein Bruder, es ist sehr hilfreich für mich ... @JosefZ Kann ich noch etwas fragen? SchoolforDesign vor 7 Jahren 0
@SchoolforDesign Natürlich können Sie hier eine geringfügige Spezifikation anfordern… obwohl… [diese Strategie] (http://stackoverflow.com/questions/41657595/proper-syntax-powershell-error-for-missing-parenthesis-but-nur) -6-parenthesis-i / 41657767? Noredirect = 1 # comment70533644_41657767) _could_ könnte eine effektivere Methode für Sie sein, da StackExchage-Sites letztendlich keine chatähnlichen Websites sind. Wenn meine Antwort hilfreich war, sollten Sie sie als akzeptiert markieren. [Siehe diese Seite] (http://meta.stackexchange.com/questions/5234/) für eine Erklärung, warum dies wichtig ist. JosefZ vor 7 Jahren 0
Natürlich, @JosefZ, Ihre Antwort ist sehr hilfreich, es tut mir leid, dass Sie eine akzeptierte Antwort vergessen haben. (1) Meine andere Frage ist: Ich habe eine HTML - Tabelle auf meiner Powershell, die einige Fälle oder Aliasnamen wie port, ipaddress..etc importiert. und ich habe ein HTML
tag, der noch nichts enthält! Ich möchte einige Informationen hinzufügen, die in $ GetCon eingebettet sind, was meine Aliase sind.
SchoolforDesign vor 7 Jahren 0
(2) möchte ich zum Beispiel hinzufügen: Wenn ich auf die erste Zeile in der Tabelle klicke, die IP (127.0.0.1) enthält, wird die
mit einem 'localhost'. usw. für jede andere Tabellenzeile. Danke nochmal.
SchoolforDesign vor 7 Jahren 0