Avatar billede 2001stausholm Nybegynder
29. oktober 2004 - 16:56 Der er 4 kommentarer

Daylight saving settings.

Kan nogen vise mig et VBS-script hvor man sætter "automatic
adjust clock for daylight savingsettings" på W2K og XP. Er der en anden smart måde at gøre dette på?. evt. fra en commandline.?

Har prøvet med følgende, men det går ned på regwrite. Det er som om at der ikke er adgang til registry på netop dette sted.

Option Explicit
Dim OShell, AutoDayLight
Set OShell = CreateObject ("wscript.shell")
On Error Resume Next
AutoDayLight = OShell.RegRead ("HKLM\System\CurrentControlSet\Control\TimeZoneInformation\DisableAutoDaylightTimeSet")
If Err <> 0 Then WScript.Quit (0)
If AutoDayLight = "1" Then

OShell.RegDelete "HKLM\System\CurrentControlSet\Control\TimeZoneInformation\DisableAutoDaylightTimeSet"
OShell.RegWrite "HKLM\System\CurrentControlSet\Control\TimeZoneInformation\ActiveTimeBias" , "0xFFFFFF88" , "REG_DWORD"
OShell.RegWrite "HKLM\System\CurrentControlSet\Control\TimeZoneInformation\DayLightName" , "W. Europe Daylight Time" , "Reg_SZ"
OShell.RegWrite "HKLM\System\CurrentControlSet\Control\TimeZoneInformation\DaylightBias" , "0xFFFFFFC4" , "REG_DWORD"
OShell.RegWrite "HKLM\System\CurrentControlSet\Control\TimeZoneInformation\DaylightStart" , "00000300050002000000000000000000" , "REG_BINARY"
OShell.Run "net Time \\server /Set /y"
end if
Avatar billede hiks Nybegynder
29. oktober 2004 - 21:10 #1
hej

i første omgang mangler du at "dimme" Wscript - da du har Option Explicit på!

Private Function SetAutoDayLight()

Dim OShell, AutoDayLight
Set OShell = CreateObject("wscript.shell")
On Error Resume Next
AutoDayLight = OShell.RegRead("HKLM\System\CurrentControlSet\Control\TimeZoneInformation\DisableAutoDaylightTimeSet")

If Err <> 0 Then OShell.Quit (0)
If AutoDayLight = "1" Then

    OShell.RegDelete "HKLM\System\CurrentControlSet\Control\TimeZoneInformation\DisableAutoDaylightTimeSet"
    OShell.RegWrite "HKLM\System\CurrentControlSet\Control\TimeZoneInformation\ActiveTimeBias", "0xFFFFFF88", "REG_DWORD"
    OShell.RegWrite "HKLM\System\CurrentControlSet\Control\TimeZoneInformation\DayLightName", "W. Europe Daylight Time", "Reg_SZ"
    OShell.RegWrite "HKLM\System\CurrentControlSet\Control\TimeZoneInformation\DaylightBias", "0xFFFFFFC4", "REG_DWORD"
    OShell.RegWrite "HKLM\System\CurrentControlSet\Control\TimeZoneInformation\DaylightStart", "00000300050002000000000000000000", "REG_BINARY"
    OShell.Run "net Time \\server /Set /y"
End If

End Function

/hiks
Avatar billede 2001stausholm Nybegynder
29. oktober 2004 - 22:01 #2
Hej Hiks

Den giver desværre samme fejl på første linie hvor den kører OShell.RegWrite, RegDelete kører igennem.

|-----------------------------------------|
|Error:  Type mismatch                    |
|Code:  800A000D                        |
|Source: Microsoft VBScript runtime error |
|-----------------------------------------|

/2001Stausholm
Avatar billede hiks Nybegynder
30. oktober 2004 - 09:44 #3
lidt sjovt - den ruller fint her hos mig - den finder ikke nøglen og hopper forbi regdelete osv.

har du evt indsat WScript som reference i dit projekt? I så fald prøv at fjern det fra referencerne i dit projekt.

/hiks
Avatar billede 2001stausholm Nybegynder
05. december 2004 - 19:22 #4
ok
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester