Vinnaren i pepparkakshustävlingen!
2016-04-12, 15:37
  #1
Medlem
konstits avatar
Jag är värdelös på scripting och hoppas på lite hjälp här... jag har stora problem med användare som använder sina privata laptops och har fasta DNS-adresser, antingen medvetet, eller för att dom fåttt snusk på burken i form av DNS-unlocker eller liknande.

Jag har inte tid att rensa, knappt tid att pilla tillbaka DNS till DHCP, och tänkte man kunde lägga ett litet script på användarnas skrivbord, som de så kunde klicka på när dom är hos oss. Men jag har inte hittat något som fungerar. Netsh i batfil fungerar vad jag kan se, men där skall man ju veta namnet på nätverksadaptern, och där jag befinner mig har vi riktigt många olika språk, ja, från hela världen faktiskt.

Jag har hittat några vbs som påstås göra det jag önskar, men när jag testar hänger de fasta DNS-adresserna kvar i alla fall. Det senaste jag provat var det här från http://arstechnica.com/civis/viewtopic.php?t=345473 men det funkar heller inte...

På förhand tack.
Citera
2016-05-03, 22:02
  #2
Medlem
Bongomans avatar
Du har fel inställning till problemet. Den lösning jag rekommenderar är att du på nätverksnivå bygger en proxy för DNS. Du ska skita i BYOD helt. För företagets burkar låser du ner dem så användarna inte är administrator. Policyn låser nätverksinställningarna.
Citera
2016-05-16, 13:07
  #3
Medlem
NollFemNollFems avatar
Borde funka:
Kod:
strComputer = "."
Set wmisrv = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set NIC = wmisrv.ExecQuery ("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")
For Each objNetAdapter in NIC
	errEnable = objNetAdapter.EnableDhcp
	errdns1 = objNetAdapter.SetDNSServerSearchOrder(dhcp) 
	If errEnable = 0 Then
		WScript.Echo "DHCP has been enabled."
	Else
		WScript.Echo "DHCP could not be enabled."
	End If
Next

Annars kan du (om det nu inte blir allt för många olika språk) köra vidare på batch-spåret, typ:
Kod:
@ECHO OFF
SETLOCAL EnableDelayedExpansion

::  English
SET adapterName=
FOR /F "tokens=* delims=:" %%a IN ('IPCONFIG ^| FIND /I "ETHERNET ADAPTER"') DO (
SET adapterName=%%a
SET adapterName=!adapterName:~17!
SET adapterName=!adapterName:~0,-1!
netsh interface ipv4 set dns name="!adapterName!" source=dhcp
)

::  Swedish
SET adapterName=
FOR /F "tokens=* delims=:" %%a IN ('IPCONFIG ^| FIND /I "ETHERNET-ANSLUTNING"') DO (
SET adapterName=%%a
SET adapterName=!adapterName:~20!
SET adapterName=!adapterName:~0,-1!
netsh interface ipv4 set dns name="!adapterName!" source=dhcp
)

ipconfig /flushdns

exit
__________________
Senast redigerad av NollFemNollFem 2016-05-16 kl. 13:09.
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback