![]() |
Domänen Computer deaktivieren ???
Guten Abend,
ich hoffe einer von euch kann mir weiterhelfen. Ich möchte gerne mit Delphi einen Computer Account in unser Firmendomäne deaktivieren. Ich habe leider keine Ahnung wie bzw. womit ich das anstellen soll. Für Anregungen, Hinweise oder Vorschläge wäre ich sehr dankbar. Gruß Sven |
Re: Domänen Computer deaktivieren ???
Z.B. per ADSI.
|
Re: Domänen Computer deaktivieren ???
So ich kann den betreffenden PC auslesen.
Delphi-Quellcode:
Aber wie kann ich jetzt den Computer deaktivieren? Mir fehlen die Eigenschaften und weiß nicht wie man das macht.
procedure DisableComputerAccount(computer : String);
var rs,conn, com : Variant; strBase, strFilter, strAttributes, strADS, strName, strPager : string; begin conn := CreateOleObject('ADODB.Connection'); com := CreateOleObject('ADODB.Command'); try conn.Provider := 'ADsDSOObject'; conn.open; com.ActiveConnection := conn; strBase := '<LDAP://[Domäne]/OU=...,DC=...>'; strFilter := '(&(Objectclass=computer)(Name='+ computer + '))'; strAttributes := 'Name, Location'; strADS := strBase + ';' + strFilter + ';' + strAttributes + ';subtree'; Com.CommandText := strADS; Com.Properties['Page Size'] := 100000; Com.Properties['Searchscope'] := 2; Com.Properties['Cache Results'] := False; rs := Com.Execute; While Not rs.EOF do begin ShowMessage('Computer: ' +rs.Fields['Name'].Value); rs.MoveNext; end; finally com := NULL; conn.Close; conn := NULL; end; end; |
Re: Domänen Computer deaktivieren ???
Irgendwie muss man "rs" einen Methode mitgeben oder so. Würde ich mal vermuten.
Ich würde auch löschen nehmen. |
Re: Domänen Computer deaktivieren ???
Ich habe mal folgendes probiert:
Delphi-Quellcode:
Da bekommen ich abe immer folgende Fehlermeldung:
...
If not rs.EOF then begin rs.Delete; end; ... Zitat:
??? |
Re: Domänen Computer deaktivieren ???
Na weiß denn keiner Rat. Wäre schön wenn doch.
|
Re: Domänen Computer deaktivieren ???
|
Re: Domänen Computer deaktivieren ???
Hab es jetzt mal so versucht aber mit der Fehlermeldung kann ich nicht so wirklich etwas anfangen.
Delphi-Quellcode:
Fehlermeldung:
procedure TForm1.Button1Click(Sender: TObject);
var con : IADsContainer; begin try con := GetObject('WinNT://[Domänen Name]') as IADsContainer; //--> Hier kommt der Fehler con.Delete( 'Computer', WideString(edt_computer.Text)); finally // end; End; Zitat:
Hier ist das VBS Script, wo ich das abgeschaut habe.
Delphi-Quellcode:
Sub RemoveComputer( strDomain, strComputer )
Dim objDC Set objDC = getobject("WinNT://" & strDomain ) objDC.Delete( "Computer", strComputer ) End Sub |
Re: Domänen Computer deaktivieren ???
Delphi-Quellcode:
hr := ADsGetObject('WinNT://[Domänen Name]',IADsContainer,Container);
|
Re: Domänen Computer deaktivieren ???
Soll hr = con sein und was für ein Type ist Container denn er kennt es nicht?
Ich habe die adshlp Unit eingebunden. |
Re: Domänen Computer deaktivieren ???
Du scheinst die verlinkten Seiten nicht gelesen zu haben.
|
Re: Domänen Computer deaktivieren ???
Die kenne ich aber bei meinem nicht vorhanden Wissen in diesem Thema, sagt mir das nicht so viel
|
Re: Domänen Computer deaktivieren ???
Aber einen Code Lesen kannst du?
Zitat:
|
Re: Domänen Computer deaktivieren ???
Danke für deine Geduld. Ich habe jetzt so gemacht.
Delphi-Quellcode:
Danke nochmal
...
ADsGetObject('WinNT://[Domänen Name]', IADsContainer, con); con.Delete( 'Computer', WideString(edt_computer.Text)); ... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:47 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz