-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathConvert-URLQueryStringToHashTable.ps1
More file actions
37 lines (35 loc) · 1.18 KB
/
Convert-URLQueryStringToHashTable.ps1
File metadata and controls
37 lines (35 loc) · 1.18 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
Function Convert-URLQueryStringToHashTable {
<#
.SYNOPSIS
Convertit la query string d'une URL en hashtable
.DESCRIPTION
Récupère la querystring d'une url (partie après le ?) puis stocke dans un tableau chaque élément (nom et valeur)
.PARAMETER Url
Url à traiter
.OUTPUTS
System.Collections.Hashtable
.EXAMPLE
Convert-URLQueryStringToHashTable -Url 'https://mydomain.com/login.aspx?id=12345&name=myname&redirect=index.htm'
Name Value
---- -----
id 12345
redirect index.htm
name myname
Récupère un tableau contenant les noms et valeurs présentes dans la querystring
#>
[CmdletBinding()]
param(
[Parameter(Mandatory=$true,HelpMessage="Url")]
[ValidateNotNullOrEmpty()]
[string]$Url
)
try{
$QueryString = $Url.Split('?')[1]
if(-not $QueryString){ Return $null }
$QueryStringSplit = $QueryString.Split('&')
$QueryStringHashTable = ConvertFrom-StringData $($QueryStringSplit -join "`r`n" | Out-String)
Return $QueryStringHashTable
}catch{
throw "Appel de la fonction $($MyInvocation.MyCommand) en erreur : $_"
}
}