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, 5163 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
Exchange Server
gelöst Outlook 2016 - Verschlüsselung mit Zertifikat schlägt fehl (13)

Frage von damogless zum Thema Exchange Server ...

Windows Server
gelöst Windows Server Backup 2012R2 Schlägt fehl (5)

Frage von bootloader zum Thema Windows Server ...

JavaScript
Skript schlägt fehl - nur Zahlen werden gespeichert (3)

Frage von Ah3n0bar6us zum Thema JavaScript ...

Heiß diskutierte Inhalte
Exchange Server
Email in Exchange an 2ten Empfänger senden (13)

Frage von MultiStorm zum Thema Exchange Server ...

Verschlüsselung & Zertifikate
gelöst Festplattenverschlüsselung im Ausland (13)

Frage von Nicolaas zum Thema Verschlüsselung & Zertifikate ...

Windows Server
gelöst Microsoft-Lizenz CALs und passendes Server-Betriebssystem (13)

Frage von planetIT2016 zum Thema Windows Server ...

Festplatten, SSD, Raid
gelöst Fehlerhafte Blöcke im RAID 10 (12)

Frage von Kojak-LE zum Thema Festplatten, SSD, Raid ...