Select-HtmlJavaScriptVariable

August 3, 2026 ยท View on GitHub

SYNOPSIS

Selects JavaScript declarations and assignments from inline JavaScript script tags in HTML.

SYNTAX

Content (Default)

Select-HtmlJavaScriptVariable [-Content] <string> [-Name <string[]>] [-Contains] [-StartsWith] [-DeclarationOnly] [-PropertyPath <string[]>] [-Tolerant] [<CommonParameters>]

File

Select-HtmlJavaScriptVariable -Path <string> [-Name <string[]>] [-Contains] [-StartsWith] [-DeclarationOnly] [-PropertyPath <string[]>] [-Tolerant] [<CommonParameters>]

Url

Select-HtmlJavaScriptVariable -Url <uri> [-Name <string[]>] [-Contains] [-StartsWith] [-DeclarationOnly] [-PropertyPath <string[]>] [-Tolerant] [-Proxy <string>] [-ProxyCredential <pscredential>] [<CommonParameters>]

DESCRIPTION

Selects JavaScript declarations and assignments from inline JavaScript script tags in HTML.

EXAMPLES

EXAMPLE 1

$html = @'

window.$Config = {
    auth: {
        sCtx: "expected-context"
    }
};

'@

Select-HtmlJavaScriptVariable -Content $html -Name '$Config' -PropertyPath auth.sCtx

EXAMPLE 2

$html = @'

import value from "./settings.js";
window.$Config = { sCtx: "from-module" };

window.$Config = { sCtx: "from-script" };

'@

Select-HtmlJavaScriptVariable -Content $html -Name '$Config' -PropertyPath sCtx |
    Select-Object -First 1

EXAMPLE 3

$html = @'
{"name":"schema"}
$Config = { sCtx: "first" };
$Config = { sCtx: "second" };

'@

Select-HtmlJavaScriptVariable -Content $html -Name '$Config' -PropertyPath sCtx

EXAMPLE 4

$html = @'

$Config = { sCtx: "first" };

$Config = { sCtx: "second" };

'@

$values = Select-HtmlJavaScriptVariable -Content $html -Name '$Config' -PropertyPath sCtx
$values | Select-Object -First 1
$values | Select-Object -Last 1

PARAMETERS

-Contains

Matches variable names or full assignment paths that contain the provided Name values.

Type: SwitchParameter
Parameter Sets: Content, File, Url
Aliases: None
Possible values:

Required: False
Position: named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-Content

HTML content to inspect.

Type: String
Parameter Sets: Content
Aliases: None
Possible values:

Required: True
Position: 0
Default value: None
Accept pipeline input: True (ByValue, ByPropertyName)
Accept wildcard characters: False

-DeclarationOnly

Returns only variable declarations and skips loose assignment expressions.

Type: SwitchParameter
Parameter Sets: Content, File, Url
Aliases: None
Possible values:

Required: False
Position: named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-Name

Variable or assignment target names to return.

Type: String[]
Parameter Sets: Content, File, Url
Aliases: None
Possible values:

Required: False
Position: named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-Path

Path to an HTML file.

Type: String
Parameter Sets: File
Aliases: File
Possible values:

Required: True
Position: named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-PropertyPath

Returns a value from a dotted property path inside the matched JavaScript object or array literal.

Type: String[]
Parameter Sets: Content, File, Url
Aliases: None
Possible values:

Required: False
Position: named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-Proxy

Proxy server address used when downloading by URL.

Type: String
Parameter Sets: Url
Aliases: None
Possible values:

Required: False
Position: named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-ProxyCredential

Credentials used with the proxy server.

Type: PSCredential
Parameter Sets: Url
Aliases: None
Possible values:

Required: False
Position: named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-StartsWith

Matches variable names or full assignment paths that start with the provided Name values.

Type: SwitchParameter
Parameter Sets: Content, File, Url
Aliases: None
Possible values:

Required: False
Position: named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-Tolerant

Enables Acornima tolerant parsing for inline script content.

Type: SwitchParameter
Parameter Sets: Content, File, Url
Aliases: None
Possible values:

Required: False
Position: named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-Url

URL of an HTML page to download and inspect.

Type: Uri
Parameter Sets: Url
Aliases: Uri
Possible values:

Required: True
Position: named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

CommonParameters

This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.

INPUTS

  • System.String

OUTPUTS

  • System.Management.Automation.PSObject
  • None