clemi
Goto Top

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

Content-Key: 9886

Url: https://administrator.de/contentid/9886

Printed on: April 19, 2024 at 17:04 o'clock

Member: gemini
gemini Apr 23, 2005 at 22:16:31 (UTC)
Goto Top
Bei 200 Usern, hmmm
Ich würd sagen du solltest langsam anfangen face-wink

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
~~~~~~~~~~~~~~~~~~
Member: Atti58
Atti58 Apr 24, 2005 at 09:31:04 (UTC)
Goto Top
... sorry, das geht doch nicht so face-sad , wie ich hier gepostet hatte,

Gruß

Atti
Member: gemini
gemini Apr 24, 2005 at 09:35:15 (UTC)
Goto Top
Das naheliegenste hab ich natürlich übersehen *grrmmmlll*
Member: Atti58
Atti58 Apr 24, 2005 at 09:42:29 (UTC)
Goto Top
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
Member: Atti58
Atti58 Apr 24, 2005 at 09:46:37 (UTC)
Goto Top
... aber man kann es natürlich bei jedem einzelnen Domänenprofil am DC einzeln rausnehmen, das Häckchen - ist zwar bei 200 Usern 'ne Arbeit für einen, der Vater und Mutter erschlagen hat, aber bevor ich den Job verlieren würde ...

Gruß

Atti.
Member: Atti58
Atti58 Apr 24, 2005 at 09:55:35 (UTC)
Goto Top
... 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
Member: gemini
gemini Apr 24, 2005 at 09:59:44 (UTC)
Goto Top
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>
Member: Atti58
Atti58 Apr 24, 2005 at 10:04:37 (UTC)
Goto Top
... 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
Member: gemini
gemini Apr 24, 2005 at 10:15:45 (UTC)
Goto Top
...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.
Member: coli
coli Apr 24, 2005 at 17:21:17 (UTC)
Goto Top
da hat gemini vollkommen recht - bei mir funktioniert es auch so face-smile
Member: Atti58
Atti58 Apr 28, 2005 at 06:37:33 (UTC)
Goto Top
... warum einfach, wenn es umständlich viel länger dauert face-wink face-smile ...

Markiere im SnapIn "AD Benutzer und Computer" einfach alle User, rechte Maustaste drauf, Eigenschaften ... und Du kannst alle Häkchen auf einen Schlag setzen ...

Gruß

Atti
Member: coli
coli Apr 28, 2005 at 08:59:50 (UTC)
Goto Top
... leider muss du dann aber jedesmal wenn du einen user anlegst, ein häkchen mehr machen face-wink
Member: Atti58
Atti58 Apr 28, 2005 at 14:08:01 (UTC)
Goto Top
... für irgendwas muss ich ja mein Geld bekommen face-wink face-smile ...

Gruß

Atti
Member: Clemi
Clemi May 02, 2005 at 13:38:12 (UTC)
Goto Top
hi!

Danke erstmals für die vielen Möglichkeiten,
Genau unter die Lupe werde ich diese Aktion erst in einer Woche ansehen.

Zwecks alle Benutzer markieren - Rechtsklick? Das war auch mein erster Gedanke aber es geht nicht. Leider ;-(

Ich werd mich mal umsehen - das mit dem Standard-Domainen-Benutzer hab ich noch nicht gefunden - mal schaun wo es das gibt.

lg Clemens
Member: Atti58
Atti58 May 02, 2005 at 21:17:59 (UTC)
Goto Top
... Win2k-Server face-sad ... kann ich leider nicht mehr nachvollziehen,

Gruß

Atti.
Member: Clemi
Clemi May 09, 2005 at 16:14:14 (UTC)
Goto Top
Es sollte doch mit den Policies
funktionieren<blockquote>
Maximales Kennwortalter</blockquote>

Ich finde das nirgends in den Policies. - Muss ich mir da irgendwelche Erweiterungen hineinspielen? oder gibts das beim 2k3 server? (ich sitze vor einem W2000 server)

lg cle
Member: gemini
gemini May 09, 2005 at 17:17:48 (UTC)
Goto Top
Computerkonfiguration > Windows-Einstellungen > Sicherheitseinstellungen > Kontorichtlinien > Kennwortrichtlinien

Hat es imo bei Win2k auch schon gegeben
Member: Clemi
Clemi May 19, 2005 at 14:45:41 (UTC)
Goto Top
HI!

Ich bin ziemlich Neu auf dem Gebiet und habe mich bisher erfolgreich gegen vb scripts gewehrt.

Wie führe ich dieses Scirpt aus?

Wenn ich es in einen Text-Datei kopiere und danach als vbs speichere und ausführe kommt eine fehlermeldung in Zeile 2 von wegen ungültiger Prozeduraufruf...

Oder öffnet man es über Rechtsklick mit der Konsole öffnen?

Tja ich wäre über jede Hilfe sehr dankbar.

lg clemens

Ps: gibts eigentlich rgendwo Informations-Seiten wo man es lernt solche Scripts zu schreiben? Thx a lot Clemens

pps: Ansonsten fang ich jetzt mal bald an...
Member: gemini
gemini May 19, 2005 at 15:00:09 (UTC)
Goto Top
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.
Member: Clemi
Clemi May 19, 2005 at 19:26:24 (UTC)
Goto Top
Leider leider muss ich wieder eine schlechte Nachricht überbringen:

Fehler in Zeile 16 Zeichen 1

The requested operation did not satisfy one ore more constraints associated with the class of the object.

Da in Zeile 15 der Pfad steht bin ich verunsichert, ob ich etwas falsch hingeschrieben habe:

objItem.Put "profilePath", "\\server\share\%username%" & strName
objItem.SetInfo

Loop
objFile.close


Stimmt das so???? DANKE DANKE DANKE Clemens

Ps: E-mail addi: cle-mens@gmx.at
Member: gemini
gemini May 19, 2005 at 19:59:20 (UTC)
Goto Top
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
Member: Clemi
Clemi May 20, 2005 at 16:45:41 (UTC)
Goto Top
na ja - so ungefähr dachte ich mir das eh... trotzdem bin ich glaub ich zu dumm...

Denn das Skript läuft und läuft einfach nicht. Fehler in zeile 16 Zeichen 1:

Der angeforderte Vorgang erfüllt mindestens eine Einschränkung nicht, die für diese Objektklasse Bedingung ist.

Code: 80072014 Quelle: (null)

In der Zeile 16 sthet meiner meinung nach:
objItem.SetInfo

Wenn ich übrigens diese Zeile lösche kommt keine Fehlermeldung - es verändert sich aber auch nix am Benutzer...
Darum sag ich ganz lieb BITTE nur noch 3 Zeilen und die Sache ist gegessen.
lg Clemens
Member: gemini
gemini May 20, 2005 at 20:03:56 (UTC)
Goto Top
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
struserPrincipalName = objItem.Get("userPrincipalName")  
deren Anmeldenamen abfragen. Diesen mit
arrUser = Split(struserPrincipalName,"@")  
trennen und der Variablen
strName = arrUser(0)
zuweisen. strName enthält dann, um beim obigen Beispiel zu bleiben,
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.