Category Archives: Scripting & programming

Somthing about Powershell, VB Script, C#, VB.NET

Powershell: Convert 18-digit LDAP/Win32 Epoch timestamp to DateTime object

Hi,

LDAP use a 18 digit timestamp format. It’s an epoch timestamp.
Continue reading Powershell: Convert 18-digit LDAP/Win32 Epoch timestamp to DateTime object

Windows: Get and decrypt password from rdp files

Hi,

rdp files can store the password for a connection. The password is protected with the users key who saved the file.
Continue reading Windows: Get and decrypt password from rdp files

Powershell: Get the certificate of a webserver

Hi,

like openssl s_client you can also use powershell to view/get the certificate of a webserver.
Continue reading Powershell: Get the certificate of a webserver

Powershell: Invoke-WebRequest aborts with httpcode 301/308 permanent redirect

Hi,

the powershell command-let Invoke-WebRequest does not follow an http redirect.

The solution is to call Invoke-WebRequest recursivly with the redirect URL from the location header field when http code 301 or 308 is returned.

$sURL = "https://visualstudio.com/"
$sRedirectTo=$null
do {
    $oWebResponse = $null
    try
    {
        $oWebResponse = Invoke-WebRequest $sURL 
    }
    catch 
    {
        $oWebResponse=$_.Exception.Response
        write-host ("Exception: {0}" -f $_.Exception.Message)
    }
	if($oWebResponse.StatusCode -ne 200)
	{
		$aRedirectTo=$oWebResponse.Headers.GetValues("location")
		if($aRedirectTo.Count -ge 1)
		{
			$sRedirectTo=$aRedirectTo[0]
		}
		else
		{
			write-host ("No location URL in header")
			break
		}
		if (-not [string]::IsNullOrEmpty($sRedirectTo))
		{
			write-host ("Redirect to {0}" -f ($sRedirectTo))
			$sURL = $sRedirectTo
		}
		else
		{
			write-host ("location URL Null")
			break
		}
	}
    else
    {
        Write-Output ("OK Location = {1} HttpCode = {0}" -f $oWebResponse.StatusCode,$sRedirectTo )
        break
    }
	
} 
while ($true)

Michael

Visual Studio: Set proxy server for update

Hi,

the update process of Visual Studio uses the .NET class Webclient which takes not care about the proxy set by Internet Explorer or Edge.
Continue reading Visual Studio: Set proxy server for update