TITAN3000 Geschrieben 30. Juni 2010 Teilen Geschrieben 30. Juni 2010 Hallo, Erstmal die Grunddaten: Windows XP, SP3, Lokale Benutzerkonten. Kennwörter laufen nach einem Jahr ab, müssen den Komplexitätsrichtlinien entsprechen und dürfen nicht den letzten 2 Kennwörtern gleichen. Der Benutzer-Account um den es hierbei geht, ist auf jedem Client im Netzwerk eingerichtet. Dieser Benutzer-Account wird nicht zum interaktiven Einloggen am Anmeldebildschirm benutzt. Zum Einen dient er dem auf dem Client laufenden Virenscanner, zum Anderen wird über diesen Account über die Datei- und Druckfreigabe auf die Clients über´s Netzwerk zugegriffen (C$). Falls das Hächkchen gesetzt ist, ist alles klar, das Passwort läuft nie ab. Da man dieses Häckchen allerdings nicht so ohne weiteres mithilfe einer kleinen Batch setzen kann (NET USER XY /EXPIRES:NEVER bezieht sich nicht auf´s Passwort sondern auf den Nutzer selbst, deshalb wird das genannte Häkchen nicht gesetzt...), stellt sich die Frage, was genauf das Häkchen eigentlich bewirkt. Bezieht sich diese Einstellung NUR auf die interaktive Anmeldung am PC, also nur dann, wenn man mit diesem Benutzer arbeiten möchte? Macht es Windows nichts aus, dass das Kennwort abläuft, solange man sich nicht interaktiv anmeldet? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
tester2k5 Geschrieben 30. Juni 2010 Teilen Geschrieben 30. Juni 2010 Auf was sich der Hacken genau auswirkt kann ich dir nicht sagen, wohl aber das es nicht nur für die interaktive Anmeldung gilt, sondern auch für Services, Tasks, Mappings, etc. Const ADS_UF_DONT_EXPIRE_PASSWD = &h10000 strComputer = "atl-win2k-01" Set objUser = GetObject("WinNT:// " & strComputer & "/kenmyer ") objUserFlags = objUser.Get("UserFlags") objPasswordExpirationFlag = objUserFlags OR ADS_UF_DONT_EXPIRE_PASSWD objUser.Put "userFlags", objPasswordExpirationFlag objUser.SetInfo Gruss, tester2k5 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
jeronimonino Geschrieben 30. Juni 2010 Teilen Geschrieben 30. Juni 2010 solange man sich nicht interaktiv anmeldet? Das hat mit dem Anmelden am Computer nix zu tun, sondern nur mit dem Kennwortalter was im AD berechnet wird. Wenn du dich also jedentag anmeldest und morgen vorraussichtlich das maximale Kennwortalter erreicht ist musst du morgen dein Kennwort ändern. Aber auch nur wenn du dich mit deinem Benutzer in der Domäne anmeldest. Hast du jetzt z.b. ein Notebook und gehst damit auf reisenund das kennwort läuft aber morgen ab kannst du dich morgen immernoch mit dem alten kennwort in der Domäne obwohl du sie nicht erreichst anmelden. Soweit ich weis kann man das alles im AD regeln. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
tester2k5 Geschrieben 30. Juni 2010 Teilen Geschrieben 30. Juni 2010 Richtig, aber es geht ihm um lokale Benutzerkonten: Hallo, Erstmal die Grunddaten: Windows XP, SP3, Lokale Benutzerkonten. Gruss, tester2k5 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
TITAN3000 Geschrieben 30. Juni 2010 Autor Teilen Geschrieben 30. Juni 2010 Genau, eine Domäne liegt nicht vor. Es geht um einen Lokalen Benutzer, der auf allen PC´s eingerichtet ist. Also ist es unbekannt, was dieses Häckchen genau macht? Anmelden am PC (um zu Arbeiten) braucht man mit diesem Login nicht zu können. Was sicher gehen muss: C$-Zugriff sowie Ausführen von Programmen mit dem Account. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
tester2k5 Geschrieben 30. Juni 2010 Teilen Geschrieben 30. Juni 2010 Dann ist es wichtig, das das Passwort des Users nicht abläuft. Gruss, tester2k5 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
TITAN3000 Geschrieben 30. Juni 2010 Autor Teilen Geschrieben 30. Juni 2010 Ok, dann muss man´s noch nachträglich per Hand eintragen. Das hier gepostete VB-Skript ist mir von der Funktion nicht ganz klar, könnte man dieses auch hernehmen? Oder ist dies nur für Domänen gedacht? Gibt´s denn eine Möglichkeit, das ganze automatisch setzen zu lassen? Es gab früher mal ein kleines Tool, welches das konnte, allerdings ist es nun schon offline (wohl schon seit über einem Jahr) und es kommen nur Hundebilder, anstatt das Tool Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
tester2k5 Geschrieben 1. Juli 2010 Teilen Geschrieben 1. Juli 2010 Das Skript läuft auch für Lokale Benutzer. REM Call SetPW2NeverExpires.vbs CLS @ECHO OFF ECHO Call SetPW2NeverExpires... WScript //NoLogo SetPW2NeverExpires.vbs [ComputerName] [UserName] PAUSE EXIT ' SetPW2NeverExpires.vbs '-------------------------------------------------------------------- ' Description '-------------------------------------------------------------------- ' Configuring a Local User Account Password So It Never Expires '-------------------------------------------------------------------- ' Declarations '-------------------------------------------------------------------- Option Explicit 'On Error Resume Next Const ADS_UF_DONT_EXPIRE_PASSWD = &h10000 '-------------------------------------------------------------------- ' Variables '-------------------------------------------------------------------- If WScript.Arguments.Count = 0 Then Dim strComputer: strComputer = InputBox("Enter the Computer Name:", "Computer Name") If strComputer = "" Then Wscript.Quit End If Else strComputer = WScript.Arguments(0) End If If WScript.Arguments.Count <= 1 Then Dim strUser: strUser = InputBox("Enter the User Name:", "User Name") If strUser = "" Then Wscript.Quit End If Else strUser = WScript.Arguments(1) End If '--------------------------------------------------------------------- ' Script '--------------------------------------------------------------------- Set objUser = GetObject("WinNT://" & strComputer & "/" & strUser & ",User") objUserFlags = objUser.Get("UserFlags") objPasswordExpirationFlag = objUserFlags OR ADS_UF_DONT_EXPIRE_PASSWD objUser.Put "userFlags", objPasswordExpirationFlag objUser.SetInfo Musst es ggf. in eine FOR-Schleife setzen um mehrere PCs / Benutzer abzuarbeiten. Gruss, tester2k5 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
TITAN3000 Geschrieben 1. Juli 2010 Autor Teilen Geschrieben 1. Juli 2010 Ok, vielen Dank! Ich werde das Skript gleich morgen testen! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
TITAN3000 Geschrieben 2. Juli 2010 Autor Teilen Geschrieben 2. Juli 2010 Ich hab eine start.bat angelegt, mit dem Inhalt des 1. Fensters, welche die SetPW2NeverExpires.vbs aufruft (inhalt des 2. Fensters). Bei mir kommt folgende Fehlermeldung: Skript: ...\SetPW2NeverExpires.vbs Zeile: 43 Zeichen: 1 Fehler: Die Syntax für den Dateinamen, Verzeichnisnamen oder die Datenträgerbezeichnung ist falsch. Code: 8007007B Quelle: (null) Die Betroffene Zeile Set objUser = GetObject("WinNT://" & strComputer & "/" & strUser & ",User") scheint (1. Zeichen?) nicht OK zu sein. Allerdings kenne ich mich mit VisualBasic nicht wirklich aus... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
lupo49 Geschrieben 2. Juli 2010 Teilen Geschrieben 2. Juli 2010 Lass dir mal die Variablen "strComputer" und "strUser" vor der Verwendung ausgeben, um sicher zu stellen, dass diese auch mit Werten gefüllt sind. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
TITAN3000 Geschrieben 2. Juli 2010 Autor Teilen Geschrieben 2. Juli 2010 Ich kenne mich mit VB nicht aus, wie kann ich die Variablen ausgeben? Die Windows-Variablen sind nicht gemeint, oder? ALLUSERSPROFILE=C:\Dokumente und Einstellungen\All Users APPDATA=C:\Dokumente und Einstellungen\XY\Anwendungsdaten CLIENTNAME=Console CommonProgramFiles=C:\Programme\Gemeinsame Dateien COMPUTERNAME=XY ComSpec=C:\WINDOWS\system32\cmd.exe FP_NO_HOST_CHECK=NO HOMEDRIVE=C: HOMEPATH=\Dokumente und Einstellungen\XY LOGONSERVER=\\XY NUMBER_OF_PROCESSORS=2 OS=Windows_NT Path=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Programme\Intel\DMIX;PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH PROCESSOR_ARCHITECTURE=x86 PROCESSOR_IDENTIFIER=x86 Family 6 Model 23 Stepping 10, GenuineIntel PROCESSOR_LEVEL=6 PROCESSOR_REVISION=170a ProgramFiles=C:\Programme PROMPT=$P$G SESSIONNAME=Console SystemDrive=C: SystemRoot=C:\WINDOWS TEMP=C:\DOKUME~1\XY\LOKALE~1\Temp TMP=C:\DOKUME~1\XY\LOKALE~1\Temp USERDOMAIN=XY USERNAME=XY USERPROFILE=C:\Dokumente und Einstellungen\XY windir=C:\WINDOWS Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
lupo49 Geschrieben 2. Juli 2010 Teilen Geschrieben 2. Juli 2010 Was sollen denn die Windows-Umgebungsvariablen damit zu tun haben? '--------------------------------------------------------------------- ' Script '--------------------------------------------------------------------- MsgBox "Computer: -->" & strComputer & "<-- Benutzer: -->" & strUser & "<---" Set objUser = GetObject("WinNT://" & strComputer & "/" & strUser & ",User") Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
tester2k5 Geschrieben 2. Juli 2010 Teilen Geschrieben 2. Juli 2010 Ich möchte dir hiermit von dem Skript abraten, wenn du alles ausführst, was man dir vorsetzt und es nicht verstehst, überprüfst oder hinterfragst... Ich hab eine start.bat angelegt, mit dem Inhalt des 1. Fensters... Du hast vmtl. mit dem Skript versucht den PC "[ComputerName]" zu erreichen und wolltest den Benutzer "[userName]" so ändern, das sein Passwort nicht abläuft... SetPW2NeverExpires.vbs [ComputerName] [UserName] Das es beide nicht gibt hast du hoffentlich festgestellt. Ich gebe dir gerne Hinweise und Beispiel-Skripte an die Hand, aber eine "KlickMich_und_Fertig.EXE" kann, will und werde ich dir nicht bauen. ...Ich bin raus aus dem Thread. Gruss, tester2k5 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
TITAN3000 Geschrieben 3. Juli 2010 Autor Teilen Geschrieben 3. Juli 2010 Was sollen denn die Windows-Umgebungsvariablen damit zu tun haben? ja, nicht viel :upps Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
TITAN3000 Geschrieben 3. Juli 2010 Autor Teilen Geschrieben 3. Juli 2010 Ich möchte dir hiermit von dem Skript abraten, wenn du alles ausführst, was man dir vorsetzt und es nicht verstehst, überprüfst oder hinterfragst... Ich hab eine start.bat angelegt, mit dem Inhalt des 1. Fensters... Du hast vmtl. mit dem Skript versucht den PC "[ComputerName]" zu erreichen und wolltest den Benutzer "[userName]" so ändern, das sein Passwort nicht abläuft... SetPW2NeverExpires.vbs [ComputerName] [UserName] Das es beide nicht gibt hast du hoffentlich festgestellt. Ich gebe dir gerne Hinweise und Beispiel-Skripte an die Hand, aber eine "KlickMich_und_Fertig.EXE" kann, will und werde ich dir nicht bauen. ...Ich bin raus aus dem Thread. Gruss, tester2k5 Ich hinterfrage durchaus! Und ich führe auf irgendwelchen Rechnern nicht irgendwelche Skripte aus, die ich nicht verstehe. Das hindert mich nicht daran, ein Skript, was ich noch nicht ganz verstehe, auf einem Testsystem auszuführen. Deine Aussage, tester2k5, ist unfair! Es kann schon sein, das du genervt bist von den "bitte erstelle mir eine "KlickMich_und_Fertig.EXE", und am besten so schnell wie möglich, weil ich brauche es für meinen Chef" Leuten. Um so etwas habe ich (dich) nicht gebeten. Wenn das Problem nur mit VB zu lösen ist (ich kann kaum VB und müsste mich erstmal einarbeiten) so kann man diese Diskussion im Grunde erstmal beenden, da ich nicht wirklich etwas zu VB-Skripten beitragen kann. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.