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

lokales Adminkennwort ändern

Frage Entwicklung VB for Applications

Mitglied: ndb-str

ndb-str (Level 1) - Jetzt verbinden

02.11.2009, aktualisiert 17:56 Uhr, 3981 Aufrufe, 3 Kommentare

Wenn ich das VB-Script mit einer dazugehörigen Rechnerliste (ca. 30 Stck.) ausführe kommt die Meldung: Fehler 424 Objekt erforderlich und
es wird kein Kennwort geändert. Habe es auch schon mit 4 Rechnern in der Liste probiert. Da kommt die Fehlermeldung immer beim letzten Rechner.
Woran kann es liegen ?


01.
'############################################################## 
02.
'## Ändern des Kennwortes für den lokal_adm mehrerer Rechner ## 
03.
'############################################################## 
04.
 
05.
 
06.
' --- Devbuglevel festlegen (0 oder 1) 
07.
 
08.
	gblDebug = 0 
09.
 
10.
 
11.
 
12.
' --- globale Objekte und Variablen 
13.
 
14.
	Dim gblDebug 
15.
	Dim gstrSkriptPfad 
16.
	Dim gstrRechnerliste 
17.
	Set goWSHShell = WScript.CreateObject("WScript.Shell") 
18.
	Set goMSIE = CreateObject("InternetExplorer.Application") 
19.
 
20.
 
21.
' --- Sonstige Objekte und Variablen 
22.
 
23.
	Dim strComputer 
24.
	Dim strFehlernummer 
25.
	Dim strFehlerbeschreibung 
26.
	Dim strNeuesPasswort 
27.
 
28.
 
29.
 
30.
' --- Skriptpfad ermitteln: 
31.
 
32.
	gstrSkriptPfad = Left(WScript.ScriptFullName, Len(WScript.ScriptFullName) - Len(WScript.ScriptName)) 
33.
 
34.
	if gblDebug then msgbox(gstrSkriptPfad) 
35.
 
36.
' --- FileSystem Objekt erzeugen: 
37.
 
38.
      Set objFSO = CreateObject("Scripting.FileSystemObject") 
39.
 
40.
 
41.
 
42.
 
43.
' --- Festlegen der Logdatei: 
44.
 
45.
	gstrLog = gstrSkriptPfad& "change_pwd.csv" 
46.
 
47.
	if gblDebug then msgbox(gstrLog) 
48.
 
49.
 
50.
	if gblDebug then msgbox("Protokolldatei existiert bereits? " & objFSO.FileExists(gstrLog)) 
51.
	if not objFSO.FileExists(gstrLog) then 
52.
 
53.
		set objLogFile = objFSO.CreateTextFile(gstrLog,2) 
54.
		objLogFile.WriteLine("Computer,Änderungsdatum,Änderungszeit,PasswordAge,Fehlernummer,Fehlerbeschreibung") 
55.
 
56.
 
57.
	else 
58.
		 
59.
		set objLogFile = objFSO.OpenTextFile(gstrLog,8) 
60.
		 
61.
	End If 
62.
 
63.
 
64.
 
65.
 
66.
' --- Festlegen der Rechnerliste: 
67.
 
68.
	gstrRechnerliste = gstrSkriptPfad& "rechnerliste.txt" 
69.
 
70.
	if gblDebug then msgbox(gstrRechnerliste) 
71.
 
72.
 
73.
 
74.
' --- nur weitermachen, wenn die Rechnerliste existiert 
75.
 
76.
	if not objFSO.FileExists(gstrRechnerliste) then 
77.
		strErr = "Die angegebene Rechnerliste existiert nicht!!! Das Programm wird beendet." 
78.
		msgbox(strErr) 
79.
		WScript.Quit 
80.
	End If 
81.
 
82.
 
83.
' ### IE - Ausgabefenster aufrufen 
84.
	'Call SetupMSIE() 
85.
	 
86.
	' --- Setup für ein Internetexplorerfenster 
87.
 
88.
	Call sbSetupMSIE() 
89.
 
90.
 
91.
 
92.
         
93.
 
94.
On Error Resume Next 
95.
 
96.
strNeuesPasswort=InputBox("Geben Sie das neue Passwort ein","NEUES PASSWORT") 
97.
 
98.
 
99.
 
100.
goMSIE.Document.Write "<HTML><head><TITLE>'Fortschritt beim Ändern der Passwörter'</TITLE></HEAD><BODY bgcolor=#ffffff>" 
101.
 
102.
 
103.
 
104.
 
105.
 
106.
Set objTextFile = objFSO.OpenTextFile(gstrRechnerliste, 1) 
107.
 
108.
	Err.Clear ' Leeren des Fehlerobjektes 
109.
	if gblDebug then MsgBox("Beim Öffnen der Rechnerliste-Datei ist folgender Fehler aufgetreten: " & Err.Number & " " & Err.Description) 
110.
 
111.
 
112.
 
113.
Do Until objTextFile.AtEndOfStream 
114.
 
115.
	On Error Resume Next 
116.
 
117.
	Set objUser = nothing 
118.
 
119.
    	strComputer = objTextFile.Readline 
120.
 
121.
		if gblDebug then msgbox(strComputer) 
122.
 
123.
	Err.Clear ' Leeren des Fehlerobjektes 
124.
	Set objUser = GetObject("WinNT://" & strComputer & "/lokal_adm, user") 
125.
 
126.
		if gblDebug then msgbox("Fehler beim Erstellen des objUser: " & Err.Number & " " & Err.Description) 
127.
 
128.
	 
129.
	Err.Clear ' Leeren des Fehlerobjektes 
130.
 
131.
	objUser.SetPassword strNeuesPasswort 
132.
 
133.
		if gblDebug then msgbox("Fehler beim Ändern des Passworts: " & Err.Number & " " & Err.Description) 
134.
 
135.
	strAenderungszeit=Date & "," & Time 
136.
	strFehlernummer="" 
137.
	strFehlerbeschreibung="" 
138.
	strFehlernummer="Fehler " & Err.Number 
139.
	strFehlerbeschreibung=Err.Description 
140.
 
141.
	Err.Clear ' Leeren des Fehlerobjektes 
142.
 
143.
 
144.
	objUser.SetInfo  
145.
 
146.
	PasswordAge = "?" 
147.
	PasswordAge = objUser.get("PasswordAge") 
148.
 
149.
 
150.
		if gblDebug then MsgBox("Beim Setzen des Passworts ist folgender Fehler aufgetreten: " & strFehlernummer & " " & strFehlerbeschreibungn) 
151.
		 
152.
 
153.
 
154.
		if gblDebug then MsgBox("Beim Ermitteln des Passwort-Alters ist folgender Fehler aufgetreten: " & Err.Number & " " & Err.Description) 
155.
 
156.
		if gblDebug then msgbox("Password am Computer" & strComputer & " vor " & PasswordAge & " s geändert") 
157.
 
158.
 
159.
		Err.Clear ' Leeren des Fehlerobjektes 
160.
 
161.
	 
162.
		objLogFile.WriteLine(strComputer & "," & strAenderungszeit & "," & PasswordAge & "," & strFehlernummer & "," & strFehlerbeschreibung) 
163.
		goMSIE.Document.Write strComputer & "," & strAenderungszeit & "," & PasswordAge & "," & strFehlernummer & "," & strFehlerbeschreibung &"<br>" 
164.
 
165.
		if gblDebug then MsgBox("Beim Schreiben der Log-Datei ist folgender Fehler aufgetreten: " & Err.Number & " " & Err.Description) 
166.
	 
167.
 
168.
Loop 
169.
 
170.
 
171.
goMSIE.Document.Write "</BODY></HTML>" 
172.
 
173.
objTextFile.Close 
174.
objLogFile.close 
175.
 
176.
set objTextFile = nothing 
177.
objLogFile = nothing 
178.
 
179.
msgbox("Fertig, ein Protokoll der durchgeführten Änderungen finden Sie unter " & gstrLog) 
180.
 
181.
goMSIE.Quit 
182.
	 
183.
WScript.quit 
184.
 
185.
 
186.
 
187.
 
188.
 
189.
'------------------------------------------------------------------------------------------------------------------- 
190.
'                                   HILFS UND SUBROUTINEN 
191.
'------------------------------------------------------------------------------------------------------------------- 
192.
	 
193.
	Sub sbSetupMSIE 
194.
		goMSIE.Navigate "About:Blank" 
195.
		goMSIE.ToolBar = False 
196.
		goMSIE.StatusBar = False 
197.
		goMSIE.Resizable = False 
198.
	 
199.
		Do 
200.
		Loop While goMSIE.Busy 
201.
	 
202.
		SWidth = goMSIE.Document.ParentWindow.Screen.AvailWidth 
203.
		SHeight = goMSIE.Document.ParentWindow.Screen.AvailHeight 
204.
		goMSIE.Width = 500 
205.
		goMSIE.Height = 400 
206.
		goMSIE.Left = 10 
207.
		goMSIE.Top = 10 
208.
	 
209.
		goMSIE.Visible = True 
210.
	End Sub 
211.
	 
212.
	Sub MSILeer() 
213.
		goMSIE.Document.Write "<BR>" 
214.
	End Sub
Mitglied: Biber
02.11.2009 um 20:02 Uhr
Vielleicht kommt die Fehlermeldung nicht beim letzten, sondern nach dem letzten Rechner wegen des fehlenden Wortes "Set" vor "objLofFile =nothing" ?

Ich bin echt beeindruckr, mit wie wenig Mitteln sich ein Eigentlich-4-Zeilen-Skriptchen praktisch unwartbar machen lässt.

Ich werd mich wohl auch mal in VB-wie-heißt-das-Geraffel? einlesen...
Bitte warten ..
Mitglied: ndb-str
03.11.2009 um 17:32 Uhr
Hallo, habe den Fehler gefunden.
Es lag an der txt.Datei mit den Rechnernamen. Darin befanden sich mehrere Leerzeichen die
durch das Listenexportieren aus dem AD entstanden sind.
Jetzt funktioniert es
Bitte warten ..
Mitglied: curlybiggelow
10.11.2009 um 08:42 Uhr
Wir hatten früher mal (in den 80ern) einen Fortran-74-Dialekt auf den Microprozessor-Consolen - das sah ähnlich geschwätzig aus. Das hat der Compiler natürlich hinterher alles rausgefetzt, aber die Quelltexte waren ähnlich schön ... schöne alte Zeiten ... da war das Datenwort noch 4 Bit breit, meistens ... wie hiessen diese Kisten noch gleich ? 'Computer für Menschen' war der Werbetext ... war mit nichts kompatibel, ausser mit sich selbst ... naja
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(5)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Erkennung und -Abwehr
Lokale Virenprüfstation : Windows 10: Ändern von Einstellungen verhinden (5)

Frage von TryAndSolve zum Thema Erkennung und -Abwehr ...

Windows Server
Windows Remote App - Ausgabe in lokales Office (1)

Frage von fluluk zum Thema Windows Server ...

Windows Server
gelöst Word 2010 : Absatz - Abstand per GPO ändern (3)

Frage von johanna-p zum Thema Windows Server ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...

Outlook & Mail
Outlook 2010 findet ost datei nicht (18)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (17)

Frage von Unwichtig zum Thema Netzwerkmanagement ...