Pfad Servergespeicherter Profile Password never expires W2k Server
Wie kann ich bei 200 User das Hackerl "Password never expires" anhacken?
Wie kann ich bei 200 User den Pfad für Roaming Profiles angeben?
Tja die Fragen stehen bereits in der Einleitung!
Wie kann ich bei 200 User das Hackerl "Password never expires" anhacken?
Wie kann ich bei 200 User den Pfad für Roaming Profiles angeben?
Gibt es Möglichkeiten die Sache per script irgendwie text-mäßig zu erfassen?
Antworten werden jederzeit gerne entgegengenommen. Ansonsten wird irgendjemand ab dem 1ten Mai eine neue Arbeit haben
lg Clemens
Wie kann ich bei 200 User den Pfad für Roaming Profiles angeben?
Tja die Fragen stehen bereits in der Einleitung!
Wie kann ich bei 200 User das Hackerl "Password never expires" anhacken?
Wie kann ich bei 200 User den Pfad für Roaming Profiles angeben?
Gibt es Möglichkeiten die Sache per script irgendwie text-mäßig zu erfassen?
Antworten werden jederzeit gerne entgegengenommen. Ansonsten wird irgendjemand ab dem 1ten Mai eine neue Arbeit haben
lg Clemens
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 9886
Url: https://administrator.de/forum/pfad-servergespeicherter-profile-password-never-expires-w2k-server-9886.html
Ausgedruckt am: 07.04.2025 um 13:04 Uhr
23 Kommentare
Neuester Kommentar
Bei 200 Usern, hmmm
Ich würd sagen du solltest langsam anfangen
Spaß beiseite, für das Passwort hab ich jetzt auf die Schnelle nichts gefunden.
Die Profilpfade solltest du mit dem Script anpassen können.
In C:\Users.txt werden die 200 Usernamen erwartet, einer pro Zeile
Das Script ist natürlich nicht getestet, sollte aber grundlegend funktionieren
~~~~~~~~~~~~~~~~~~
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("C:\Users.txt",ForReading)
Do Until objFile.AtEndOfStream
strName = objFile.readline
strContainer = ""
Set objRootDSE = GetObject("LDAP:rootDSE")
If strContainer = "" Then
Set objItem = GetObject("LDAP:" & objRootDSE.Get("defaultNamingContext"))
Else
Set objItem = GetObject("LDAP://cn=" & strName & "," & strContainer & "," & objRootDSE.Get("defaultNamingContext"))
End If
objItem.Put "profilePath", "\\<<a>server<a>>\<<a>share<a>>\" & strName
objItem.SetInfo
Loop
objFile.close
~~~~~~~~~~~~~~~~~~
Ich würd sagen du solltest langsam anfangen
Spaß beiseite, für das Passwort hab ich jetzt auf die Schnelle nichts gefunden.
Die Profilpfade solltest du mit dem Script anpassen können.
In C:\Users.txt werden die 200 Usernamen erwartet, einer pro Zeile
Das Script ist natürlich nicht getestet, sollte aber grundlegend funktionieren
~~~~~~~~~~~~~~~~~~
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("C:\Users.txt",ForReading)
Do Until objFile.AtEndOfStream
strName = objFile.readline
strContainer = ""
Set objRootDSE = GetObject("LDAP:rootDSE")
If strContainer = "" Then
Set objItem = GetObject("LDAP:" & objRootDSE.Get("defaultNamingContext"))
Else
Set objItem = GetObject("LDAP://cn=" & strName & "," & strContainer & "," & objRootDSE.Get("defaultNamingContext"))
End If
objItem.Put "profilePath", "\\<<a>server<a>>\<<a>share<a>>\" & strName
objItem.SetInfo
Loop
objFile.close
~~~~~~~~~~~~~~~~~~
Nein, leider geht das so nicht, wie ich geschrieben und fast augenblicklich wieder zurückgenommen hatte. Wenn das Häckchen im Domänen-Benutzerprofil auf "never expire" steht, kann man es nicht mit den Policies überschreiben ... Ich hatte gehofft, dass noch niemand meinen Post gelesen hatte *rotwerd* ...
Gruß
Atti
Gruß
Atti
... vieeleicht kannst Du ja diesen Befehl in einem Script einsetzen:
"net accounts [/forcelogoff:{Minutes | no}] [/minpwlen:Length] [/maxpwage:{Days | unlimited}] [/minpwage:Days] [/uniquepw:Number] [/domain]
Parameters
/forcelogoff:{Minutes | no}
Sets the number of minutes to wait before ending a user's session with a server when the user account or valid logon time expires. The default value, no, prevents users from being forced to log off.
/minpwlen:Length
Sets the minimum number of characters for a user account password. The range is from 0 through 127 characters and the default is six characters.
/maxpwage:{Days | unlimited}
Sets the maximum number of days that a user account's password is valid. The unlimited value sets no maximum time. The /maxpwage command-line option must be greater than /minpwage. The range is from 1 through 49,710 days (that is, unlimited equals 49,710 days), and the default value is 90 days.
/minpwage:Days
Sets the minimum number of days before a user can change a new password. The default value is zero days, which sets no minimum time. The range is from 0 through 49,710 days.
/uniquepw:Number
Requires a user to not repeat the same password for the specified Number of password changes. The range is from 0 through 24 password changes, and the default is five password changes.
/domain
Performs the operation on the primary domain controller of the current domain. Otherwise, the operation is performed on the local computer.
net help Command
Displays help for the specified net command. "
Gruß
Atti
"net accounts [/forcelogoff:{Minutes | no}] [/minpwlen:Length] [/maxpwage:{Days | unlimited}] [/minpwage:Days] [/uniquepw:Number] [/domain]
Parameters
/forcelogoff:{Minutes | no}
Sets the number of minutes to wait before ending a user's session with a server when the user account or valid logon time expires. The default value, no, prevents users from being forced to log off.
/minpwlen:Length
Sets the minimum number of characters for a user account password. The range is from 0 through 127 characters and the default is six characters.
/maxpwage:{Days | unlimited}
Sets the maximum number of days that a user account's password is valid. The unlimited value sets no maximum time. The /maxpwage command-line option must be greater than /minpwage. The range is from 1 through 49,710 days (that is, unlimited equals 49,710 days), and the default value is 90 days.
/minpwage:Days
Sets the minimum number of days before a user can change a new password. The default value is zero days, which sets no minimum time. The range is from 0 through 49,710 days.
/uniquepw:Number
Requires a user to not repeat the same password for the specified Number of password changes. The range is from 0 through 24 password changes, and the default is five password changes.
/domain
Performs the operation on the primary domain controller of the current domain. Otherwise, the operation is performed on the local computer.
net help Command
Displays help for the specified net command. "
Gruß
Atti
Es sollte doch mit den Policies funktionieren<blockquote>
Maximales Kennwortalter
Beschreibung
Diese Sicherheitseinstellung bestimmt, wie lange (in Tagen) ein Kennwort unverändert verwendet werden darf.
Für das Ablaufen von Kennwörtern können Sie einen Zeitraum von 1 bis 999 Tagen festlegen. Sollen Kennwörter nie ablaufen, legen Sie den Wert 0 fest. Liegt das maximale Kennwortalter zwischen 1 und 999 Tagen, muss der Wert für das minimale Kennwortalter niedriger als das maximale Kennwortalter sein. Wird das maximale Kennwortalter auf 0 festgelegt, ist für das minimale Kennwortalter ein Wert zwischen 0 und 998 Tagen zulässig.</blockquote>
Maximales Kennwortalter
Beschreibung
Diese Sicherheitseinstellung bestimmt, wie lange (in Tagen) ein Kennwort unverändert verwendet werden darf.
Für das Ablaufen von Kennwörtern können Sie einen Zeitraum von 1 bis 999 Tagen festlegen. Sollen Kennwörter nie ablaufen, legen Sie den Wert 0 fest. Liegt das maximale Kennwortalter zwischen 1 und 999 Tagen, muss der Wert für das minimale Kennwortalter niedriger als das maximale Kennwortalter sein. Wird das maximale Kennwortalter auf 0 festgelegt, ist für das minimale Kennwortalter ein Wert zwischen 0 und 998 Tagen zulässig.</blockquote>
... wir haben in unserer Domäne diese Policy gesetzt - wenn das Häckchen aber drin ist, wirkt sie nicht. Ich bin jetzt nur nicht sicher, ob das Häckchen beim Aktivieren der Policy schon gesetzt war und die Einstellung so geblieben ist oder ob es gesetzt wurde, nachdem die Policy schon in Kraft getreten war ...
Gruß
Atti
Gruß
Atti
...Hackerl "Password never expires" anhacken?
Er will es ja erst setzen.Wenn er standardmäßige User hat, lautet die Einstellung "..muss Kennwort ...ändern."
Die beiden Einstellungen stehen sich entgegen, beim manuellen Ändern bekommt man einen Fehler.
Allerdings ist dieser Haken nicht mehr vorhanden, sobald sich der User einmal eingeloggt und sein Passwort geändert hat. Dann sollte auch die Policy greifen.
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("C:\Users.txt", 1)
Do Until objFile.AtEndOfStream
strName = objFile.readline
strContainer = ""
Set objRootDSE = GetObject("LDAP:rootDSE")
If strContainer = "" Then
Set objItem = GetObject("LDAP:" & objRootDSE.Get("defaultNamingContext"))
Else
Set objItem = GetObject("LDAP://cn=" & strName & "," & strContainer & "," & objRootDSE.Get("defaultNamingContext"))
End If
objItem.Put "profilePath", "\\<server>\<share>\" & strName
objItem.SetInfo
Loop
objFile.close
Jetzt sollts gehen
Zum Thema Sripting:
http://www.computerperformance.co.uk/
http://www.microsoft.com/germany/technet/datenbank/articles/600327.mspx
http://www.admini.de/index.htm
Ich hab auch noch einige CHM die sich mit Scripting beschäftigen (Sprachverzeichnis, Repository etc.). Kann dir aber keine Quelle dazu sagen.
Nenn mir deine Mail per PN und ich schick sie dir.
Set objFile = objFSO.OpenTextFile("C:\Users.txt", 1)
Do Until objFile.AtEndOfStream
strName = objFile.readline
strContainer = ""
Set objRootDSE = GetObject("LDAP:rootDSE")
If strContainer = "" Then
Set objItem = GetObject("LDAP:" & objRootDSE.Get("defaultNamingContext"))
Else
Set objItem = GetObject("LDAP://cn=" & strName & "," & strContainer & "," & objRootDSE.Get("defaultNamingContext"))
End If
objItem.Put "profilePath", "\\<server>\<share>\" & strName
objItem.SetInfo
Loop
objFile.close
Jetzt sollts gehen
Zum Thema Sripting:
http://www.computerperformance.co.uk/
http://www.microsoft.com/germany/technet/datenbank/articles/600327.mspx
http://www.admini.de/index.htm
Ich hab auch noch einige CHM die sich mit Scripting beschäftigen (Sprachverzeichnis, Repository etc.). Kann dir aber keine Quelle dazu sagen.
Nenn mir deine Mail per PN und ich schick sie dir.
objItem.Put "profilePath", "\\server\share\" & strName
Vielleicht gehts so.
strName beinhaltet ja schon den Username
objItem.Put "profilePath", "\\server\share\%username%" & strName ergibt
\\DerFileserver\DasProfileverzeichnis\KlausGeorgKlausGeorg
rauskommen sollte aber
\\DerFileserver\DasProfileverzeichnis\KlausGeorg
Vielleicht gehts so.
strName beinhaltet ja schon den Username
objItem.Put "profilePath", "\\server\share\%username%" & strName ergibt
\\DerFileserver\DasProfileverzeichnis\KlausGeorgKlausGeorg
rauskommen sollte aber
\\DerFileserver\DasProfileverzeichnis\KlausGeorg
Der Fehler kommt daher, dass der Request nach dem common name (cn) fragt, in deiner Users.txt aber wahrscheinlich die Anmeldenamen stehen. Diese existieren in dieser Form aber nicht im Verzeichnis, weil der User durch den userPrincipalName definiert wird.
cn=Tanja Test
sAMAccountName=Tanja
userPrincipalName=tanja@domain.tld
Es funktioniert ohne Probleme (zumindest hat es bei mir unter W2k3), wenn die cn in der Users.txt stehen. Allerdings entstehen dann Profilnamen mit Leerzeichen was weitere Probleme hervorrufen kann.
Nach dem sAMAccountName und dem userPrincipalName kann man anscheinend nicht abfragen. Hat bei mir Fehler produziert.
Du könntest jetzt die cn's deiner User in die Users.txt schreiben, mit
deren Anmeldenamen abfragen. Diesen mit
trennen und der Variablen
zuweisen. strName enthält dann, um beim obigen Beispiel zu bleiben, .
Zugegebenermaßen ein Workaround.
Prüf bitte vorher, ob es bei W2k nicht doch möglich ist Attribute mehrerer Objekte zu gleichzeitig zu ändern.
cn=Tanja Test
sAMAccountName=Tanja
userPrincipalName=tanja@domain.tld
Es funktioniert ohne Probleme (zumindest hat es bei mir unter W2k3), wenn die cn in der Users.txt stehen. Allerdings entstehen dann Profilnamen mit Leerzeichen was weitere Probleme hervorrufen kann.
Nach dem sAMAccountName und dem userPrincipalName kann man anscheinend nicht abfragen. Hat bei mir Fehler produziert.
Du könntest jetzt die cn's deiner User in die Users.txt schreiben, mit
struserPrincipalName = objItem.Get("userPrincipalName")
arrUser = Split(struserPrincipalName,"@")
strName = arrUser(0)
tanja
Zugegebenermaßen ein Workaround.
Prüf bitte vorher, ob es bei W2k nicht doch möglich ist Attribute mehrerer Objekte zu gleichzeitig zu ändern.