» »

If stavek ping

If stavek ping

harmony ::

Tole sem na eni strani najdel.

$var = Ping("streznik.mojadomena.com",1000)
If @error = 0 Then
  RegWrite("HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings","ProxyEnable","REG_DWORD","1")
Else
  RegWrite("HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings","ProxyEnable","REG_DWORD","0")
EndIf


Tole dejansko ne deluje. Mislim da tu manjka par stvari, ampak ker nikoli se nisam pisal bat programckov, nevem tocno kaj je narobe.

Dejansko kar hocem je, da ko se uporabnik prijavi na delovno postajo, da se sprozi programcek, ki najprej pinga domenski streznik in v kolikor dobi odgovor nastavi v registru "ProxyEnable" na 1 (vklopljeno), v kolikor pa ne dobi odziva, pa nastavi ProxyEnable na 0 (izklopljeno).

Potreboval bi pomoc.

Mavrik ::

Verjetno je problem v tem da tole sploh ni .bat skripta :)
The truth is rarely pure and never simple.

harmony ::

Mavrik je izjavil:

Verjetno je problem v tem da tole sploh ni .bat skripta :)

Mozno. :)
Torej kao bi bila resitev .bat skripte?

ragezor ::

nevem, lahko pa tole pozenes s pythonom

import os
hostname = "google.com" #example
response = os.system("ping -n 1 " + hostname)

#and then check the response...
if response == 0:
  print hostname, 'is up!'
else:
  print hostname, 'is down!'

garamond ::

Če že mora biti .bat, poskusi če tole deluje -- je pa treba še narediti to, da se zažene takrat, ko ti hočeš.
@echo off
Ping www.mojadomena.com -n 1 -w 1000
if errorlevel 1 (REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v "ProxyEnable" /t REG_DWORD /d 0) else (REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v "ProxyEnable" /t REG_DWORD /d 1)

harmony ::

@garamond
Okej, en korak je ze blizje resitvi.

Dela super, ampak na koncu v cmd-ju vprasa:
Value ProxyEnable exists, overwrite(Yes/No)?

Jaz bi imel tako, da samo normalno prepise vrednost v registru.

sas084 ::

Uporab:
REG ADD /f

garamond ::

Dodaj še tisti /f kot je predlagal sas084, za samodejni zagon lahko pa uporabiš nasvete iz tukaj: http://stackoverflow.com/questions/2121...
Sumim pa da bo treba pretestirati: kaj če internet začne delovati šele nekaj sekund po zagonu skripte? Kaj če je internet počasen in traja ping sekundo?

harmony ::

Okej, sedaj gre z /f.

@garamond
Hmm, ja dobro vprasanje.

Zato pa se iscem kaksno se bolj elegantno resitev, kako dejansko narediti, da laptop uporabniki ne dobijo proxy nastavitev ko so izven firme.

harmony ::

Ehh...ne dela preko group policy.

Uporabnik dobi skripto, se zazene. Potem dam kabel ven, probam ponovno prijavo in se nic ne zgodi. Se zmeraj proxy enabled na 1.

AndrejO ::

harmony je izjavil:

Okej, sedaj gre z /f.

@garamond
Hmm, ja dobro vprasanje.

Zato pa se iscem kaksno se bolj elegantno resitev, kako dejansko narediti, da laptop uporabniki ne dobijo proxy nastavitev ko so izven firme.

Najlažje tako, da jim "porineš" te nastvitve, ko so v zasebnem omrežju. WPAD je magična kratica, http://technet.microsoft.com/en-us/libr... je ena povezava.

Naj te ne zavede dikcija, ki govori samo o IE. Tudi drugi dve popularni alternativi (FF in Chrome) privzeto uporabjata sistemske nastavitve in jima bo to delovalo, če se uporabnik ne bo vtikal v njihove nastavitve.

harmony ::

@Andrej
To sem tudi dal kot drugo moznost. Ocitno gre se za najboljso.

Tole sem najdel kot primer na internetu:

function FindProxyForURL(url, host) {
    //check for local domains
    if (dnsDomainIs(host,"fqdnA.internal.domain"))   {return "DIRECT";}

    //check for local IP addresses
    if ((shExpMatch(host,"127.0.0.1"))
        || (shExpMatch(host,"10.*.*.*"))  // Enter you local IP subnets
        ) {return "DIRECT";}

    //check for short host names
    if (isPlainHostName(host)) {return "DIRECT";}
   
    //else return proxy
    return "PROXY proxyA.internal.domain:8080";
}


Bi lahko iz te kode kreiral svoj wpad.dat, glede na moj opisan primer? Torej proxy on, ko so uporabniki v notranjem omrezju, ter proxy off ko so s prenosniki zunaj.

Prve vrstice so vse
{return "DIRECT";}
, torej to kolikor razumem pod temi pogoji naj gre klient direkt na internet oz. proxy off?

EDIT: Sem razumel prve dve vrstici, tretja ne vem kaj se hoce z njo, ampak ocitno se manjka se en if stavek, ko so uporabniki izven omrezja, da da na DIRECT.

Zgodovina sprememb…

  • spremenil: harmony ()

AndrejO ::

Hm. Dve stvari si pomešal. WPAD je mehanizem s katerim preko DHCP (DHCP option 252) ali DNS (http://wpad.tvoja.domena) Oknom sporočiš iz katerega naslova naj poberejo PAC. Vsebina PAC (to kar si navedel tukaj) pa potem pove kaj gre na kateri proxy, kaj pa ne.

Ko boš pravilno nastavil WPAD imaš lahko v PAC čisto vse na proxy in stvar bo delovala tako, kot si to želiš.

Torej:
WPAD: kje naj odjemalec v tovjem omrežju dobi PAC, če ta obstaja.
PAC: kam in kako posredovati zahtevke.

Nastavi WPAD, ki bo kazal na tvoj PAC in stvar je rešena. PAC se bo "naložil" samo računalnikom v tvojem omrežju, ne glede na to čigavi so. Hkrati pa tvoje WPAD nastavitve seveda ne bodo vidne svetu izven tvojega omrežja in tako računalniki, ne glede na to, če so "tvoji" ali ne, ne bodo dobili tvojega PAC.

Simpl ko pasulj.

Zgodovina sprememb…

  • spremenil: AndrejO ()


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Windows 10 z reklamami tudi v Raziskovalcu (strani: 1 2 3 )

Oddelek: Novice / Operacijski sistemi
14336488 (30052) D3m
»

PSEXEC problem

Oddelek: Operacijski sistemi
5604 (532) Pesimist
»

Imate rajši Win 7 kot Win 10? Imamo rešitev. (strani: 1 2 3 4 )

Oddelek: Operacijski sistemi
15345335 (35566) Cervantes
»

Trajen izklop windows opozoril v oblačkih ob zagonu

Oddelek: Pomoč in nasveti
101734 (1353) Ursus
»

Pomoč pri nastavitvah NTbackup.exe v win xp

Oddelek: Programska oprema
291585 (1314) XWY

Več podobnih tem