Jump to content

Powershell Autostart an IP verknüpfen


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hallo zusammen,

 

da ich hier mich schon etwas belesen habe und die Antworten alle durchweg gut sind habe ich mich entschieden mich hier anzumelden und mein Problem zu schildern. Ich würde mich freuen wenn wir gemeinsam eine Lösung dafür finden können.

 

Meine Kentnisse in PS sind eher bescheiden und funktionieren nur durch viel erlesen hier jedoch bin ich nicht weiter gekommen daher bitte um Rücksicht. :)

 

Aufgabe:

 

Erstelle ein auf allen PCs im Unternehmen ausführbares PS-Skript, dass anhand einer IP einen Autostart div. Programme ausführt.

Ausglesen werden muss einer IP die 3. Oktette und anhand dieser entsprechende Programme gestartet.

 

Im Beispiel mit der IP IPv4-Adresse  . . . . . . . . . . : 10.64.221.45

 

Hier ist also das wichtige die 10.64.221.xx -> wenn das erscheint muss Programm Y aufgerufen werden wenn 10.64.222.xx erscheint muss Programm X gestartet werden.

 

Schwirigkeit, jeder PC hat mindestens 2 Netzwerkkarten. Hier mal ein Auszug aus der CMD mit ipconfig -all:

 

Ethernet-Adapter Internet LAN:

   Verbindungsspezifisches DNS-Suffix:
   Beschreibung. . . . . . . . . . . : Intel® 82567LM-3-Gigabit-Netzwerkverbin
dung
   Physikalische Adresse . . . . . . : x
   DHCP aktiviert. . . . . . . . . . : Nein
   Autokonfiguration aktiviert . . . : Ja
   Verbindungslokale IPv6-Adresse  . : x (Bevorzugt)
   IPv4-Adresse  . . . . . . . . . . : 10.64.64.59(Bevorzugt)
   Subnetzmaske  . . . . . . . . . . : 255.255.255.0
   Standardgateway . . . . . . . . . : 10.64.64.1
   DHCPv6-IAID . . . . . . . . . . . : x
   DHCPv6-Client-DUID. . . . . . . . : x

   DNS-Server  . . . . . . . . . . . : x
                                       x
   NetBIOS ber TCP/IP . . . . . . . : Aktiviert

Ethernet-Adapter Consolen LAN:

   Verbindungsspezifisches DNS-Suffix:
   Beschreibung. . . . . . . . . . . : Intel® Gigabit-CT-Desktopadapter
   Physikalische Adresse . . . . . . : x
   DHCP aktiviert. . . . . . . . . . : Nein
   Autokonfiguration aktiviert . . . : Ja
   Verbindungslokale IPv6-Adresse  . : x (Bevorzugt)
   IPv4-Adresse  . . . . . . . . . . : 10.64.221.45(Bevorzugt)
   Subnetzmaske  . . . . . . . . . . : 255.255.255.0
   Standardgateway . . . . . . . . . :
   DHCPv6-IAID . . . . . . . . . . . : x
   DHCPv6-Client-DUID. . . . . . . . : x

   DNS-Server  . . . . . . . . . . . : x
                                       x
   NetBIOS ber TCP/IP . . . . . . . : Aktiviert

Link zu diesem Kommentar

Danke für die schnelle Antwort jedoch klappt das bei mir nicht. Ich habe Powershell 4.0 installiert jedoch findet er  das Cmdlet nicht:

 

Get-NetIPAddress : Die Benennung "Get-NetIPAddress" wurde nicht als Name eines Cmdlet, einer Funktion, einer Skriptdatei oder eines ausführbaren Programms erkannt.

 

Eine Idee? Bei Modulen kann ich das auch nicht manuell finden :(

Link zu diesem Kommentar

Hi,

 

liefert dir denn auch ein "Get-Host" definitiv Version 4?

Ansonsten kannst du das auch per WMI machen:

Get-WMIObject win32_networkadapterconfiguration | Select-Object IPAddress

Gruß

Jan

 

Ja, Get-Host liefert auch Version 4. Es ist wohl so wie 4077 schreibt. Ich habe Windows 7.

 

Mit "Get-WMIObject win32_networkadapterconfiguration | Select-Object IPAddress" bekomme ich jetzt sehr gut die IP Adresse ausgegeben, danke.

Jedoch habe ich nun das nächste Problem. Wenn ich nun mit IF das ganze abfragen will ob die IP Adresse vorhanden ist welche ich möchte geht das schief weil ich das wohl nicht komplett vergleichen kann. Die Ausgabe sieht wiefolgt aus:

IPAddress                                                                                                                                                                

---------                                                                                                                                                                                                                                                                                                                                      

{10.63.180.116, fe80::c0f6:3c46:5c8b:c4ca}

 

Meine Abfrage:

 

$Adresse = Get-WMIObject win32_networkadapterconfiguration | Select-Object IPAddress

$Adresse

if ($Adresse -eq 10.63.180.116) {Write-Host klappt}

else {Write-Host hat nicht geklappt}

 

Ergebniss ist immer das else. Wenn ich nun auch die V6 eintrage bekomme ich nur Fehlermeldungen.

if ($Adresse -eq 10.63.180.116, fe80::c0f6:3c46:5c8b:c4ca) {Write-Host klappt}

 

Ausdruck nach "," fehlt.

 

Bitte entschuldigt, ich bin wirklich ein DAU :confused:

bearbeitet von PatrickStar
Link zu diesem Kommentar

1. Adresse ist ein Objekt (Durch das Select mit nur einem Parameter: IPAdsress)

2. Bei mir bekomme ich ein Array von IP Adressen

 

Bei mir gehen folgende Wege:

 

$Adresse = Get-WMIObject win32_networkadapterconfiguration | Select-Object IPAddress

$Adresse| %{ if($_.IPAddress -eq '192.168.168.1'){"Found"}else{"-"} }

oder

 

$IP = (Get-WMIObject win32_networkadapterconfiguration).IPAddress

if($ip -eq '192.168.168.1'){"Found"}else{"-"}

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...