Несмотря на то, что PowerShell доступен уже более пяти лет, для многих он все еще остается “синей командной строкой” – это и послужило основной причиной выбрать в качестве темы ежедневные сценарии администратора Windows Server.
Почему стоит обратить внимание на PowerShell, а не использовать привычный cmd? PowerShell мощный инструмент автоматизации, и в ряде сценариев он просто незаменим.
Не стоит забывать, что PowerShell также доступен и через веб а это значит что в случае необходимости Вы сможете работать с iOS, OS X, Windows Phone и Android устройств.
Большинство сетевых командлетов находятся в группе Net*
Get-Command Get-Net*
По каждому командлету можно получить подробную справку. Давайте рассмотрим ее для одиного из самых простых и знакомых:
Get-Help Get-NetIPAddress
Также нелишним будет ознакомиться с примерами использования:
Get-Help Get-NetIPAddress -Examples
Теперь я приведу несколько примеров, которые будут актуальны практически для каждого, кто работает с Windows Server:
Get-NetIPConfiguration
Get-NetIPAddress
Get-NetAdapter
Get-NetAdapterBinding
Get-NetAdapterHardwareInfo
Get-NetRoute
Get-NetTCPConnection
Теперь посмотрим на командлеты клиента DNS:
Get-Command Get-DNS*
Один из наиболее полезных командлетов этой группы (разумеется, этот кэш можно очистить):
Get-DnsClientCache Clear-DnsClientCache
А если у Вас есть что-то в файле hosts это будет видно:
Get-DnsClientServerAddress
Теперь еще несколько полезных командлетов:
Test-Connection
это знакомый всем ping, в примере полезные флаги Count и BufferSize:
Test-NetConnection
покажет доступность хоста, с флагом TraceRoute результаты трассировки, а с флагом Port доступ к порту (у этого командлета есть алиас TNC что весьма удобно):
Resolve-DnsName
это не менее знакомый nslookup, в примере показаны наиболее востребованные флаги Type и Server:
Restart-NetAdapter
перезапускает сетевой адаптер:
Под конец статьи я расскажу о том, что чаще всего спрашивают – “Как настроить сетевое подключение ОС через PowerShell”:
Вариантов несколько, самый древний и известный это использование netsh:
Для этого открываем cmd.exe с правами администратора и смотрим какие интерфейсы присутствуют в системе:
netsh interface ipv4 show interfaces
Записываем номер Idx адаптера, который будем настраивать. Теперь зададим основные настройки:
netsh interface ipv4 set address name=”%ID%” source=static address=%ip% mask=%mask% gateway=%gate%
.. и укажем DNS:
netsh interface ipv4 add dnsserver name=”%ID%” address=%DNS% index=1
Для второго DNS необходимо указать index=2 Если нужно вернуть настройки в DHCP достаточно выполнить следующее:
netsh interface ipv4 set address name=”%ID%” source=dhcp
Второй способ, это sconfig , он прост и понятен:
Теперь посмотрим как настроить сетевое подключение с помощью PowerShell:
New-NetIPAddress -InterfaceIndex 12 -IPAddress %ip% -PrefixLength %mask% -DefaultGateway %gate%
Set-DnsClientServerAddress -InterfaceIndex 12 -ServerAddress ("%ip%","%ip%")
Чтобы вернуть настройки на DHCP нужно выполнить:
Set-NetIPInterface -Dhcp Enabled
Не забывайте, что PowerShell это всего лишь инструмент, удобен он для определенных задач, и не является единственно верным.
По-прежнему только через GUI можно решать некоторые задачи, а некоторые просто удобнее и быстрее.
Надеюсь озвученная информация будет полезной, а если нужна будет помощь — используйте форму на главной странице моего сайта.