Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

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

VB-Script das mit WMI lokale User zur Passwortänderung zwingen soll funktioniert nicht! (Windows 7)

Frage Entwicklung VB for Applications

Mitglied: azubaer

azubaer (Level 2) - Jetzt verbinden

26.05.2010, aktualisiert 17:38 Uhr, 6940 Aufrufe, 3 Kommentare

Hallo,

ich versuche mir ein Script für Windows 7 zu basteln, welches bei allen aktiven, lokalen Systembenutzern (die nicht "Systemadministrator" heißen) eine Passwortänderung beim nächsten Login erzwingt.

Folgendes VB-Script habe ich bereits hinbekommen:


On Error Resume Next
strComputer = "localhost"
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery _
("Select * from Win32_UserAccount Where LocalAccount = True AND Disabled = False AND Name <> 'Systemadministrator'")
For Each objItem in colItems
objItem.Put "PasswordExpired", 1
objItem.SetInfo
Wscript.Echo objItem.Name
Next


Leider funktioniert es noch nicht - zumindest nicht unter Windows 7 (andere Systeme habe ich nicht probiert - nützten mir auvh nix).
Das Wscript.Echo gibt zwar den korrekten Benutzernamen zurück, aber die Änderungen werden nicht übernommen.

Ist möglicherweise der Put-Parameter für eine Passwortänderung falsch?
Oder gibt es eine Besonderheit bei Windows 7 (das Script stammt noch aus XP-Zeiten...)
Kennt jemand eine Möglichkeit wie es unter Windows 7 klappen würde?

Schonmal besten Dank für eure Hilfe!

Gruß
Martin
Mitglied: bastla
26.05.2010 um 18:10 Uhr
Hallo azubaer!

So sollte das eher funktionieren:
01.
Const ADS_UF_DONT_EXPIRE_PASSWD = &h10000 
02.
 
03.
Set colAccounts = GetObject("WinNT://.") 
04.
colAccounts.Filter = Array("user") 
05.
 
06.
For Each objUser In colAccounts 
07.
    If LCase(objUser.Name) <> LCase("Systemadministrator") And objUser.AccountDisabled = False Then  
08.
        objUserFlags = objUser.Get("UserFlags") 
09.
        objPasswordExpirationFlag = objUserFlags And Not ADS_UF_DONT_EXPIRE_PASSWD 
10.
        objUser.Put "userFlags", objPasswordExpirationFlag 
11.
        objUser.Put "PasswordExpired", 1 
12.
        objUSer.SetInfo 
13.
    End If 
14.
Next
Damit sollte auch eine allfällige Einstellung "Kennwort läuft nie ab" rückgängig gemacht werden (da ansonsten das "PasswordExpired" keinen Sinn hätte).

Grüße
bastla

P.S.: Während des Testens eines VBScripts ist "On Error Resume Next" kontraproduktiv - Du willst ja sehen, wo es Fehler gibt ...
Bitte warten ..
Mitglied: azubaer
26.05.2010 um 21:25 Uhr
Hallo bastla,

vielen Dank für deinen Beitrag!
das war die Lösung!
Ich weiß nicht wieso, aber es geht (wenn ich es únter Windows 7 aus einer Admin-Konsole heraus anstarte)


Besten Dank!
Bitte warten ..
Mitglied: bastla
26.05.2010 um 21:56 Uhr
Hallo azubaer!
Ich weiß nicht wieso, aber es geht
Stammt doch zum größten Teil direkt von MS (aus der sehr zu empfehlenden Sammlung von Beispielscripts in der "script_center.chm") - da darf es doch eigentlich ...

Grüße
bastla

P.S.: Nicht minder zu empfehlen: (ein Teil der) gesammelten Werke der "Scripting Guys" ...
Bitte warten ..
Ähnliche Inhalte
VB for Applications
gelöst VB-Script per Aufgabenplanung (2)

Frage von S4kar97 zum Thema VB for Applications ...

Windows Server
Drucker entfernen in VB-Script (2)

Frage von NilsvLehn zum Thema Windows Server ...

Batch & Shell
gelöst Powershell Script über An und Abmeldezeit am lokalen Client (38)

Frage von jeffrey zum Thema Batch & Shell ...

Windows Server
gelöst Bei Event funktioniert das Powershell Script nicht richtig (14)

Frage von canlot zum Thema Windows Server ...

Neue Wissensbeiträge
Windows Update

Novemberpatches und Nadeldrucker bereiten Kopfschmerzen

(14)

Tipp von MettGurke zum Thema Windows Update ...

Windows 10

Abhilfe für Abstürze von CDPUsersvc auf Win10 1607 und 2016 1607

(7)

Tipp von DerWoWusste zum Thema Windows 10 ...

RedHat, CentOS, Fedora

Fedora 27 ist verfügbar

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

Heiß diskutierte Inhalte
Batch & Shell
Batch Programm verhalten bei shoutdown -p (18)

Frage von Michael-ITler zum Thema Batch & Shell ...

Windows Server
Kennwort vergessen bei Hyper vserver 2012r (12)

Frage von jensgebken zum Thema Windows Server ...

Linux Desktop
Bildschirmauflösung unter Linux festlegen (12)

Frage von itebob zum Thema Linux Desktop ...