www.IT-Visions.de-Diskussionsforen (Version 2.1)
(Diese Seite wurde noch nicht auf das neue Layout umgestellt!)


Diese Foren stehen den Lesern unserer Bücher und allen anderen registrieren Benutzern dieser Website zur Verfügung. Wir würden uns freuen, wenn viele Nutzer dieser Website hier nicht nur Fragen stellen, sondern auch die Fragen anderer Nutzer beantworten. Diese Foren sind ein ehrenamtlicher, nicht-kommerzieller, unmoderierter Community-Dienst von www.IT-Visions.de. Wenn Sie kommerzielle Unterstützung für .NET/Scripting/PowerShell suchen, schauen Sie bitte auf unser Support-Angebot und unsere Schulungsangebote für Scripting und Schulungsangebote für .NET.



Re: Berechtigung beim Ändern eines AD Passwortes
Autor:  MartinSchrödl
E-mail:  Antworten bitte nur in das Forum!
Datum:  11.09.2008 08:53:32
Subject:  Re: Berechtigung beim Ändern eines AD Passwortes
Bezug zum Buch: 
Message:  Meine Nachricht:
----------------
Hallo Matthias,

kein Problem...

Das Problem was ich hab ist leider genau, das es nicht der impersonate des IIS sein soll!
Das heißt, ich habe einen User der AD, welche an einem beliebigen PC aus ins intranet geht. Das kann z.B. auch über einen Kiosk-PC sein. Dort geht er dann auf die ASP seite wo usernamen und Kennwort eingegeben werden müssen. Diese prüfe ich dann mit einer simplen Abfrage gegen das AD auf gültigkeit. Ist die Abfrage erfolgreich, geht das eigentlichte "Kennwortändern" los! Und da starte ich dann das unten aufgeführte Skript mit der Angabe von Usernamen und altem Kennwort aus der Abfrage vorher!

Der IE läuft also mit irgendeinem Account, der IIS mit einem dienstekonto und die Anmeldung des Users habe ich lediglich in Form von Textdaten! :-(

Deshalb auch der Username und das Kennwort im NewDir:
user = New DirectoryEntry(Serchr.FindOne.GetDirectoryEntry.Path, Username.Text,

Oder hat diese Impersonate - Einstellung in der Config auch einfluss auf die DirEntry?

Vielen Dank auf jeden Fall für Deine sehr fundierte Antwort!
Liebe Grüße
Martin

Ich beziehe mich auf folgenden Beitrag:
---------------------------------------

Meine Nachricht:
----------------
Hallo Martin,
sorry, da habe ich nicht gründlich gelesen und nur deine erste "entry" Deklaration gesehen.

Da ich auch immer wieder mit Problemen kämpfe, wenn es um "adminstrative" Aufgaben aus APS.NET heraus geht, hier einige Dinge die zu beachten sind, die du aber wahrscheinlich schon alle beachtet hast.
1. Einstellung der Webanwendung im IIS auf "Windows Authentifizierung" einstellen.
2. Eintrag in der "web.config" der Anwendung .. impersonate= true

Evtl. dann noch mal anzeigen lassen, unter welchem Account die Anwendung wirklich läuft; ich glaube das ging am einfachsten über "my. ...currentuser??".

Grüsse
Matthias



Ich beziehe mich auf folgenden Beitrag:
---------------------------------------

Meine Nachricht:
----------------
Hallo Matthias,

vielen Dank für die Antwort... Leider ist das genau das, was ich dort mache!
user = New DirectoryEntry(Serchr.FindOne.GetDirectoryEntry.Path, Username.Text, System.Runtime.InteropServices.Marshal.PtrToStringBSTR(pPwd))

Das Problem ist meines Erachtens, das dieses Skript ja aus der ASP Seite heraus aufgerufen wird! Nehme ich einen Useraccount, der in der Gruppe "Account Operator" ist, geht das zwar, aber es wird die Password-history ignoriert (ist quasi die Funktion Admin setzt Userkennwort zurück).

Liebe Grüße
Martin


Ich beziehe mich auf folgenden Beitrag:
---------------------------------------

Meine Nachricht:
----------------
Hallo,
ich hatte das Problem (neben anderen, siehe mein Anfrage in diesem Forum) auch.
Meine Lösung war, das man beim Erstellen der DirectoryEntry Instanz den benutzer und das Passwort mitgeben kann. Bei mir sind das zwei Textfelder im WebForm (txtUser und txtPasswort). Unten ein Teil meines Skriptes.

o = New DirectoryEntry("LDAP-Pfad zum User im AD", Me.txtUser.Text, Me.txtPasswort.Text)
....
o.Invoke("setpassword", "sehrGeheim")

Ich hoffe das hilft!!

Matthias


Ich beziehe mich auf folgenden Beitrag:
---------------------------------------

Hallo,

ich habe ein kleines Problem mit einem Skript, mit welchem ein User über eine ASP Seite sein eigenes Kennwort ändern können soll!

Ich verwende folgende Routine:

--- Snip ---
Dim user As New DirectoryEntry() '(Pathname)
Dim entry As New DirectoryServices.DirectoryEntry("LDAP://test.directory.int")
Dim Serchr As New System.DirectoryServices.DirectorySearcher(entry)
Serchr.Filter = ("(samAccountName=" & Username.Text & ")")
Dim pwd As New SecureString()
For Each c As Char In TextBox0.Text
    pwd.AppendChar(c)
    Next
pwd.MakeReadOnly()
Dim pPwd As IntPtr = System.Runtime.InteropServices.Marshal.SecureStringToBSTR(pwd)
user = New DirectoryEntry(Serchr.FindOne.GetDirectoryEntry.Path, Username.Text, System.Runtime.InteropServices.Marshal.PtrToStringBSTR(pPwd))
System.Runtime.InteropServices.Marshal.PtrToStringBSTR(pPwd))
user.AuthenticationType = AuthenticationTypes.Secure
Dim pword As Object() = New Object() {TextBox1.Text.Trim}
Dim ret As Object = user.Invoke("SetPassword", pword)
user.CommitChanges()
--- End of Snip ---

Wenn ich dort Username und das Kennwort weglasse, wird das kennwort mit dem Account, mit welchem die ASP Seite läuft (Domain admin) ausgeführt und geht! Wenn ich das mit Username und Kennwort versuche (Damit auch Kennworthistory etc. berücksichtigt wird), kommt ein Fehler Zugriff verweigert (Ausnahme von HRESULT: 0x80070005 (E_ACCESSDENIED)) bei "Invoke("SetPassword""

Hat hier jemand eine Idee, was ich falsch mache?

Vielen Dank
Liebe Grüße
Martin

Antworten

  Zurück zum Forum



 .NET Framework-Programmierung -- C#, VB.NET, ASP.NET, u.a.
 Berechtigung beim Ändern eines AD Passwortes  von MartinSchrödl  am 4.9.2008 12:25:18 PM
 Re: Berechtigung beim Ändern eines AD Passwortes  von Dr.MatthiasGötte  am 9.9.2008 8:48:12 PM
 Re: Berechtigung beim Ändern eines AD Passwortes  von MartinSchrödl  am 10.9.2008 7:39:41 AM
 Re: Berechtigung beim Ändern eines AD Passwortes  von Dr.MatthiasGötte  am 10.9.2008 6:33:04 PM
 Re: Berechtigung beim Ändern eines AD Passwortes  von MartinSchrödl  am 11.9.2008 8:53:32 AM
 Re: Berechtigung beim Ändern eines AD Passwortes  von Dr.MatthiasGötte  am 11.9.2008 9:18:27 AM
 Re: Berechtigung beim Ändern eines AD Passwortes  von MartinSchrödl  am 11.9.2008 9:22:54 AM
 Re: Berechtigung beim Ändern eines AD Passwortes  von Dr.MatthiasGötte  am 11.9.2008 10:13:27 AM
 Re: Berechtigung beim Ändern eines AD Passwortes  von MartinSchrödl  am 11.9.2008 11:57:40 AM
 Re: Berechtigung beim Ändern eines AD Passwortes  von Dr.MatthiasGötte  am 11.9.2008 12:30:33 PM


www.IT-Visions.de - Dr. Holger Schwichtenberg / 1998-2023