Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

VBScript - Benutzung der WMI-Klasse StdRegProv als SYSTEM-Benutzer schlägt fehl

Frage Entwicklung VB for Applications

Mitglied: eicky2007

eicky2007 (Level 1) - Jetzt verbinden

05.12.2008, aktualisiert 21:04 Uhr, 5169 Aufrufe, 1 Kommentar

Hallo zusammen !

Ich möchte ein VBScript erstellen, das als Gruppenrichtlinien-Shutdown-Script Verwendung finden wird.
In diesem Script greife ich über die WMI-Klasse StdRegProv auf die Registrierung zu. Als "natürlicher" Benutzer mit administrativen Rechten läuft meine Routine auch problemlos durch. Wenn ich das Script allerdings als Shutdown-Script ausprobiere, schlägt der Zugriff auf die Registrierung fehl.
Testweise habe ich das Script auch schonmal als geplanten Task unter den Anmeldeeinstellungen des SYSTEM-Benutzers ausführen lassen: Das selbe Problem.
Es scheint also am SYSTEM-Benutzer zu liegen.

Auszug aus dem Code:

01.
const HKEY_LOCAL_MACHINE = &H80000002 
02.
 
03.
intRunInterval = 30 
04.
 
05.
strLastMaintenanceKeyPath = "SOFTWARE\IT-Abteilung" 
06.
strLastMaintenanceValueName = "LastMaintenance" 
07.
 
08.
Set objReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv") 
09.
 
10.
maintenanceDue = True 
11.
 
12.
objReg.GetDWORDValue HKEY_LOCAL_MACHINE, strLastMaintenanceKeyPath, strLastMaintenanceValueName, intLastMaintenance 
13.
 
14.
'Bei der Ausführung im SYSTEM-Kontext löst die obige Funktion den Err.Code 2 aus. Leider sagt mir das nicht viel... 
15.
 
16.
If IsNumeric(intLastMaintenance) Then 
17.
  if (Date() - intLastMaintenance) <= intRunInterval Then 
18.
    maintenanceDue = False 
19.
  End If 
20.
End If 
21.
 
22.
[...]
Leider kann ich nicht auf die RegRead-Funktion eines Wscript.Shell-Objektes zurückgreifen, da ich im späteren Verlauf des Scripts bspw. noch eine Liste von Unterschlüsseln eines Registry-Schlüssels abfragen möchte. Das geht imho nur mit der obigen Variante.

Hat jemand von euch eine Ahnung, wo das Problem liegen könnte ? Kann der SYSTEM-Benutzer etwa keine WMI-Funktionalitäten ausführen ? Oder habe ich irgendwo einen Fehler im Ansatz ?

Vielen Dank im Voraus für eure Mühen!

Gruß, Eicky

P.S.: Bein leider kein VBScript / WMI-Crack, habe trotzdem versucht, mein Problem verständlich auszudrücken
Mitglied: eicky2007
05.12.2008 um 21:04 Uhr
Hallo nochmal,

sorry, hab das Fehlschlagen meines Scripts wohl vollkommen falsch "interpretiert". Daher hilft der obige Code-Auszug auch nicht bei der Problemlösung...

Der Unterschied ist (wie ich inzwischen herausgefunden habe) der, dass ein SetDWORDValue-Aufruf unter dem SYSTEM-Konto fehlschlägt, wenn der übergeordnete Key nicht existiert. Unter einem "natürlichen" Administrator hingegen gab's keine Probleme...

Hab dann einfach die Erstellung des Keys vorgeschaltet...

Viele Grüße,

Eicky
Bitte warten ..
Ähnliche Inhalte
Visual Studio
gelöst VBScript und WMI (Win32-NetworkAdapterConfiguration) (3)

Frage von MaxMoritz6 zum Thema Visual Studio ...

Neue Wissensbeiträge
Batch & Shell

Batch zum Zurücksetzen eines lokalen Profils

Tipp von Mr.Error zum Thema Batch & Shell ...

RedHat, CentOS, Fedora

Fedora, RedHat, Centos: DNS-Search Domain setzen

(13)

Tipp von Frank zum Thema RedHat, CentOS, Fedora ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
VPN Tunnel aufbauen (16)

Frage von Hajo2006 zum Thema LAN, WAN, Wireless ...

Router & Routing
ASUS RT-N18U mit VPN Client hinter Fritzbox - Portforwarding (14)

Frage von marshall75000 zum Thema Router & Routing ...

Microsoft Office
Saubere HTML aus Word-Dokument (14)

Frage von peterpa zum Thema Microsoft Office ...

E-Mail
gelöst Probleme beim E-Mail Empfang (12)

Frage von TommyB83 zum Thema E-Mail ...