***UPDATED

scenariusz: jest lista nazw komputerów, trzeba rozwiązać adresy IP. warunek konieczny – odpowiednie wpisy w DNS.

dla widoczności oneliner rozbity na kilka linijek:

podstawa to wyrażenie regularne. krótkie wyjaśnienie:

  • adres IPv4 to 3 cyfry, kropka … 3 cyfry. „[0-9]+” oznacza „wystąpienie dowolnej cyfry raz lub więcej”.
  • kropka jest znakiem specjalnym w wyrażeniach regularnych więc musi być wyeskejpowana – „\.”.
  • metoda Matches zwraca tablicę wyników, więc trzeba wybrać pierwszą wartość – stąd pojawia się „[0]” – jako pierwszy element tablicy.
  • no i na końcu wybranie atrybutu ‚value’, ponieważ każdy rekord tablicy Matches zawiera kilka atrybutów a tu chodzi konkretnie o wartość.

udpate:

Player uzupełnia, że prawidłowy zapis dla adresu IP powinien wyglądać „[0-9]{1,3}” a nie + bo w końcu może być tylko od jednej do trzech cyfr. w tym przykładzie nie ma to znaczenia, bo ping nie zwróci raczej nieprawidłowego adresu, ale lepiej pisać dobrze (:

Paweł pokazuje, że lepiej niż pinga użyć commandletu ‚test-connection‚ i się nie bawić w wyrażenia regularne.

eN.