Network::Windows::IIS Authentication
How IIS Authenticates Users
This looks like a good article. It even includes some packet level trace examples.
http://support.microsoft.com/default.aspx?scid=kb;[LN];264921
#!/usr/local/bin/perl
use IO::Socket;
#ICA server is at port 1494
$port = ("1494");
#change a.b.c.d & w.x.y.z to your hosts' ip numbers
$primary = "a.b.c.d";
$secondary = "w.x.y.z";
#Check Primary
$connected = 0;
$checkport = IO::Socket::INET->new(
PeerAddr => "$primary",
PeerPort => "$port",
Proto => 'tcp',
Timeout => '0') or $connected = 1;
if (!($connected)) {
#port is up, assign $link to the HTML for a link to the file for this server.
$link = "<a href=\"file1.ica\"><img src=\"icon.jpg\"></a>";
}
else {
#port is down, check secondary
$connected = 0;
$checkport = IO::Socket::INET->new(
PeerAddr => "$secondary",
PeerPort => "$port",
Proto => 'tcp',
Timeout => '0') or $connected = 1;
if (!($connected)) {
#port is up, assign $link to the HTML for a link to the file for the next server.
$link = "<a href=\"file2.ica\"\"><img src=\"icon.jpg\"></a>";
}
else {
#port is down, first two servers are down - there has been a noticably long timout by now
#assign $link with HTML error message.
$link = "<P>Remote Desktop is unavailable.<BR>Please call the support line or<BR><a href=\"mailto://helpdesk\@mycompany.com\">e-mail support</a></P>";
}
}
close $checkport;
#merge variable with template
#the html template contains variable name enclosed by double angle brackets. i.e. <<$link>>
print "Content-type: text/html\n\n";
# Read HTML from template.
merge_file("\\wwwroot\\templates\\remote.html");
exit;
sub merge_file {
# Read HTML from template.
my $template_file = shift;
open(TEMPLATE, $template_file) or print "Error opening $template_file $!";
# temporarily disable "uninitialized value" warnings
$^W = 0;
while () {s/<<(.*?)>>/$1/eeg; print;}
$^W = 1;
close(TEMPLATE);
}
Send me an e-mail with your comments or questions.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run.
cd "%WinDir%\System"
regsvr32 /u "C:\Program Files\Xupiter\Updates\XupiterToolbar.dll"
regsvr32 /u "C:\Program Files\Xupiter\Updates\XTUpdate.dll"
regsvr32 /u "C:\Program Files\Xupiter\Updates\XTSearch.dll"
HKEY_CURRENT_USER\Software\Xupiter
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Code Store Database\Distribution Units\{A27CFCAE-9351-4D74-BFFC-21EB19693D8C}