Schrift
[thread]12682[/thread]

auf Windowsfreigabe c$ zugreifen

Leser: 4


<< >> 6 Einträge, 1 Seite
pib
 2008-10-28 14:28
#115790 #115790
User since
2008-10-28
5 Artikel
BenutzerIn
[Homepage] [default_avatar]
Hallo ich bin neu hier und weiß nicht so recht, ob ich das richtige Board mit meiner Frage belästige. Ich versuchs einfach mal:

Ich möchte von meinem WinXP Rechner auf einen entfernten WindowsServer2003 zugreifen (und zwar auf die Freigabe c$), um mir von dort bestimmte Logfiles lokal auf c:\TEMP zu kopieren.

Mein naiver Ansatz funktioniert aber leider nicht. Muß ich noch ein bestimmtes Modul einbinden oder so!?

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
#!/usr/bin/perl -w

use strict;
use warnings;
use File::Copy;

if (-e '\\server\c$\log\logfile.log') {
  print "datei vorhanden\n";
  copy('\\server\c$\log\logfile.log','C:\TEMP') or die("Copy failed: $!");
} 
else {
  print "datei nicht vorhanden\n";
}
pib
 2008-10-28 15:17
#115792 #115792
User since
2008-10-28
5 Artikel
BenutzerIn
[Homepage] [default_avatar]
ok, ich hab jetzt hier im Forum beireits Hinweise gefunden, daß "Win32::NetResource" mein Feund sein könnte. Hab mir das ganze auch mal cpan angeguckt, aber ganz schlau werde ich daraus nicht. Könnte mir jemand mit einem kleinem Code-Beispiel auf die Sprünge helfen!?
pib
 2008-10-28 16:22
#115796 #115796
User since
2008-10-28
5 Artikel
BenutzerIn
[Homepage] [default_avatar]
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/usr/bin/perl -w

use strict;
use warnings;
use File::Copy;
use Win32::NetResource;

my $RemoteShare = {
                 'Type'=> RESOURCETYPE_DISK,
                 'Usage' => RESOURCEUSAGE_CONNECTABLE,
                 'LocalName' => "Y:",
                 'RemoteName' => "\\servername\c$"                 
                };
                
 my $UserName = "";
 my $Password = "";
 my $Connection = 1;
 my $ErrorCode = "";
 
Win32::NetResource::AddConnection($RemoteShare,$Password,$UserName,$Connection)
  or print "unable to add network\n";

Win32::NetResource::GetError( $ErrorCode );
print "Error code is $ErrorCode";



Als Fehlercode bekomme ich: 1203. Laut mircosoft bedeutet das:

"The network path was either typed incorrectly, does not exist, or the network provider is not currently available. Please try retyping the path or contact your network administrator."

mir gehen die Ideen aus,...
renee
 2008-10-28 16:44
#115798 #115798
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Mach mal aus
Code (perl): (dl )
'RemoteName' => "\\servername\c$"  
das hier:
Code (perl): (dl )
'RemoteName' => '\\servername\c$'
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
pib
 2008-10-29 09:57
#115811 #115811
User since
2008-10-28
5 Artikel
BenutzerIn
[Homepage] [default_avatar]
Super! Das klappt!!! Jetzt hab ich noch ein Problem: Das trennen der Netzwerkresource klappt nicht. Was bedeutet dieses $Force !?


Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
use Win32::NetResource;

my $RemoteShare = {
                 'Scope' => RESOURCE_CONNECTED,
                 'Type'=> RESOURCETYPE_DISK,
                 'DisplayType' => RESOURCEDISPLAYTYPE_GENERIC,
                 'Usage' => RESOURCEUSAGE_CONNECTABLE,
                 'LocalName' => "Y:",
                 'RemoteName' => '\\\\server\c$',
                 'Comment' => "OSD A Berlin"
                };
                
 my $UserName = "";
 my $Password = "";
 my $Connection = 0;
 my $ErrorCode = "";
 my $Force = 0; # <---------- keine Ahnung, was da für ein Wert hinkommt. In der Doku steht leider auch nix.

#
# Netzwerkresource trennen
#
Win32::NetResource::CancelConnection($RemoteShare,$Connection,$Force)
  or print "unable to cancel conected network\n";
pib
 2008-10-29 11:33
#115813 #115813
User since
2008-10-28
5 Artikel
BenutzerIn
[Homepage] [default_avatar]
ah, ich habs. Statt der Variablen $RemoteShare:

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
my $LocalName = "Y:";

my $RemoteShare = {
                 'Scope' => RESOURCE_CONNECTED,
                 'Type'=> RESOURCETYPE_DISK,
                 'DisplayType' => RESOURCEDISPLAYTYPE_GENERIC,
                 'Usage' => RESOURCEUSAGE_CONNECTABLE,
                 'LocalName' => $LocalName,
                 'RemoteName' => $RemoteName,
                };

Win32::NetResource::CancelConnection($RemoteShare,$Connection,$Force)


muß ich die Variable $LocalName einsetzen.

Code (perl): (dl )
Win32::NetResource::CancelConnection($LocalName,$Connection,$Force)


<< >> 6 Einträge, 1 Seite



View all threads created 2008-10-28 14:28.