Shortlink auflösen mit PowerShell

Jeder kennt sie inzwischen: Die Shortlinks im Internet. Auf Facebook, Amazon, Youtube und anderen Online Plattformen sind sie zu finden. Aber welche URL oder Website steckt dahinter? Einen Shortlink auflösen kann man schnell und einfach auch mit PowerShell 🙂

geralt / Pixabay

 

Shortlink auflösen mit PowerShell

Shortlink – Dienste, wie bit.lygoo.gl oder tinyurl.com, sind sehr praktisch. Vorallem, wenn man einen Link verschicken will, ist es besser wenn der Link zur Seite kurz ist. Das Problem ist allerdings, dass man nicht weiß auf welcher Seite man landet. 🙁

Daher kann man mit PowerShell zuvor einen Shortlink auflösen, um zu sehen was sich dahinter versteckt.

Zunächst brauchen wir das PowerShell Script um den Shortlink auflösen zu können:

<#
.SYNOPSIS
Expand Short URLs
.DESCRIPTION
Unshortens the short URL using the UnTiny.me web API http://untiny.me/api
.PARAMETER URL
Short URL to be expanded
.EXAMPLE
PS > Expand-ShortURL -URL https://goo.gl/quuacW, http://goo.gl/VG9XdU
ShortURL              LongURL
--------              -------
https://goo.gl/quuacW https://geekeefy.wordpress.com/
http://goo.gl/VG9XdU  https://raw.githubusercontent.com/PrateekKumarSingh/PowershellScrapy/master/MACManufacturers/MAC_Manufacturer_Reference.csv
.EXAMPLE
PS > 'https://goo.gl/quuacW' |Expand-ShortURL
ShortURL              LongURL
--------              -------
https://goo.gl/quuacW https://geekeefy.wordpress.com/
.NOTES
Blog URL - http://geekeefy.wordpress.com
#> 
Function Expand-ShortURL {
    Param(
            [Parameter(
                Mandatory = $true,
                HelpMessage = 'Short URL to be expanded',
                ValueFromPipeline = $true,
                Position = 0
            )]
            [ValidateNotNullOrEmpty()]
            [string[]] $URL
    )

    Begin{
    }
    Process
    {
        Foreach($Item in $URL){
            try {
                    [PSCustomObject]@{  
                        ShortURL = $Item
                        LongURL = Invoke-WebRequest -Uri "http://untiny.me/api/1.0/extract?url=$Item&format=text" -ErrorAction Stop |`
                        ForEach-Object Content
                }
            }
            catch {
                $_.exception.Message
            }
        }            
    }
    End{
    }

}

Das Script speichern wir unter expand-shorturl.ps1 ab. Übrigens nutzt das Script den Webservice untiny.me 🙂

 

Zuerst laden wir das Script wieder mit dem Befehl:

. .\expand-shorturl.ps1

Außerhalb der PowerShell werden Funktionen nach dem Ausführen eines PowerShell – Skripts wieder entladen. Wird ein Skript aber mit einem “.” geladen, kann die Funktion auch noch nach dem Ende des Skripts aufgerufen werden.

Nun rufen wir die Funktion auf, die uns die Lange, bzw. richtige URL ausspuckt:

Expand-ShortURL -url https://bit.ly/2JCl6mS

Johannes Huber
 

In seiner Freizeit macht Johannes nichts lieber, als für ITnator Beiträge zu schreiben. Input bekommt er hierfür von Problemen in der IT Administration von Servern, Clients und vielen weiteren IT Komponenten.

Click Here to Leave a Comment Below 0 comments