Netzlaufwerk zuordnen?

Netzlaufwerk zuordnen?

am 29.05.2006 20:51:43 von Robert Rakowicz

Hi,

vielleicht hat jemand sich auch schon damit beschäftigt. Oder aber sieht
jemand da etwas was ich nicht sehe.
Also folgende Situation - ich will unter Windows ein Windows Share
mounten. Das ganze mit Perl. Ich weiß - ich kann es mit system("...")
machen, will ich aber nicht weil finde ich nicht besonders elegant ;).

Ich habe also folgenden Code:

,----
| if ($CountryCode eq "01") {
| %NETRESOURCE=(
| 'Scope' => 0,
| 'Type' => 0,
| 'DisplayType' => 0,
| 'Usage' => 0,
| 'RemoteName' => $FileServer,
| 'LocalName' => $LocalDriveName,
| 'Comment' => "Citrix",
| 'Provider' => "Microsoft Windows Network");
| }
| elsif ($CountryCode eq "49") {
| %NETRESOURCE=(
| 'Scope' => 0,
| 'Type' => 0,
| 'DisplayType' => 0,
| 'Usage' => 0,
| 'RemoteName' => $FileServer,
| 'LocalName' => $LocalDriveName,
| 'Comment' => "Citrix",
| 'Provider' => "Microsoft Windows-Netzwerk");
| }
`----

und weiter

,----
| if (Win32::NetResource::AddConnection(\%NETRESOURCE, $Password, $User, 0)) {
| system ("change user /install");
| }
| else {
| print "Kann Netzlaufwerk nicht zuordnen. $!\n";
| exit;
| }
`----

Also je nach Sprache des BS werden andere Parameter verwendet. Man
beachte besonders "Provider". Wenn ich mein Script unter deutscher
Version starte, geht es ohne Probleme. Starte ich es auf einer
englischer Version kommt folgender Fehler:

,----
| Use of uninitialized value in pack at C:/Program Files/Perl/site/lib/Win32/NetResource.pm line 339.
| Use of uninitialized value in pack at C:/Program Files/Perl/site/lib/Win32/NetResource.pm line 339.
| Use of uninitialized value in pack at C:/Program Files/Perl/site/lib/Win32/NetResource.pm line 339.
| Use of uninitialized value in pack at C:/Program Files/Perl/site/lib/Win32/NetResource.pm line 339.
| Kann Netzlaufwerk nicht zuordnen.
`----

Ich finde einfach nicht heraus was das Sche.. Modul wirklich
will. Google weiß auch nichts :( Ideen/ Vorschläge?


Pozdrawiam/Gruß/Regards
Robert Rakowicz

--
Robert Rakowicz
URL: www.rjap.de
E-Mail: b9001@rjap.de

Re: Netzlaufwerk zuordnen?

am 29.05.2006 21:30:58 von Karlheinz Weindl

Robert Rakowicz schrieb:

> Hi,
>
> vielleicht hat jemand sich auch schon damit beschäftigt. Oder aber sieht
> jemand da etwas was ich nicht sehe.
> Also folgende Situation - ich will unter Windows ein Windows Share
> mounten. Das ganze mit Perl. Ich weiß - ich kann es mit system("...")
> machen, will ich aber nicht weil finde ich nicht besonders elegant ;).
>
> Ich habe also folgenden Code:
>
> ,----
> | if ($CountryCode eq "01") {
> | %NETRESOURCE=(
> | 'Scope' => 0,
> | 'Type' => 0,
> | 'DisplayType' => 0,
> | 'Usage' => 0,
> | 'RemoteName' => $FileServer,
> | 'LocalName' => $LocalDriveName,
> | 'Comment' => "Citrix",
> | 'Provider' => "Microsoft Windows Network");
> | }
> | elsif ($CountryCode eq "49") {
> | %NETRESOURCE=(
> | 'Scope' => 0,
> | 'Type' => 0,
> | 'DisplayType' => 0,
> | 'Usage' => 0,
> | 'RemoteName' => $FileServer,
> | 'LocalName' => $LocalDriveName,
> | 'Comment' => "Citrix",
> | 'Provider' => "Microsoft Windows-Netzwerk");
> | }
> `----
>
> und weiter
>
> ,----
> | if (Win32::NetResource::AddConnection(\%NETRESOURCE, $Password, $User, 0)) {
> | system ("change user /install");
> | }
> | else {
> | print "Kann Netzlaufwerk nicht zuordnen. $!\n";
> | exit;
> | }
> `----
>
> Also je nach Sprache des BS werden andere Parameter verwendet. Man
> beachte besonders "Provider". Wenn ich mein Script unter deutscher
> Version starte, geht es ohne Probleme. Starte ich es auf einer
> englischer Version kommt folgender Fehler:
>
> ,----
> | Use of uninitialized value in pack at C:/Program Files/Perl/site/lib/Win32/NetResource.pm line 339.
> | Use of uninitialized value in pack at C:/Program Files/Perl/site/lib/Win32/NetResource.pm line 339.
> | Use of uninitialized value in pack at C:/Program Files/Perl/site/lib/Win32/NetResource.pm line 339.
> | Use of uninitialized value in pack at C:/Program Files/Perl/site/lib/Win32/NetResource.pm line 339.
> | Kann Netzlaufwerk nicht zuordnen.
> `----
>
> Ich finde einfach nicht heraus was das Sche.. Modul wirklich
> will. Google weiß auch nichts :( Ideen/ Vorschläge?

Bist du sicher, dass ($CountryCode eq "01") wahr ist?
Der Skalar könnte ja auch 1 enthalten!
Ob deine 49 als numerischer Wert oder String vorliegt läßt Perl ziemlich
kalt, aber bei einer vorangestellten Null wird denn doch ein String
erwartet.

Gruß
Karlheinz

Re: Netzlaufwerk zuordnen?

am 29.05.2006 22:28:42 von Robert Rakowicz

Karlheinz Weindl writes:

Hi,

>
> Bist du sicher, dass ($CountryCode eq "01") wahr ist?
> Der Skalar könnte ja auch 1 enthalten!
> Ob deine 49 als numerischer Wert oder String vorliegt läßt Perl ziemlich
> kalt, aber bei einer vorangestellten Null wird denn doch ein String
> erwartet.

hmm, gute Frage, wenn ich jetzt ehrlich sein soll weiß ich nicht ;)
werde aber am Donnerstag sofort prüfen.
Warum ich an der Stelle allerdings "eq" und nicht "==" verwendet
habe... kann ich jetzt auch nicht mehr sagen.
Sofort als ToDo für Do eintragen.


Pozdrawiam/Gruß/Regards
Robert Rakowicz

--
Robert Rakowicz
URL: www.rjap.de
E-Mail: b9001@rjap.de

Re: Netzlaufwerk zuordnen?

am 04.06.2006 15:06:36 von Robert Rakowicz

Karlheinz Weindl writes:

Hi,

> Bist du sicher, dass ($CountryCode eq "01") wahr ist?
> Der Skalar könnte ja auch 1 enthalten!
> Ob deine 49 als numerischer Wert oder String vorliegt läßt Perl ziemlich
> kalt, aber bei einer vorangestellten Null wird denn doch ein String
> erwartet.

Dein Tip war Goldwert :). Auf die Idee das es daran liegen kann wäre ich
wohl noch lange nicht gekommen.

Pozdrawiam/Gruß/Regards
Robert Rakowicz

--
Robert Rakowicz
URL: www.rjap.de
E-Mail: b9001@rjap.de