juergenwellkamp
Goto Top

Batch zum ändern eines User Passwortes

Ich würde gerne automatisch jede Woche ein neues Passwort für User erstellen lassen

Ich denke man kann einem user über einen Batch ein neues Passwort zuweisen. Da ich für unsere User wöchentlich automatisch ein neues Passwort vergeben möchte habe ich folgende Vorstellung.
In einer textdatei liegen ca 10000 Passwörte 10stellig mit cr.
Der Batch soll ein Passwort auswählen dann dem Benutzer zuweisen eine datei erzeugen in der das passwort und eine Rufnummer des users steht.
Der Text wird per sms an die angegebene Rufnummer versendet.
Das passwort wird aus der Liste gelöscht.
Hat jemand eine idee wie man dieses automatisieren kann?


Vielen dank im Voraus für eure Hilfe.

Content-ID: 25642

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

Ausgedruckt am: 26.11.2024 um 17:11 Uhr

wiri
wiri 09.02.2006 um 21:01:42 Uhr
Goto Top
hi
mal ganz ehrlich , ich möchte bei euch in der Firma nicht arbeiten, wo Passwörter in einer Datei sind und die zwangsvergeben werden und dann noch per SMS versand werden.

Habt ihr einen Betriebsrat?
cu
willi
Biber
Biber 10.02.2006 um 00:01:24 Uhr
Goto Top
Tja, juergenwellkamp und wiri,
nun weiß ich nicht, ob ich erst die Diskussion über diesen verständlichen Einwand abwarten soll oder doch schon etwas zur (für mich alten Bätscher natürlich reizvollen) technischen Realisierbarkeit schreiben darf...?

@wiri ...wie geschrieben, kann Deinen Zwischenruf nachvollziehen.
Andererseits dürfte vielleicht auch diese ziemlich restriktive Maßnahme eine Vorgeschichte haben... lese jedenfalls interessiert mit.

@juergenwellkamp
Ist per Batch machbar - ziemlich aus der Hüfte auch der Part mit dem Ermitteln einer "zufälligen" Zeile mit TelNr/Passwort aus einer Textdatei.

Mit ein paar konkreteren Angaben wäre es aber für alle nachvollziehbarer, die den Lösungsweg hier mitlesen (Pfade, Dateinamen, vielleich die ersten drei Beispielzeilen aus der "TelnrPW.txt" oder wie immer die bei Euch heißen mag.

Und natürlich wohin den die Einzeldaten Telnr+passwort übergeben werden sollen.. habt ihr denn ein Tool zum SMS-Versand oder wie ist das gedacht?

-Restriktionen: ich weiß nicht, was ihr für Vorgaben an die 10stelligen Passworte habt, aber im Batch können einige Zeichen zu "Übermittlungsproblemen" führen: Umlaute, "&", Kommata,"^",...,Kleiner und Größerzeichen... das sollte vorher geklärt sein.

Gruß Biber
juergenwellkamp
juergenwellkamp 10.02.2006 um 10:26:57 Uhr
Goto Top
Alles halb so wild,
das ganze soll erst mal getestet werden. Ob das was wird steht noch in den Sternen.
Die textdatei sieht wie folgt aus
test.txt
01789991155
GHmm&7845%
01456655443
sdF67TR&6

Die Textdatei wird nach benutzung automatiscg gelösch, keiner kann darauf zugreifen.

Also wirklich erst mal ein Test
Biber
Biber 10.02.2006 um 18:10:50 Uhr
Goto Top
Moin juergenwellkamp,

die ersten Vorüberlegungen zur Strategie:
Wenn ich mit so einer kleinen Passwortdatei spiele:

type 10zeichenpw.txt
01789991155
GHmm&7845%
01456655443
sdF67TR&6
01aa9991155
GHmmpp845%
0145gg55443
sdF69FR&6

Kann ich die Anzahl der Zeilen und den Inhalt einer bestimmten Zeile ermitteln durch Find:
find /v /n "" 10zeichenpw.txt

10ZEICHENPW.TXT
[1]01789991155
[2]GHmm&7845%
[3]01456655443
[4]sdF67TR&6
[5]01aa9991155
[6]GHmmpp845%
[7]0145gg55443
[8]sdF69FR&6

for /f "tokens=1 delims=" %i in ('find /v /n "" 10zeichenpw.txt') do set anzahl=%i
--->ANZAHL wird auf 8 gesetzt. Brauchst Du, weil sich die Anzahl der Zeilen ja ständig ändert (ermittelte Passworte werden gelöscht)

Ich schreibe die aktuelle durchnumerierte Datei weg:
find /v /n "" 10zeichenpw.txt|find "[">%temp%\allPWs.txt

Ein "zufälliges" Passwort aus allen Zeilen:
Die Systemvariable %Random% liefert mir eine positive Ganzzahl größer 0 und kleiner gleich 32767.
Mit der modulo-Funktion hole ich mir daraus eine zahl größer 0 und kleiner gleich Anzahl.

set /a getALine=%Random% %%anzahl%
4

ein
find "[%getAline%]" %temp%\Allpws.txt
...liefert mir:
[4]sdF67TR&6

> da hab ich meine Zufallszeile (hier Zeile 4)
---> Das Passwort dazu:
for /F "tokens=2* delims=]" %i in ('find "[%getAline%]" %temp%\Allpws.txt') do @echo %i
sdF67TR&6

Ich denke, bis hierhin kannst Du alles am CMD-prompt nachturnen und die funktionierenden Befehle auch untereinander in eine Batchdatei schreiben.
Geändert werden muss bei Transfer CMDline->Batch nur das Prozentzeichen vor den FOR-Zählvariablen. ("%%i" statt "%i").

HTH und schönes Wochenende
Biber