Узнаём версию PowerShell, пингуем сеть

Данная статья моя первая шпаргалка по Powershell.
Изначально я хотел запихнуть всё, что я понаписывал на PowerShell в одну, но когда начал копировать скрипты - статья превратилась в нечитаемую простыню.
Поэтому решил разбить на несколько статей, от простого к сложному (для меня).
Для знающих - это очевидные вещи, но может кому и пригодиться.
В самом начале разберёмся, что у нас за версия Powershell-а, отформатируем телефонный номер в читаемый формат, а также пинганём IP диапазон локальной сети. Принимается конструктивная критика и советы по улучшению скриптов.

Как узнать версию Powershell:

Windows PowerShell ISE
  1. # Вариант 1
  2. $PSVersionTable.PSVersion
  3.  
  4. # Вариант 2
  5. $host.version
  1. PS C:\> $PSVersionTable.PSVersion
  2. Major Minor Build Revision
  3. ----- ----- ----- --------
  4. 5 1 15063 138
  5.  
  6.  
  7. PS C:\> $host.version
  8. Major Minor Build Revision
  9. ----- ----- ----- --------
  10. 5 1 15063 138
  11.  
  12. PS C:\>

Отформатируем телефонный номер:

Windows PowerShell ISE
  1. #####################################################################
  2. # С помощью регулярных выражений и PowerShell,
  3. # приведём не читаемый телефонный номер xxxxxxxxxxxx
  4. # к читаемому виду +xxx (xx) xxx-xx-xx
  5. # Работает для белорусских и российских номеров
  6. # Очень легко переделывается для любых других
  7. #
  8. #####################################################################
  9.  
  10. [string] $tel = Read-Host "Введите номер телефона в международном формате, например 375296843234"
  11. if 
  12. ( $tel -match "^375") 
  13.     { 
  14.         $tel -replace "^(...)(..)(...)(..)(..)", '+$1 ($2) $3-$4-$5' 
  15.     }
  16.         elseif
  17.         ( $tel -match "^7")
  18.         {
  19.         $tel -replace "^(.)(...)(...)(..)(..)", '+$1 ($2) $3-$4-$5'
  20.         }
  21.     else { 
  22.     $tel= "$tel - Неверный номер"; $tel
  23.     }
  1. Введите номер телефона в международном формате, например 375291234567:
  2. 375296843234
  3. +375 (29) 684-32-34
  4.  
  5. PS C:\>

Пингуем IP диапазон:

Windows PowerShell ISE
  1. #################################################################################
  2. #
  3. # С помощью PowerShell пингуем подсеть или некий IP диапазон.
  4. # Сперва вводим маску подсети (первые 3 октета IP адреса с ТОЧКОЙ!!! на конце)
  5. # Потом вводим 4 октет адреса с которого начинаем пинг
  6. # и 4 октет, которым завершаем его
  7. #
  8. ##################################################################################
  9. function IPNetEchoScanner
  10. {
  11.     [string] $net = Read-Host "Введите маску сети, например 192.168.1."
  12.     [int]$StartIP = Read-Host "Введите начальный IP"
  13.     [int]$EndIP = Read-Host "Ведите конечный IP"
  14.     for ($i = $StartIP; $i -le $EndIP; $i++)
  15.     {
  16.         [string]$IP = $net + $i
  17.         # Убираем переход на новую строку и добавляем табуляцию
  18.         write-host $IP `t -NoNewline
  19.         $result = Test-Connection -ComputerName $IP -Count 1 -Quiet
  20.             if ($result -eq $false)
  21.         {
  22.                 Write-Host $result -ForegroundColor Red
  23.         }
  24.             else
  25.         {
  26.                 Write-Host $result -ForegroundColor Green
  27.         }
  28.  
  29.     }
  30.  
  31. }
  1. PS C:\> IPNetEchoScanner
  2. Введите маску сети, например 192.168.1.: 172.16.0.
  3. Введите начальный IP: 1
  4. Ведите конечный IP: 7
  5. 172.16.0.1  True
  6. 172.16.0.2  True
  7. 172.16.0.3  True
  8. 172.16.0.4  False
  9. 172.16.0.5  True
  10. 172.16.0.6  False
  11. 172.16.0.7  True
  12.  
  13. PS C:\>

 


Сказать спасибо

Сумма в белорусских рублях
  • Перевод осуществляется, через сервис электронных платежей ЗАО «Альфа-Банк»
  • Сумма в белорусских рублях BYN
  • Если карта в другой валюте — конвертация производится по курсу вашего банка
  • Комиссия 0%


Популярные заметки

Windows Powershell

Powershell - замена CMD

Windows 7: сетевой пароль

Windows Ввод сетевого пароля

Slack — как пользоваться

Логотип Slack

 

Комментарии


  • Оставьте первый комментарий — будьте первым

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *