Datum unter Vista per VBScript setzen, mit UAC Unterstützung


Da man unter Windows Vista mit eingeschränkten Rechten unterwegs ist, gelingen auch bestimmte Dinge nicht mehr die früher meist ohne Probleme liefen. Wenn man früher z.B. die Uhrzeit per VBScript setzen wollte, konnte man eine Shell mit dem DATE-Befehl und dem gewünschten Datum aufrufen. Bei entsprechenden Rechten wurde das Datum gesetzt, Beispiel:

objWshShell.Run(„cmd.exe /c date 03-02-07“, 0, TRUE)

Da aber unter Vista die UAC aktiv ist, wird es etwas komplizierter, aber es funktioniert auch. Vor allem funktioniert es sauber und es bleibt dem Benutzer überlassen ob das Script die Adminrechte bekommt:

WScript.Echo „aktuelle Zeit: “ & Now

altesdatum = date

Set objShell = CreateObject(„Shell.Application“)

Set objFolder = objShell.Namespace(37)  
REM  ssfSYSTEM = 0×25 = 37 = C:\WINDOWS\SYSTEM32

Set objFolderItem = objFolder.ParseName(„cmd.exe“)     ‚ COMSPEC wäre besser

objFolderItem.InvokeVerbEx „runas“, „/c date 03-02-07“

if date <> altesdatum then
  WScript.Echo „Datum setzen hat geklappt!“
else
  WScript.Echo „Datum setzen hat nicht geklappt!“
end if

WScript.Echo „neue Zeit: “ & Now

Diese Methode kann man auch für Batchdateien verwenden die entsprechende Rechte benötigen.

3 Antworten to “Datum unter Vista per VBScript setzen, mit UAC Unterstützung”

  1. sat Says:

    cool

  2. Quirel Says:

    In Powershell:

    if (-not (new-object System.Security.Principal.WindowsPrincipal([System.Security.Principal.WindowsIdentity]::GetCurrent())).IsInRole([System.Security.Principal.WindowsBuiltInRole]::Administrator))
    {
    $newProcess = new-object System.Diagnostics.ProcessStartInfo „PowerShell“
    $newProcess.Arguments = $myInvocation.MyCommand.Definition;
    $newProcess.Verb = „runas“;
    [System.Diagnostics.Process]::Start($newProcess);
    exit
    }

  3. Quirel Says:

    In Powershell gibt es eine bessere Variante:

    Start-Process „$psHome\powershell.exe“ -Verb Runas -ArgumentList ‚-command „Get-Process“‚

    die Kurzfassung:

    Start-Process Powershell -Verb Runas

    Quelle: http://blogs.msdn.com/b/powershell/archive/2009/04/23/v2-quick-tip-starting-a-new-elevated-process-from-a-powershell-script.aspx

Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s


%d Bloggern gefällt das: