Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

VBS-Script mit Benutzerdialog zum PW ändern in einer 2003er AD-Domäne

Frage Entwicklung VB for Applications

Mitglied: JoshuaTree

JoshuaTree (Level 1) - Jetzt verbinden

17.05.2006, aktualisiert 21.06.2006, 8709 Aufrufe, 12 Kommentare

Hallo,

bin immer noch auf auf der Such nach einer Lösung um meinen Useren es zu ermöglichen ich komfortabel ihr AD Passwort zu ändern.
Anfangs wollte ein Progi bzw. CGI mit Perl basteln, davon bin ich weg jetzt hänge ich bei VBS.

Leider mit noch sehr wenig Erfahrung in VBS.

Gedacht ist es so das der user das Script startet, entweden eingebettet in einer HTML/HTA Seite oder direkt. Dazu sind ja bekanntlich ein paar Abfragen notwendig. Altes Passwort,
neues PW und PW wiederholung.
Das wollte ich jetzt mit dem folgenden Script tun

option explicit


dim username, passwort1, passwort2, objChild, objUser


Set objUser = GetObject _
("LDAP://cn=username,cn=users,dc=blabla,dc=blabla,dc=local")
objUser.ChangePassword "passwort1", "passwort2"




username=inputbox("Bitte eintragen","Username")
passwort1=inputbox("Passwort eingeben","Passwort 1")
passwort2=inputbox("Bitte Passwort wiederholen","Passwort 2")



Beim LDAP-Bind im Pfad würde ich gerne eine Variable verwenden,
das blöde Script erzählt mir aber das es dieses Objekt nicht gibt. Klar
im AD existiert kein 'Username' das soll die Variable bei der Abfrage bringen
genau so beim Passwort1 und Passwort2.

Kann mir mal jemand einen hint geben. Dreh noch durch mit dem Mist.


Offtopic:
Brauche ein gescheites Buch über VBS, kennt jemand eins?


Gruss
Andreas
Mitglied: maneich
17.05.2006 um 14:50 Uhr
Hallo,

wenn Du die 3 InputBox Zeilen vor die Zeile Set objUser = GetObject setzt, müßte es klappen.

So kann es ja nichts werden, da die Variablem noch nicht definiert sind.

Du könntest höchstenfalls mit Functions arbeiten, dann wird direkt im AP abgefragt :


Set objUser = GetObject _
("LDAP://cn=username,cn=users,dc=blabla,dc=blabla,dc=local")
objUser.ChangePassword pw_old_new


Function username
username = InbutBox("Bitte eingeben: Username ")
End Function

Function pw_old_new
pw1 = InputBox("Eingabe altes Passwort: ")
pw2 = InputBox("eingabe neues Passwort: ")
pw_old_new = pw1, pw2
End Function
Bitte warten ..
Mitglied: JoshuaTree
17.05.2006 um 15:00 Uhr
Hi,

danke für die Hilfe.

Beim Testen erzählt er mir a nach pw_old_new = pw1, pw2 wird ein Abschluss erwartet und b "C:\test.vbs(1, 1) (null): Ein solches Objekt ist auf dem Server nicht vorhanden."

Ne Idee. Bla bla habe ich natürlich dur die Domäne ersetzt
Bitte warten ..
Mitglied: maneich
17.05.2006 um 16:55 Uhr
Hallo,

das a) war natürlich ein Fehler von mir, Zeichen zwischen Variablen müßen in Hochkomma gesetzt werden. Diese Zeile muß dann so aussehen:

pw_old_new = pw1 & ", " & pw2

Zu b) kann ich nur raten:

C:\Test.vbs ist der Name Deines Scripts.

(1,1) ist die Zeilen- und ZeichenStelle und (null) bedeutet objUser ist leer.

Wenn "Set objUser = GetObject" die erster Zeile ist mußt Du dahinter einen Unterstrich setzen, da die zweite Zeile eigentlich zur ersten gehört und die Verbindung durch dieses "_" Zeichen erkannt wird. Also

Set objUser = GetObject "_"
("LDAP://cn=username,cn=users,dc=blabla,dc=blabla,dc=local")

könntest theoretisch auch schreiben

Set objUser = GetObject("LDAP://cn=username,cn=users,dc=blabla,dc=blabla,dc=local")

Diese Zeichen natürlich ohne Hochkomma wird aber hier nicht anders dargestellt.

MfG maneich
Bitte warten ..
Mitglied: JoshuaTree
23.05.2006 um 15:25 Uhr
Weitere deppenfrage wie stelle ich den ein Komma oder ähnliches zwischen
zwei Variablen dar?

Like this: MsgBox pw1,pw2

pw1 und 2 sind Variablen dazwischen hätte ich gerne ein Komma oder sonst was.


und noch was.
muß man in VB-Script irgend ein Zeichen abschneiden nach der Abrage eines Parameters durch eine inputbox.
Bei Perl muß man bei der <STDIN> das CR/LF durch ./n abtrennen.
Denn ich bekomme ständig die Fehlermeldung das der Parameter der übergeben wird nicht mit dem Orginal übereinstimmt. Das habe ich natürlich überprüft und das Orgingal ist gleich der Eingabe in die Inputbox.

*grübel*

Thx
Andreas
Bitte warten ..
Mitglied: maneich
23.05.2006 um 20:00 Uhr
Hallo,

nun ja, wenn Du Dir meinen letzten Thread genau anschaust, kannst Du das, was Du heute als Frage stellst, bei "pw_old_new..." erkennen.

Deine zweite Frage verstehe ich nicht ganz. Abtrennen oder abschneiden muß man in VBS nichts, z.B.:

x = InputBox("eingabe Parameter x:")

was in Klammer steht wird angezeigt und auf eine Eingabe gewartet.

Mußt evtl. mal das Original einlesen und anzeigen lassen, evtl. auch die Stringlänge vergleichen. Möglicherweise hat das Original vorne oder hinten noch eine Leerstelle oder Du übergibst in der InputBox nicht die richtige Länge.

MfG maneich
Bitte warten ..
Mitglied: JoshuaTree
30.05.2006 um 10:07 Uhr
@maneich

sory wer lesen kann....


Das mit dem abschneiden der cr/lf (carriage return/line feet) ist dann wohl nur beim Perl
schade auch aber dann bin ich immer noch nicht da wo ich hin will.

*
call main


Sub main()

WshUserName = InputBox ("Bitte eingeben: Username ")
'Set WshShell = WScript.CreateObject("WScript.Shell")
'WshUserName= WshShell.ExpandEnvironmentStrings("%username%")
MsgBox WshUserName

pw1 = InputBox("Eingabe altes Passwort: ")
pw2 = InputBox("eingabe neues Passwort: ")
pw_old_new = "pw1, pw2"

Set objUser = GetObject("LDAP://cn=" & WshUserName & ",cn=users,dc=bla,dc=bla,dc=local")
objUser.ChangePassword "pw1", "pw2"

End Sub


pw1 soll dem alten Passwort entsprechen debugger erzählt mir das das PW falsch ist, ist es aber nicht
dehalb vermutete ich das irgend ein unsichtbares Zeichen übertragen wird das mir die Suppe versalzt.

Jemand eine idee?
Bitte warten ..
Mitglied: maneich
30.05.2006 um 20:54 Uhr
Hallo,

pw1 bzw. pw2 sind Variable.

Wenn Du diese mit Hochkomma angibst "pw1", liest VBS nur pw1 (also den Variablennamen) und nicht den Inhalt.

Variable müßten ohne Hochkomma erkannt werden; ansonsten wenn trotzdem Hochkomma verlangt werden, dann so

Chr(34) & pw1 & Chr(34)

Damit wird der Inhalt von pw1 gelesen und in Hochkomma gesetzt.

MfG maneich
Bitte warten ..
Mitglied: JoshuaTree
31.05.2006 um 10:31 Uhr
.....dein eine Problem Geht das neu kommt


so funktioniert es :

Call main


Sub main()
Dim pw_old_new
WshUserName = InputBox ("Bitte eingeben: Username ")

pw1 = InputBox("Eingabe altes Passwort: ")
pw2 = InputBox("Bitte Passwort wiederholen")
pw_old_new = pw1 & "," & pw2


Set objUser = GetObject("LDAP://cn="& WshUserName &",cn=users,dc=bla,dc=bla,dc=local")
objUser.ChangePassword pw_old_new

End Sub
**

Jedoch erwartet die AD-Schnittstelle Hochkommas like this:
objUser.ChangePassword "i5A2sj*!", "jl3R86df"

Parameter 1 ist altes Passwort Parameter 2 ist neues Passwort.

Wie bekomme ich jetzt die Hochkommas um ----pw_old_new = pw1 & "," & pw2-----.

Im Moment stellt er das so dar: pw1,pw2
So wie ursprünglich gewünscht. ADSI will aber es so : "pw1", "pw2"

Hilfeeeee

PS:
Brauche immer noch ein Buch über VB-Script, bitte um eine Empfehlung.
Bitte warten ..
Mitglied: maneich
31.05.2006 um 13:14 Uhr
Hallo,

war doch bereits genau erklärt:

pw_old_new = Chr(34) & pw1 & Chr(34) & ", " & Chr(34) & pw2 Chr(34)

wenn Komma ebenfalls in Hochkomma gesetzt sein muß dann:

pw_old_new = Chr(34) & pw1 & Chr(34) & "", "" & Chr(34) & pw2 Chr(34)

MfG maneich
Bitte warten ..
Mitglied: JoshuaTree
31.05.2006 um 13:45 Uhr
Was ist der Unterschied zwischen der Benutzung von chr(34) und dem Anführungszeichen(hochkommas)?
Wenn ich die Komma so rein schreibe erzählt er mir "Anweisungsende erwartet" in der Zeile !?

danke für deine Hilfe
Bitte warten ..
Mitglied: n4426
19.06.2006 um 20:46 Uhr
Hallo,

hab mal ne frage.

Ist es möglich, das bei der eingabe das Passwort nicht im Klartext (123456789) angezeigt wird, sondern als Sternrech (*)? Dann währe nicht schlecht, wenn er das neue Passwort zweimal abfrag und dann überprüft, ob es identisch ist.

Hat eine von euch ne idee?

mfg
andi
Bitte warten ..
Mitglied: JoshuaTree
21.06.2006 um 14:25 Uhr
Hi,

ja das geht wenn du es mit HTA bzw. hmtl abfackelst und als <input type="password"> nimmst.

Gruss
Andreas
Bitte warten ..
Ähnliche Inhalte
Windows Userverwaltung
Kann kein PW ändern, weil DC nicht verfügbar
gelöst Frage von MarcysWindows Userverwaltung13 Kommentare

Hallo, ich habe ein merkwürdiges Problem wo ich nicht mehr weiter komme. Ich habe einen PC lokal mit Windows ...

Batch & Shell
Lokaler Administrator PW ändern
Frage von OniChanBatch & Shell3 Kommentare

Moin zusammen, ich habe vor, das lokale Administrator Konto auf Win7 & Win10 Clients zu aktivieren und ihm ein ...

Batch & Shell
Powershell User PW ändern
gelöst Frage von markthom87Batch & Shell7 Kommentare

Hallo, Ich versuche gerade in einem Powershell-Script ein Random Passwort auf einen User zu schreiben, es also zu ändern. ...

Windows Netzwerk
Ändern eines AD Passworts von einem Notebook ausserhalb der Domäne
Frage von winIT3264Windows Netzwerk22 Kommentare

Hallo zusammen, folgendes Szenario. Wir haben zwei Mitarbeiter mit einem Notebook und einem lokalen Konto. In der Active Directory ...

Neue Wissensbeiträge
DSL, VDSL

ALL-BM200VDSL2V - Neues VDSL-Modem mit Vectoring von Allnet

Information von Lochkartenstanzer vor 44 MinutenDSL, VDSL

Moin, Falls jemand eine Alternative zu dem draytek sucht: Gruß lks

Windows 10

Microsoft bestätigt DMA-Policy-Problem in Win10 v1709

Information von DerWoWusste vor 55 MinutenWindows 10

Wer sein Gerät mit der DMA-Policy absichert, bekommt evtl. Hardwareprobleme in v1709 von Win10. Warum? Weil v1709 endlich "richtig" ...

Verschlüsselung & Zertifikate

Die Hölle friert ein weiteres Stück zu: Microsoft integriert OpenSSH in Windows

Information von ticuta1 vor 4 StundenVerschlüsselung & Zertifikate

Interessant Die Hölle friert ein weiteres Stück zu: Microsoft integriert OpenSSH in Windows SSH-Kommando in CMD.exe und PowerShell

Apple

IOS 11.2.1 stopft HomeKit-Remote-Lücke

Tipp von BassFishFox vor 1 TagApple

Das Update für iPhone, iPad und Apple TV soll die Fernsteuerung von Smart-Home-Geräten wieder in vollem Umfang ermöglichen. Apple ...

Heiß diskutierte Inhalte
Windows Server
RODC kann nicht aus Domäne entfernt werden
Frage von NilsvLehnWindows Server19 Kommentare

HAllo, ich arbeite in einem Universitätsnetzwerk mit 3 Standorten. Die Standorte haben alle ein ESXi Cluster und auf diesen ...

Hardware
Kein Bild mit nur einer bestimmten Grafikkarten - Mainboard Konfiguration
gelöst Frage von bestelittHardware18 Kommentare

Hallo zusammen, ich hatte schon einmal eine ähnliche Frage gestellt. Damals hatte ich genau das gleiche Problem. Allerdings lies ...

Netzwerkmanagement
Mehrere Netzwerkadapter in einem PC zu einem Switch zusammenfügen
Frage von prodriveNetzwerkmanagement17 Kommentare

Hallo zusammen Vorweg, ich konnte schon einige IT-Probleme mit Hilfe dieses Forums lösen. Wirklich klasse hier! Doch für das ...

Hardware
Links klick bei Maus funktioniert nicht
gelöst Frage von Pablu23Hardware16 Kommentare

Hallo erstmal. Ich habe ein Problem mit meiner relativ alten maus jedoch denke ich nicht das es an der ...