#1
|
|||
|
|||
![]()
witam
posiadam DSL i pule 4 adresow IP zewnetrznych do wykorzystania. napisalem skrypt w powershell do pobierania i zmiany adresu na nowy. skrypt ten przyznaje mi adresy z koncowka 186,187 188 , 189 i tak w kółko. sam skrypt umieszczony jest w pliku bat aby moc wywolywac go z konsoli cmd. zawartosc skryptu start powershell.exe C:\zmienIP2.ps1 w JD ustwione mam w zakladce batch wlasnie ta komende start powershell.exe C:\zmienIP2.ps1 natomiast w external ustawiona jest sciezka do pliku bat o zawartosci wypisanej powyzej. plik zmienIP2.ps1 to skrypt powershella. jesli uruchomie skrypt bat recznie zmiana IP nastepuje bez problemow i wszystko dziala bez zaruztow. jednak w JD niby skrypt jest wywolywany jednak po zmianie IP JD ciagle widzi stary IP albo widzi adres o koncowce 190 ktory wogole nie jest ustawiany . Jesli zrestartuje JD recznie po tym jak automatycznie wykona on zmiane adresu wszystko dziala ok. pytanie co zrobic zeby automatyczna zmiana dzialala? ewentualnie jak zrobic w CMD zeby zrestartowac JD ponizej skrypt powershell do zmiany adresu IP dla zainteresowanych Skryptu mozna uzyc u siebie jednak prosze o zachowanie linijek z autorem czyli poczatkowe 2 linijki skryptu. Bedzie to podziekowanie dla mnie za poswiecony czas :) #Skrypt do zmiany IP Copyright by WOLKU & BART #zmienIP2.ps1 ver. 1.0 #pobranie IP zamiast xx wpisac swoj zakres $ip=echo (netsh interface ip show address | select-string -pattern "xxx.xxx.xxx.xx[6-9]") $ip=$ip.ToString() #wyciecie ostatniego fragmentu IP $nr = $ip.Substring($ip.LastIndexOf(".")+1) #echo $nr #konwersja na int $inr = [System.Int16]::Parse($nr) echo $inr #modulo 4 i dodanie do wartosc 186 w moim przypadku adresy 186-189 $inr=186+(($inr-186+1)%4) echo $inr # zamiast xx wpisac swoj poczatek IP $nowyip="xx.xxx.xxx."+$inr.ToString() echo $nowyip $godzina = (Get-Date).tostring() $ipgodz = $godzina + " - IP: " + $nowyip #wpisanie do loga godziny i IP ktory jest ustawiany echo $ipgodz >> c:\PlikLOG.txt #czyli teraz komenda $nowyip yy -wpisac gateway zzz- wpisac maske netsh interface ip set address name="Połączenie lokalne ZEWN" static $nowyip zzz.zzz.zzz.zzz yyy.yyy.yyy.yyy 1 |
![]() |
Thread Tools | |
Display Modes | |
|
|