Perl für Windows-Admin?

Perl für Windows-Admin?

am 09.07.2007 10:11:39 von Ferry Bolhar

Hallo,

ich habe hier drei Aufgabenstellungen, die ich - so möglich - gerne
in Perl lösen würde. Es betrifft im Prinzip den Zugriff auf Windows-
Rechner, falls es technisch machbar ist, würde ich die Skripts aber
gerne unter Linux entwickeln und später einsetzen, weil wir nicht
auf allen Windows-Systemen Perl installiert haben (und das auch
nicht wollen - ich kann nichts daran ändern). Konkret geht es um:

1) Das Durchsuchen der Registry nach Keys mit bestimmten Werten
und das Ersetzen der Werte dieser Keys;

2) Der Zugriff auf den Verzeichnisdienst ("Active Directory"), konkret
das Auslesen von Attributwerten bestimmter Objekte;

3) Der Zugriff auf Domain-Controller, speziell das Browsing. Hier
geht es darum, festzustellen, auf welchem(n) Rechner(n) in einer
W2000-Domaine bestimmte Dienste gestartet sind und falls sie
gestartet sind, mit welchen Parametern.

Zunächst würde mich interessieren, ob das mit Perl überhaupt
möglich ist; speziell die Punkte 2 und 3, wozu ich leider nichts
gefunden habe. Vermutlich gibt es Win32-Module dafür (leider
muss ich zugeben, dass ich aus der UNIX-Welt komme und mit
Windows auf diesem Niveau überhaupt nichts anfangen kann).
Und dann wäre es eben interessant, ob dies auch von einer Linux-
Kiste aus machbar ist. Und falls nicht, von einem W2000-System,
und was man - abgesehen von Perl - auf diesem System dann
noch braucht (z.B. an speziellen Modulen).

Wenn jemand schon mal unmittelbar soetwas programmier hat
(Registry-Zugriffe von Skripts aus sind ja vielleicht nicht gar so
selten), wäre ich natürlich auch für Codebeispiele dankbar. Aber
ein Hinweis auf die passenden Module genügt auch, ich wühle
mich dann schon durch die Doku durch.

Danke euch für alle Tipps,

und schöne Grüße aus Wien,

Ferry

--
Ing Ferry Bolhar
Magistrat der Stadt Wien - MA 14
A-1010 Wien
E-Mail: bol@adv.magwien.gv.at

Re: Perl für Windows-Admin?

am 09.07.2007 11:49:11 von Thomas Kratz

Ferry Bolhar wrote:

> ich habe hier drei Aufgabenstellungen, die ich - so möglich - gerne
> in Perl lösen würde. Es betrifft im Prinzip den Zugriff auf Windows-
> Rechner, falls es technisch machbar ist, würde ich die Skripts aber
> gerne unter Linux entwickeln und später einsetzen, weil wir nicht
> auf allen Windows-Systemen Perl installiert haben (und das auch
> nicht wollen - ich kann nichts daran ändern). Konkret geht es um:

Du wirst Module benutzen müssen, die nur unter Windows laufen.
Spätestens zum Testen wird Dir nichts anderes übrig bleiben.

> 1) Das Durchsuchen der Registry nach Keys mit bestimmten Werten
> und das Ersetzen der Werte dieser Keys;

Win32::TieRegistry

> 2) Der Zugriff auf den Verzeichnisdienst ("Active Directory"), konkret
> das Auslesen von Attributwerten bestimmter Objekte;

ADSI COM Interface über Win32::OLE.

> 3) Der Zugriff auf Domain-Controller, speziell das Browsing. Hier
> geht es darum, festzustellen, auf welchem(n) Rechner(n) in einer
> W2000-Domaine bestimmte Dienste gestartet sind und falls sie
> gestartet sind, mit welchen Parametern.

Browsing ist eine Lanmanager-Eigenschaft.
Geht über Win32::Lanman und Win32::Service

> Wenn jemand schon mal unmittelbar soetwas programmier hat
> (Registry-Zugriffe von Skripts aus sind ja vielleicht nicht gar so
> selten), wäre ich natürlich auch für Codebeispiele dankbar. Aber
> ein Hinweis auf die passenden Module genügt auch, ich wühle
> mich dann schon durch die Doku durch.

Code dafür habe ich Tonnenweise. Leider muss ich das aus größeren
Skripten herausschälen. Ich schaue mal, ob Ich heute Abend ein paar
Schnipsel posten kann.

Gruß
Thomas

--
$/=$,,$_=,s,(.*),$1,see;__END__
s,^(.*\043),,mg,@_=map{[split'']}split;{#>J~.>_an~>>e~...... >r~
$_=$_[$%][$"];y,<~>^,-++-,?{$/=--$|?'"':#..u.t.^.o.P.r.>ha~.e..
'%',s,(.),\$$/$1=1,,$;=$_}:/\w/?{y,_, ,,#..>s^~ht<._..._..c....
print}:y,.,,||last,,,,,,$_=$;;eval,redo}#.....>.e.r^.>l^..>k ^.-

Re: Perl für Windows-Admin?

am 09.07.2007 11:54:34 von Wolf Behrenhoff

Ferry Bolhar schrieb:
> Hallo,
>
> ich habe hier drei Aufgabenstellungen, die ich - so möglich - gerne
> in Perl lösen würde. Es betrifft im Prinzip den Zugriff auf Windows-
> Rechner, falls es technisch machbar ist, würde ich die Skripts aber
> gerne unter Linux entwickeln und später einsetzen, weil wir nicht
> auf allen Windows-Systemen Perl installiert haben (und das auch
> nicht wollen - ich kann nichts daran ändern). Konkret geht es um:

Hallo Ferry,

guck mal unter http://www.roth.net/perl/ - vielleicht findest du dort
etwas passendes.

Wolf

Re: Perl für Windows-Admin?

am 09.07.2007 17:16:57 von Robert Berghaus

Hallo Ferry

Ferry Bolhar schrieb:
> Hallo,
>=20
> ich habe hier drei Aufgabenstellungen, die ich - so möglich - gerne
> in Perl lösen würde. Es betrifft im Prinzip den Zugriff auf Windows=
-
> Rechner, falls es technisch machbar ist, würde ich die Skripts aber
> gerne unter Linux entwickeln und später einsetzen, weil wir nicht
> auf allen Windows-Systemen Perl installiert haben (und das auch
> nicht wollen - ich kann nichts daran ändern). Konkret geht es um:
>=20
> 1) Das Durchsuchen der Registry nach Keys mit bestimmten Werten
> und das Ersetzen der Werte dieser Keys;
>=20
> 2) Der Zugriff auf den Verzeichnisdienst ("Active Directory"), konkret
> das Auslesen von Attributwerten bestimmter Objekte;
>=20
> 3) Der Zugriff auf Domain-Controller, speziell das Browsing. Hier
> geht es darum, festzustellen, auf welchem(n) Rechner(n) in einer
> W2000-Domaine bestimmte Dienste gestartet sind und falls sie
> gestartet sind, mit welchen Parametern.
>=20
> Zunächst würde mich interessieren, ob das mit Perl überhaupt
> möglich ist; speziell die Punkte 2 und 3, wozu ich leider nichts
> gefunden habe. Vermutlich gibt es Win32-Module dafür (leider
> muss ich zugeben, dass ich aus der UNIX-Welt komme und mit
> Windows auf diesem Niveau überhaupt nichts anfangen kann).
> Und dann wäre es eben interessant, ob dies auch von einer Linux-
> Kiste aus machbar ist. Und falls nicht, von einem W2000-System,
> und was man - abgesehen von Perl - auf diesem System dann
> noch braucht (z.B. an speziellen Modulen).
>=20
> Wenn jemand schon mal unmittelbar soetwas programmier hat
> (Registry-Zugriffe von Skripts aus sind ja vielleicht nicht gar so
> selten), wäre ich natürlich auch für Codebeispiele dankbar. Aber
> ein Hinweis auf die passenden Module genügt auch, ich wühle
> mich dann schon durch die Doku durch.
>=20
> Danke euch für alle Tipps,
>=20

Ich habe gerade im Buch "Perl für Systemadministratoren" was=20
nachgeschlagen und dort steht auch zu ADSI (Active Directory=20
Service Interfaces) war drin. Hier wird folgendes empfohlen:

1. von http://www.microsoft.com/adsi die Dokumentation=20
herunterladen (soll adsi25.chm heißen). Im ADSI-SDK soll es einen=20
ADSI-Browser names ADsVW geben, der ebenfalls empfohlen wird.

2. Von der Seite=20
http://opensource.activestate.com/authors/tobyeverett den in Perl=20
geschriebenen ADSI-Browser runterladen. Hier soll es auch jede=20
Menge Infos zu Perl und ADSI geben.

Viel Erfolg

--=20
Schönen Gruß aus dem Bergischen Land
Robert

Re: Perl für Windows-Admin?

am 09.07.2007 19:01:36 von Ferry Bolhar

Wolf Behrenhoff:

> guck mal unter http://www.roth.net/perl/ - vielleicht findest du dort
> etwas passendes.

Könntest du die URL vielleicht noch mal überprüfen - ich kann sie
namensmäßig nicht auflösen.

Danke & LG, Ferry

--
Ing Ferry Bolhar
Magistrat der Stadt Wien - MA 14
A-1010 Wien
E-Mail: bol@adv.magwien.gv.at

Re: Perl fuer Windows-Admin?

am 09.07.2007 21:59:00 von MH

Ferry Bolhar [bol@adv.magwien.gv.at] schrieb:

[...]

>1) Das Durchsuchen der Registry nach Keys mit bestimmten Werten
>und das Ersetzen der Werte dieser Keys;

Win32::Registry - laeuft nur unter Windows

>2) Der Zugriff auf den Verzeichnisdienst ("Active Directory"), konkret
>das Auslesen von Attributwerten bestimmter Objekte;

Net::LDAP - klappt unter Linux und Windows

>3) Der Zugriff auf Domain-Controller, speziell das Browsing. Hier
>geht es darum, festzustellen, auf welchem(n) Rechner(n) in einer
>W2000-Domaine bestimmte Dienste gestartet sind und falls sie
>gestartet sind, mit welchen Parametern.

Win32::Lanman - klappt nur unter Windows
ansonsten etwas mit samba, dann halt nicht mit Perl zusammenbasteln

[...]
>Wenn jemand schon mal unmittelbar soetwas programmier hat
>(Registry-Zugriffe von Skripts aus sind ja vielleicht nicht gar so
>selten), wäre ich natürlich auch für Codebeispiele dankbar. Aber
>ein Hinweis auf die passenden Module genügt auch, ich wühle
>mich dann schon durch die Doku durch.

Bei konkreten Fragen zu den beiden ersten Punkten kann ich sicher noch
ein wenig mehr sagen. Mit Browsing hatte ich bisher nicht soviel zu tun.

>Danke euch für alle Tipps,

>und schöne Grüße aus Wien,

>Ferry

Ciao.
Michael.
--=20
Michael Hirmke | Telefon +49 (911) 557999
Am Wiesengrund 19 | FAX +49 (911) 557664
90455 Nuernberg-Worzeldorf | E-Mail mailto:mh@mike.franken.de
| WWW http://www.hirmke.de/

Re: Perl für Windows-Admin?

am 10.07.2007 00:03:08 von Wolf Behrenhoff

Ferry Bolhar schrieb:
> Wolf Behrenhoff:
>
>> guck mal unter http://www.roth.net/perl/ - vielleicht findest du dort
>> etwas passendes.
>
> Könntest du die URL vielleicht noch mal überprüfen - ich kann sie
> namensmäßig nicht auflösen.

Bei mir geht sie. Zugegeben: vor dem Schreiben des Postings habe ich
auch mehrere Versuche gebraucht, bis sie ging - eben auch wieder.

Wolf