joshuatree
Goto Top

Intranetseite bastelen worauf User ihr AD-Passwort änder können

Hallo,

ich habe mir ein Perl-Script nichts wildes gebastelt um Useren die Möglichkeit darüber zu geben
ihr Windows 2003 AD Passwort zu ändern.
Das ist jetzt auf unserer Citrixfarm gepublished, und läuft in einem dosfenster.

Ich möchte das ein wenig aufhübschen und eine Webseite darum basteln.

Jetzt fehlt mir der Quantensprung wie bekommen ich das Script in einen HMTL-Code.
So das z.B die <STDIN> über die Webseite abgefragt wird, ich denke da an ein Formular.
Ähnlich dem Orgingal, mit Username Passwort und Passwortbestädigung und Domäne.
Also 4 Formfelder. Schön wäre natürlich auch wenn die Passwortfelder als Wildcat die Eingabe darstellen würde.

Für den Fall das sich hinter dem user ein Kollege befindet, der soll dann ja nicht das PW lesen können.

Jemand sowas schon mal gemacht !?

Content-Key: 32200

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

Printed on: April 26, 2024 at 01:04 o'clock

Member: Dani
Dani May 11, 2006 at 10:28:13 (UTC)
Goto Top
Hi,

Jetzt fehlt mir der Quantensprung wie bekommen ich das Script in einen HMTL-Code.
So das z.B die <STDIN> über die Webseite abgefragt wird, ich denke da an ein
Formular. Ähnlich dem Orgingal, mit Username Passwort und Passwortbestädigung und
Domäne. Also 4 Formfelder. Schön wäre natürlich auch wenn die Passwortfelder
als Wildcat die Eingabe darstellen würde.
Hast du auf einen Windows Server schon Perl installiert. Du kannst doch das Formular auch in Perl schreiben. Somit ist alle einfacher.


Gruß
Dani
Member: JoshuaTree
JoshuaTree May 11, 2006 at 11:09:51 (UTC)
Goto Top
Hi,


so tief sind meine Perlkenntnisse dann doch nicht. face-sad


Hab mir zwar das Skript zusammengebastelt ist auch nicht wildes.
Es werden im Prinzip nur die STDIN abgefragt und ein net user username kennwort /domain.

So eine schöne Gui oder HTML-Seite würden sich die User bestimmt freuen face-smile

Gruss
andreas
Mitglied: 6890
6890 May 12, 2006 at 05:55:16 (UTC)
Goto Top
hallo

also in perl webseiten basteln is relativ einfach!!
vorausgestzt du hast perl auf deinem webserver installiert und cgi ist aktiviert !!
um was für einen webserver handelt es sich den??

hier ein kleines beispielscript für's web:
#!c:/perl/bin/perl

use strict;
use CGI;
use CGI::Carp qw(FatalsToBrowser);
use CGI qw(param);


my $formular_input = param("text");  
my $action = param("action");  

&action if $action eq "Senden";  

print "content-type: text/html \n\n";  
print<<end_of_html
<html>
<head>
<title>Formular</title>
</head>
<body>
<div align="center"><h1>Formular</h1></div>  
<hr color="black">  
<form action="/cgi-bin/formular.pl" method="post">  
<table width="100%">  
        <tr>
           <td><input type="text" name="text" size="20" maxlenght="1000000" ></td>  
           <td><input type="submit" name="action" value="Senden"></td>  
        </tr>
</table>
</form>
</body>
</html>

end_of_html
;

sub action {
# hier macht man dann was mit den eingegeben daten
}

so schwer is das wirklich ni!!

wenn fragen sind einfach melden!!

mfg godlike P
Member: JoshuaTree
JoshuaTree May 15, 2006 at 11:31:22 (UTC)
Goto Top
@goodlike

Habe einen/bzw. mehrere Win 2003Server/IIS am laufen

Mein Script schaut so aus:

#!/usr/bin/perl -

  1. Script zum aendern des Passworts für User eine AD

$dom = "ENTW";


NOCHMAL:
system ('cls');
print "Geben Sie bitte jetzt ihren Benutzernamen ein.\n";
$username=<STDIN>;
chomp $username;
system ("cls");
print "Geben sie jetzt ihr neues Passwort ein.\n";
$pass=<STDIN>;
chomp $pass;
system ('cls');
print "Geben sie jetzt ihr neues Passwort nochmal ein.\n";
$pass2=<STDIN>;
chomp $pass2;
while ($pass ne $pass2)
{
chomp ($username);
print "Die eingegebenen neuen Passwoerter fuer $username sind nicht identisch.";
print "Bitte geben Sie Ihre Daten noch mal ein.\n";
sleep (3);
goto NOCHMAL;
}
print "net user $username $pass \/domain";
exit


So in meinem Script definiere ich $Username und $pass über <STDIN>
wie bekomme ich das aus der Interneseite in die Variablen?


Gruss
Andreas
Mitglied: 6890
6890 May 15, 2006 at 11:53:41 (UTC)
Goto Top
So in meinem Script definiere ich $Username
und $pass über <STDIN>
wie bekomme ich das aus der Interneseite in
die Variablen?

#!/usr/bin/perl -w

use strict;
use CGI;
use CGI qw(param);
use CGI::Carp qw(fatalstoBrowser);

my $passwort1 = param("pass1");  
my $passwort2 = param("pass2");  
my $action = param("pass1");  
my $debug = "";  

&machen if $action eq "senden";  

print<<EOH
htmlsyntax bla bla
<input type="text" name="pass1" size="5" maxlenght="20">  
<input type="text" name="pass2" size="5" maxlenght="20">  
<input type="submit" name="action" value="senden">  
$debug
htmlsyntax bla bla
EOH
;

sub machen {
return($debug = "password fehlt") if !$passwort1 || !$passwort1;  
return($debug = "password stimmen nicht") if $passwort1 ne $passwort2;  
system("hier jetzt password ändern");  
return($debug = "passwort erfolgreich geändert!!";  
}

so einfach is das wenn de das hier als vorlage nimmstr dürfte das sogar klappen!!

mfg godlike P
Mitglied: 6890
6890 May 15, 2006 at 11:55:45 (UTC)
Goto Top
ach ja username hab ich vergessen aber das machste och einfach so:

my $user = param("user");

<input type="text" name="user" size="5" maxlenght="20">

mfg
Member: JoshuaTree
JoshuaTree May 15, 2006 at 12:01:48 (UTC)
Goto Top
Hey,

danke es hört sich nach Licht am ende de Tunnels an.
Sorry noch eine blöde frage.

Die Seite wird von dem Script erzeugt aber worauf soll die URL zeigen die ich dem User geben auf die *.pl bzw. *.cgi oder auf ne Html-Seite ?


Andreas
Mitglied: 6890
6890 May 16, 2006 at 05:41:45 (UTC)
Goto Top
ja du hats richtig gedacht.
man verlinkt direkt das cgi oder pl script

mfg