Skip to content

Instantly share code, notes, and snippets.

@GeorgDangl
Last active April 27, 2017 20:05
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save GeorgDangl/51f2cddb57f04e2a41a47bf3fd0392be to your computer and use it in GitHub Desktop.
Save GeorgDangl/51f2cddb57f04e2a41a47bf3fd0392be to your computer and use it in GitHub Desktop.
Securely storing strings in PowerShell scripts and setting VPN Shared Secrets in Windows Server 2016
param([string]$password)
$encrypted = ConvertTo-SecureString $password -AsPlainText -Force
ConvertFrom-SecureString $encrypted
$encryptedSharedSecret = "01000000d08c9ddf0115d1118c7a00c04fc297eb01000000f770e7e4988de04f9db8cbcec32ded510000000002000000000003660000c000000010000000fd3f05c55a4b7807d77d39fd0e1ccc370000000004800000a00000001000000027f47cbc651aa6f35aaf5797c45956f628000000ae95106f8d6dfee91c8a38d79416a466ffbe5e7b91e05d45d7f719067f82f2c58d652e8352140fa214000000e6b079264adb651caf419fa4505c9c1ca4b511c0"
$secureSharedSecret = ConvertTo-SecureString $encryptedSharedSecret
$tempCredentials = New-Object -typename System.Management.Automation.PSCredential -argumentlist "NoUsername", $secureSharedSecret
$sharedSecret = $tempCredentials.GetNetworkCredential().Password
Set-VpnAuthProtocol -SharedSecret $sharedSecret -TunnelAuthProtocolsAdvertised PreSharedKey
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment