Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Hur ändra värde i Active Directory ?

Postades av 2007-05-18 19:37:57 - Anders Larsson, i forum asp.net generellt, Tråden har 8 Kommentarer och lästs av 814 personer

Håller på att försöka få lite grepp på hur man uppdaterar AD , kan läsa från AD så långt är det ok.

Men vill uppdatera proporties, försöker enligt koden nedan , men Properties["mail"].Value blir inte uppdaterat med testar, nån som vet varför o hur ändrar man koden enklast? Behörighetsprob?

Grymt tacksam för hjälp

<code>
DirectoryEntry entry = new DirectoryEntry("LDAP://OU=Y,DC=X,DC=X");
DirectorySearcher mySearcher = new DirectorySearcher(entry);
Response.Write(mySearcher.FindAll().Count);
DirectoryEntry updateEnt;

foreach (System.DirectoryServices.SearchResult resEnt in mySearcher.FindAll())
{
try
{
Response.Write(resEnt.GetDirectoryEntry().Properties["mail"].Value.ToString() + "<br>");
updateEnt = resEnt.GetDirectoryEntry();
updateEnt.Properties["mail"].Value = "testing";
updateEnt.CommitChanges();

}

catch (Exception ex)
{
;
}
}
</code>


Svara

Sv: Hur ändra värde i Active Directory ?

Postades av 2007-05-20 00:38:54 - Pelle Johansson

Ja, att läsa AD:t är behöver man inga rättigheter till men däremot att skriva kräver rättigheter. Det kontot som du sätter upp bör du hålla hårt i. När du skriver får du därmed skicka med dessa credentials för att få rätten att skriva.


Svara

Sv:Hur ändra värde i Active Directory ?

Postades av 2007-05-20 05:32:22 - Anders Larsson

Tack för ditt svar pelle. Men har fortfarande inte lyckas skriva något till AD:et. Hur skriver jag om koden för att sätta credentials så att det funkar? Funderar även på vilka settings jag ska ha i web.config ? Ska man köra med impersonation ? Dvs <identity impersonate="true"/> om jag förstått det rätt? Eller kanske inte behövs?
Vilket mode ska de vara på <authentication mode= ? Just nu har jag inte satt authentication mode i config, antar att det är windows mode default i så fall?

Min kod ser för tillfället ut på följande vis:

<code>
string lDAPString = "LDAP://domän";

DirectoryEntry entry = new DirectoryEntry(lDAPString, "Administratör", "Ettlösenord", AuthenticationTypes.Secure);

DirectorySearcher mySearcher = new DirectorySearcher(entry);

mySearcher.Filter = "(cn=lofvenius)";
Response.Write(mySearcher.FindAll().Count); //skriver ut 1
DirectoryEntry updateEnt;

foreach (System.DirectoryServices.SearchResult resEnt in mySearcher.FindAll())
{

resEnt.GetDirectoryEntry().Properties["mail"].Value = "Bertil";
resEnt.GetDirectoryEntry().CommitChanges();
//uppdateras inte....
}
</code>

Funkar att logga in o läsa, men fortfarande inte att skriva till AD:et trots att jag loggat in som administratör? Är alltså credentials ? Tacksam för hjälp...


Svara

Sv: Hur ändra värde i Active Directory ?

Postades av 2007-05-20 11:08:11 - Pelle Johansson

Jag har lite kod på jobbet, skall fixa det i morgon. Där skriver jag till kommentarsfältet för vissa användare. Återkommer...


Svara

Sv:Hur ändra värde i Active Directory ?

Postades av 2007-05-21 13:39:17 - Pelle Johansson

Det här exemplet söker på ett datornamn i AD:t och hämtar sedan ut den specifika posten och därefter uppdater informationen i fältet Description.

Imports System.DirectoryServices
Imports System.Security.Principal
Imports System.Security.Permissions
Imports System.DirectoryServices.ResultPropertyCollection
Imports System.Net

 Dim username As String = "user"
        Dim password As String = "pass"

        Dim objSearch As New DirectorySearcher
        objSearch.SearchRoot = New DirectoryEntry("LDAP://adsth001/dc=sweco,dc=se", username, password)
        objSearch.Filter = "(&(objectClass=computer)(objectcategory=*)(cn=" & computername & "))" ' pekar på en specifik computername
        objSearch.SearchScope = SearchScope.Subtree
        objSearch.PageSize = 100
        objSearch.ReferralChasing = ReferralChasingOption.All
        objSearch.PropertiesToLoad.AddRange(New String() {"cn", "name", "displayname", "description"})

        Dim objsearchresult As SearchResultCollection

        Try
            objsearchresult = objSearch.FindAll()
        Catch ex As SystemException
            Console.WriteLine("Kan inte söka i ad-t: " & ex.Message)
            End
        End Try

        Dim result As SearchResult
        Dim cnt As Integer = 0

        For Each result In objsearchresult
            Try
                'Console.WriteLine("Description i AD:" & result.Properties("description")(0))
                If result.Properties("name")(0) = computername Then
                    cnt = 1
                    Dim objUser As DirectoryEntry = New DirectoryEntry(result.Path, username, password, AuthenticationTypes.Secure)
                    Try
                        With objUser.Properties
                            Console.WriteLine(vbCrLf & "Description i ad före skrivning -->" & .Item("Description").Value)
                            .Item("Description").Value = "Här skrivs värdet i fältet Description"
                        End With
                        objUser.CommitChanges()
                    Catch ex As SystemException
                        System.Environment.ExitCode = 54
                        Console.WriteLine("Fel: kan inte skriva i AD:" & ex.Message)
                        End
                    Finally
                        objUser.Close()
                    End Try
                End If

            Catch ex As SystemException
                System.Environment.ExitCode = 55
                Console.WriteLine("Fel, kan inte finna property 'name' i registerposten." & ex.message)
                ' // hittade inte någon träff alls
            End Try
        Next


Svara

Sv: Hur ändra värde i Active Directory ?

Postades av 2007-05-21 18:21:37 - Anders Larsson

Tack Pelle , jag sitter med C# hade lite prob att tolka , jag är rätt grön i att sitta med ASP.NET, men har för mig att det finns en konvertingsmöjlighet i visual studio mellan Visual Basic <-> C# ? Hur gör man i så fall..hittade inte den funktionen i Visual studio?


F.ö så funkar det till slut att uppdatera , gjorde på följande vis (kanske hjälper nån annan med samma prob):


DirectoryEntry entry = new DirectoryEntry(path, "användarnamn", "lösenord");
Object native = entry.NativeObject; // denna rad gjorde det möjligt att uppdatera för min del, forcar en authentication


Svara

Sv: Hur ändra värde i Active Directory ?

Postades av 2007-05-21 22:57:04 - Simon Dahlbacka

        Catch ex As SystemException


Men Pelle då, det där är ju inte direkt snygg kod! :)


Svara

Sv:Hur ändra värde i Active Directory ?

Postades av 2007-05-22 09:36:54 - Pelle Johansson

Nä, härligt att få säga det va ;)


Svara

Sv: Hur ändra värde i Active Directory ?

Postades av 2007-05-22 11:45:40 - Simon Dahlbacka

..varför tror du jag påpekade det? ;-)


Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 620
27 953
271 709
709
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies