proxy.pac

Sitter och väntar på en installation (av OpsMgr 2007… !) och passade på att reda ut lite om PAC-file under tiden… pratade med en kund om detta igår…

Om du tar javascript-filen som finns nedan och klipper in den i en fil som heter wpad.dat och lägger upp den på någon lämplig webserver.
Sen pekar du ut ett c-name (mot den servern, *doh*) som blir wpad.mindomän.se eller vart nu era klienter sitter (wpad.klient.domänen.net) så kommer automatiska inställningarna för proxy fungera finfint (Internet Explorer).

Ett alternativ är att klippa in den i en fil som heter proxy.pac och lägga upp den på en webbserver. Sen pekar man ut den flien som proxy-inställningsfil mha en gpo.

Det man måste göra på webbservern är att lägga till en mime-type så att .pac blir application/x-ns-proxy-autoconfig.
IIS’ens tjänstehanterare och väljer egenskaper för den aktuella webb-platsen.
- Välj filken http Headers
- Tryck på File Types
- Skriv in .PAC och application/x-ns-proxy-autoconfig
… ok, ok… ok ok ok … fix färdigt…

Fördelen med wpad-grejjen är att bärbara klienter inte får någon proxy när dom sitter hemma eller på något annat nät…

function FindProxyForURL(url, host) {
        // Sätter variabler
        var stdProxy = "PROXY 192.168.100.10:8080; DIRECT";
        var noProxy = "DIRECT";

        var clientIP = myIpAddress();

        // Mot lokal maskinen
        if (dnsDomainIs(host, "localhost")) { return noProxy; }
        if (isInNet(host,"127.0.0.1","255.255.255.255")) { return noProxy; }
        if (isInNet(host,clientIP,"255.255.255.255")) { return noProxy; }

        // Servrar innanför egna domänen
        if (shExpMatch(host,"*.mindomän.se")) { return noProxy; }
        if (shExpMatch(host,"*.minandradomän.se")) { return noProxy; }

        // Lokala servrar
        if (isPlainHostName(host)) { return noProxy; }
        if (shExpMatch(url, "http://minserver*")) { return noProxy; }

        // Direkt till vissa nät
        if (isInNet(host,"123.1.1.0","255.255.255.0")) { return noProxy; }
        if (isInNet(host,"123.123.123.0","255.255.255.0")) { return noProxy; }

        // Skicka till windows update utan proxy
        if ((url.substring(0, 6) == "https:") && (!dnsDomainIs(host,"windowsupdate.microsoft.com"))) { return noProxy; }

        // Skicka alla andra till proxy
        return stdProxy;
}

Jag har inte testat den här PAC-filen, men det är ett ganska bra-att-ha-exempel i alla fall. :-)

Edit 2007-02-05: Rättat upp lite små-fel i koden, saknade lite parenteser.


/. effekt, men bra verktyg

slashdot.org – effekt brukar man ganska ofta prata om, den här gången lyckades lifehacker.com ta död på en site.

lifehacker.com tipsade dom om en bra samling med verktyg för att reparera en PC.

Orginalsidan: dailycupoftech.com

Har en kopia liggandes på https://snowland.se/download/ (Under verktyg), jag tar ingen credit för den samlingen. Men bra är den i alla fall, bara att zippa upp på lämplig USB-sticka.


Softgrid Sequencing BP

Nu har jag skapat en “Softgrid Sequencing Best practice-generator”. Underlättar en hel del när man ska komma på fina namn på alla paket.
Det enda man behöver komma fram med själv är ett paket-id som ska vara max 8 tecken långt (och självklart unikt).

https://snowland.se/sg-sequencer/

Applikationen sparar ingenting så det man matar in ser man bara en gång.


WP Plugin: Akismet Image

Fick lite tid över… och råkade surfa förbi Akismet.com.

Fixade en ganska lattjo “bild”, läser info om hur många spam som akismet har fångat på sidan den är och visar det sedan som en PNG-bild.

Gjorde det självklart som en wordpress-plugin (https://snowland.se/plugins/)

Den bör synas in action nere till höger på den här sidan… Endast ~30 spam änn så länge… men när väl spam-bottarna hittar sidan så går det undan.


Google: Analytics2KML

Hittade ett inlägg om hur man kan göra om Google Analytics-data till en Google Earth-KML… http://bogomip.net/blog/google-analytics-and-google-earth/

Men… vad ska man med C-kod till när man har PHP :-)

Eftersom inlägget är på engelska och ganska så väl-digg’at så skriver jag vidare på engelska…

Sorry for the Swedish note
Since I’m track-backing the blogentry… I might need to explain this in english.
Well… I wrote a small hack to go from Google Analytics to Google Earth with a little help of PHP.

To use this… go to Google Analytics / Marketing Optimization / Visitor Segment Performance / Geo Map Overlay
Then export to XML. Save the XML-file as analytics2kml.xml and upload it next to the php-files below.

Use the 2 files below to create a nice way to link it from any webpage. You need to create the link to analytics2kml-starter.php

analytics2kml.php


// — Open file
$filename = "analytics2kml.xml";

if (!($fp = fopen($filename, "r"))) {
   die("could not open XML input");
}

$xml_parser = xml_parser_create();
$data = fread($fp, filesize($filename));
fclose($fp);
xml_parse_into_struct($xml_parser, $data, $vals, $index);
xml_parser_free($xml_parser);

// — Populate array
$xmlArr = array();
$level = array();
foreach ($vals as $xml_elem) {
  if ($xml_elem[‘type’] == ‘open’) {
   if (array_key_exists(‘attributes’,$xml_elem)) {
     list($level[$xml_elem[‘level’]],$extra) = array_values($xml_elem[‘attributes’]);
   } else {
     $level[$xml_elem[‘level’]] = $xml_elem[‘tag’];
   }
  }
  if ($xml_elem[‘type’] == ‘complete’) {
   $start_level = 1;
   $php_stmt = ‘$xmlArr’;
   while($start_level < $xml_elem[‘level’]) {
     $php_stmt .= ‘[$level['.$start_level.']]’;
     $start_level++;
   }
   $php_stmt .= ‘[$xml_elem[\'tag\']] = $xml_elem[\'value\'];’;
   eval($php_stmt);
  }
}

// — Write page headers
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
header("content-type:application/vnd.google-earth.kml+xml"); // Google Earth

// — Create top of KML
$kml_output =;
$kml_output.=;
$kml_output.="

        Analytics 2 kml


        Analytics 2 kml
        "
;
echo $kml_output;

// — Loop thru array
$initRows = 8;
$totalRows = count($xmlArr["URCHINDATA"]["0"]) - $initRows;

for ($i = 0; $i <= $totalRows; $i++) {
        $pointStr  = $xmlArr["URCHINDATA"]["0"][$i]["NAME"];
        $pointStr .= "|" . $xmlArr["URCHINDATA"]["0"][$i]["VALUE1"];
        $pointStr .= "|" . $xmlArr["URCHINDATA"]["0"][$i]["VALUE2"];

        $pointArr = explode("|", $pointStr);

        $nameArr = explode("-", $pointArr["0"]);

        $pointname = $nameArr["1"];
        $longitude = $pointArr["2"] / 10000;
        $latitude = $pointArr["1"] / 10000;

        $kml_description = "Visits: " . $pointArr["3"] . "
Pages/Visit: "
. $pointArr["4"] . "
"
. $nameArr["0"] . " / " . $nameArr["1"];
        $kml_description = ".$kml_description."]]>";

        // — Create kml placemark
        $kml_output ="
                       
                                $pointname
                                $kml_description
                                #googelicon
                               
                                        $longitude,$latitude,0
                               

                       
"
;
        echo $kml_output;
}
// — Finnish off the kml
echo "";

?>
 

analytics2kml-starter.php


        header("content-type:application/vnd.google-earth.kml+xml");

        $kml_output=;
        $kml_output.=;

        $kml_output.=
               
                        Analytics 2 kml
                       
                                https://snowland.se/a2k/analytics2kml.php
                                never
                       

               
;
        $kml_output.=‘’;

        echo $kml_output;
?>
 


Tidsstämpling i loggar

Okej… att använda “date /T” och “time /T” i ett cmd-script för att få lite tidstämplar är inte snyggt men det fungerar..

Råkade surfa förbi ett lite snyggare sätt att göra det…

for /f "tokens=*" %i in (‘date /t’) do @for /f "tokens=*" %j in (‘time /t’) do @echo %i%j "Mitt fina loggentry"
 

Som jag skrev tidigare… for-kommandot kan göra en hel del roliga saker.

Lite mer info på Sapien techs blog


Vista – RTM

För några sekunder sedan började jag ladda hem RTM:en av Vista från MSDN.

Postad där 2006-11-16 21:56:18 (UTC).


MMS 2007 Regsitreringen öppen

Nu har regisreringen till MMS 2007 öppnat.

061110_mms-registrering

Microsoft Management Summit 2007


Rensa skrivare, del 2

Skrev lite tidigare hur man rensade skrivare mha Kix… följer tydligen med ett VBScript i Windows XP som fixar det på ett “lite” bättre sätt än att ful-hacka registret. :-)

prnmngr.vbs heter scriptet och finns under C:\Windows\System32

F.ö. så finns det lite diverse bra-att-ha-scripts under System32, kika igenom .vbs så hittar man en hel del skojj, om man nu har humor lagt åt det håller, tycker man inte det är skojj så är det i alla fall bra-att-ha. :-)


Windows Sysinternals

Jahaps… då var det ordentligt klart..

Mark och gänget på före detta Sysinternals är nu verkligen en del av Microsoft. Men… dom släpper samtidigt en ny applikation som är en sammanslagning av ProcessExplorer, FileMon, RegMon och lite andra verktyg. Process Monitor heter det och finns att ladda hem.

Verkar som ett riktigt bra-att-ha-verktyg.

Länk: Windows Sysinternals


« Previous Page — Next Page »