Sorry that won't work for the ICA/RDP client IP. My apologies. I will read more carefully next time. On 12/12/05, Matt Kosht <matt.kosht@xxxxxxxxx> wrote: > I have used this perl script before. > you could run the script when the user logs in. > -Matt > > > # GetIP.pl > # -------- > # This will retrieve all IP Addresses that are bound > # to network devices on a specified machine. This includes IPs that are > # bound to any NIC (network card, RAS dail up, etc). > # If a particular NIC specifies 0.0.0.0 (typically to indicate that the > # NIC will request an IP via DHCP, PPP, etc) it will be ignored. > # ALL IPs are discovered even on cards that are disabled. > # > # Syntax: > # perl GetIP.pl [Machine Name] > # > # Examples: > # perl GetIP.pl > # perl GetIP.pl \\server > # > # 1999.03.09 roth > # > # Permission is granted to redistribute and modify this code as long as > # the below copyright is included. > # > # Copyright (c) 1999 by Dave Roth > # Courtesty of Roth Consulting > # http://www.roth.net/ > > use Win32::Registry; > > %KeyName = ( > serviceroot => 'System\CurrentControlSet\Services', > tcplink => 'Tcpip\Linkage', > tcplink_disabled => 'Tcpip\Linkage\Disabled', > tcpparam => 'Tcpip\Parameters', > deviceparam_tcp => 'Parameters\Tcpip', > > ); > > $Root = $HKEY_LOCAL_MACHINE; > > if( $Machine = $ARGV[0] ) > { > $HKEY_LOCAL_MACHINE->Connect( $Machine, $Root ) || die "Could not > connect to the registry on '$Machine'\n"; > } > > if( $Root->Open( $KeyName{serviceroot}, $ServiceRoot ) ) > { > # Get the device names of the cards tcp is bound to... > if( $ServiceRoot->Open( $KeyName{tcplink}, $Links ) ) > { > my( $Data ); > if( $Links->QueryValueEx( "Bind", $DataType, $Data ) ) > { > $Data =~ s/\n/ /gs; > $Data =~ s/\\Device\\//gis; > $Data =~ s/^\s+(.*)\s+$/$1/gs; > push( @Devices, ( split( /\c@/, $Data ) ) ); > } > $Links->Close(); > } > > # Get the device names of cards that tcp is bound to but disabled... > if( $ServiceRoot->Open( $KeyName{tcplink_disabled}, $Links ) ) > { > my( $Data ); > > if( $Links->QueryValueEx( "Bind", $DataType, $Data ) ) > { > $Data =~ s/\s+//gs; > $Data =~ s/\\Device\\//gis; > push( @Devices, ( split( /\c@/, $Data ) ) ); > } > $Links->Close(); > } > > foreach $DeviceName ( @Devices ) > { > my( $DeviceTCPKey ); > if( $ServiceRoot->Open( > "$DeviceName\\$KeyName{deviceparam_tcp}", $DeviceTCPKey ) ) > { > my( @CardIPs, @CardSubNets ); > my( $Data, $iCount, $IPAddress ); > > # Get the IP addresses... > if( $DeviceTCPKey->QueryValueEx( "IPAddress", $DataType, $Data ) ) > { > $Data =~ s/\s+//gm; > push( @CardIPs, ( split( /\c@/, $Data ) ) ); > } > > # Get the Subnet masks... > if( $DeviceTCPKey->QueryValueEx( "SubnetMask", $DataType, $Data ) > ) > { > $Data =~ s/\s+//gm; > push( @CardSubNets, ( split( /\c@/, $Data ) ) ); > } > > # Push our new found data onto the stack... > $iCount = 0; > map > { > my( %Hash ); > > # We don't want 0.0.0.0 since it means the IP will be > procured via DHCP or something... > next if( $_ eq '0.0.0.0' ); > > $Hash{ip} = $_; > $Hash{subnet} = $CardSubNets[$iCount]; > push( @IP, \%Hash ); > $iCount++; > } ( @CardIPs ); > > $DeviceTCPKey->Close(); > } > } > > print "This machine $Machine has the following IP addresses:\n"; > > foreach $IPStruct ( @IP ) > { > print "\t$IPStruct->{ip} \t(subnet: $IPStruct->{subnet})\n"; > } > > $ServiceRoot->Close(); > } > > > > On 12/12/05, Jeremy Saunders <jeremy.saunders@xxxxxxxxxxx> wrote: > > Hi All, > > > > Is there a way to get the client IP address from within an ICA and RDP > > session? I think you can do it via the MFCOM object for ICA, but not sure > > if this will work within an RDP session. > > > > Has anyone done this before? > > > > Cheers. > > > > Kind regards, > > > > Jeremy Saunders > > Senior Technical Specialist > > > > Integrated Technology Services & > > Cerulean > > IBM Australia > > Level 2, 1060 Hay Street > > West Perth WA 6005 > > > > Visit us at > > http://www.ibm.com/services/au/its > > > > P: +61 8 9261 8412 F: +61 8 9261 8486 > > M: TBA E-mail: > > jeremy.saunders@xxxxxxxxxxx > > > > > > > > > > > > > > > > > > > > ************************************************ > > For Archives, RSS, to Unsubscribe, Subscribe or > > set Digest or Vacation mode use the below link: > > //www.freelists.org/list/thin > > ************************************************ > > > ************************************************ For Archives, RSS, to Unsubscribe, Subscribe or set Digest or Vacation mode use the below link: //www.freelists.org/list/thin ************************************************