scripts

понедельник, 22 июля 2013 г.

Скрипт выбора провайдера на powershell

Итак, появилась необходимость быстро менять настройки сети. Решил создать скрипт на powershell, который позволил бы быстро менять сетевые настройки. Скрипт выставляет сетевые настройки в зависимости от указанного в параметрах провайдера при запуске. Вот исходник set_provider.ps1.
$provider = $args[0]
#вывод справочной информации
function printHelp {
    "ИМЯ"
    "`tset_provider"
    "ОПИСАНИЕ"
    "`tЗадает сетевые настройки для указанного провайдера"
    "`n"
    "-------------------------- Пример 1 --------------------------"
    ""
    ".\set_provider.ps1 meriya"
    "`n"
    "Описание"
    "-----------"
    "Эта команда переключает сетевые настроки на сеть мэрии"
    "`n"
    "-------------------------- Пример 2 --------------------------"
    ""
    ".\set_provider.ps1 sibsety"
    "`n"
    "Описание"
    "-----------"
    "Эта команда переключает сетевые настроки на сеть сибирских сетей"
    "`n"
    "-------------------------- Пример 3 --------------------------"
    ""
    ".\set_provider.ps1 enforta"
    "`n"
    "Описание"
    "-----------"
    "Эта команда переключает сетевые настроки на сеть энфорты"
}
$wmi = Get-WmiObject win32_networkadapterconfiguration -filter "ipenabled = 'true'"
#задать настройки сети для выбранного провайдера
switch ($provider) {
    "meriya" {
        $wmi.EnableStatic("10.190.130.244","255.255.255.0")
        $wmi.SetGateways("10.190.130.1",1)
        $wmi.SetDNSServerSearchOrder("10.195.9.71")
        "Заданы сетевые настройки сети мэрии."
    }
    "sibsety" {
        $wmi.EnableStatic("192.168.1.244","255.255.255.0")
        $wmi.SetGateways("192.168.1.2",1)
        $wmi.SetDNSServerSearchOrder("192.168.1.2")
        "Заданы сетевые нстройки сибирских сетей."
    }
    "enforta" {
        $wmi.EnableStatic("10.171.72.244","255.255.255.0")
        $wmi.SetGateways("10.171.72.1",1)
        $wmi.SetDNSServerSearchOrder("8.8.8.8")
        "Заданые сетевые настройки энфорты."
    }
    "h" {printHelp}
    default {Write-Output "Нужны параметры! Для справки вызови set_provider.ps1 h"}
}

Комментариев нет:

Отправить комментарий