Schrift
[thread]1017[/thread]

VB Script --> Perl Code



<< >> 10 Einträge, 1 Seite
renee
 2005-08-10 12:58
#10384 #10384
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Lass Dir doch mal einen Dump von $objItem ausgeben. Dann kannst Du schauen, wo vielleicht was von LAN,WAN,etc. und Miniport steht...
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/
Strat
 2005-08-10 14:09
#10385 #10385
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
aber jetzt muesste wohl ein blick in scriptomatic2 helfen...
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
renee
 2005-08-10 14:39
#10386 #10386
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
#! /usr/bin/perl

my @values = (8,0,0,0,65,80,76,45,71,109,98,72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);

my $ssid = '';

for my $val(@values){
$ssid .= chr($val) if($val > 31 && $val < 127);
}

print $ssid,"\n";
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/
Strat
 2005-08-10 14:55
#10387 #10387
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
perldoc -f chr

zeichen mit asciicode unter 31 sind (groesstenteils) nicht druckbar, und ueber 127 nicht einheitlich (wobei ich das $val < 127 auch nicht verstehe... gut, sonderzeichen sind in SSIDs nicht zugelassen, wenn ich mich recht erinnere, aber auch eine menge an zeichen unterhalb von 127... ich glaube, nur (einfache) buchstaben, zahlen und - (_ auch?)
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
zipster
 2005-08-10 12:49
#10388 #10388
User since
2004-09-06
458 Artikel
BenutzerIn
[default_avatar]
Hi,

kann mir jemand helfen den folgenden VB CODE für Perl zukonvertieren?
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
set objSWbemServices = GetObject("winmgmts:\\.\root\wmi")
set colInstances = objSwbemServices.ExecQuery("SELECT * FROM MSNDis_80211_BSSIList")
for each obj in colInstances
if left(obj.InstanceName, 4) <> "WAN " and right(obj.InstanceName, 8) <> "Miniport" then
for each rawssid in obj.Ndis80211BSSIList
ssid = ""
for i=0 to ubound(rawssid.Ndis80211SSid)
decval = rawssid.Ndis80211Ssid(i)
if (decval > 31 AND decval < 127) then
ssid = ssid & Chr(decval)
end if
next
wscript.echo ssid
next
end if
next


Ich habe mich selbst schon daran versucht, aber ab Zeile 5 weiß ich nicht mehr weiter.

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
use strict;
use Win32::OLE('in');

use constant wbemFlagReturnImmediately => 0x10;
use constant wbemFlagForwardOnly => 0x20;

my @computers = ("localhost");
my $objWMIService = Win32::OLE->GetObject("winmgmts:\\\\$computer\\root\\WMI") or die "WMI connection failed.\n";
my $colItems = $objWMIService->ExecQuery("SELECT * FROM MSNdis_80211_BSSIList");

foreach my $objItem (in $colItems) {


Gruß Zipster\n\n

<!--EDIT|zipster|1123664088-->
zipster
 2005-08-10 13:14
#10389 #10389
User since
2004-09-06
458 Artikel
BenutzerIn
[default_avatar]
Also wenn ich
Code: (dl )
print $objItem->{InstanceName};

mache bekomme ich folgendes raus.

Quote
Acer WLAN 11g PCMCIA Card - Paketplaner-Miniport
Acer WLAN 11g PCMCIA Card
zipster
 2005-08-10 14:33
#10390 #10390
User since
2004-09-06
458 Artikel
BenutzerIn
[default_avatar]
Ich gebs ja zu du hattest von anfang an recht. :D
Da ich aber NUR unter root/CMIV2 geschaut habe hab ich es am anfang nicht gefunden.

Ich hab nur noch ein Problem mit Scriptomatic.
Er liefert mir als SSID Folgendes zurück.
Code: (dl )
1
2
Ndis80211SsId: 8,0,0,0,65,80,76,45,71,109,98,72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0


Da ich aber mit den Zahlen nicht viel anfangen kann habe ich mir das VBScript oben ergoogelt. (Für Perl hab ich nicht gefunden) Das liefert mir den richtigen Namen.

Deswegen bräuchte ich den Code für Perl und mein Problem wäre gelößt.
zipster
 2005-08-10 14:47
#10391 #10391
User since
2004-09-06
458 Artikel
BenutzerIn
[default_avatar]
[quote=renee,10.08.2005, 12:39]
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
#! /usr/bin/perl

my @values = (8,0,0,0,65,80,76,45,71,109,98,72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);

my $ssid = '';

for my $val(@values){
$ssid .= chr($val) if($val > 31 && $val < 127);
}

print $ssid,"\n";
[/quote]
Perfekt. VIELEN DANK

Kannst du mir den Schnippsel vieleicht auch noch erklären?(wäre lieb)
renee
 2005-08-10 14:57
#10392 #10392
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Das if habe ich einfach von oben übernommen...
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/
pKai
 2005-08-10 16:49
#10393 #10393
User since
2005-02-18
357 Artikel
BenutzerIn
[default_avatar]
Wenn/Falls die ersten 4 Byte ein Long mit der Länge des Strings darstellen, geht auch:
Code: (dl )
$ssid = pack ('c'.shift (@{[splice (@values, 0, 4)]}), @values);
I sense a soul in search of answers.
<< >> 10 Einträge, 1 Seite



View all threads created 2005-08-10 12:58.