bin/SnsPsModule.dll-Help.xml

<?xml version="1.0" encoding="utf-8"?>
<helpItems schema="maml" xmlns="http://msh">
  <!-- Cmdlet: Clear-SnsAdAttribute -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Clear-SnsAdAttribute</command:name>
      <command:verb>Clear</command:verb>
      <command:noun>SnsAdAttribute</command:noun>
      <maml:description>
        <maml:para>Clears The Specified AD Attribute Value For The Specified AD Object.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Clears The Specified AD Attribute Value For The Specified AD Object.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: __AllParameterSets -->
      <command:syntaxItem>
        <maml:name>Clear-SnsAdAttribute</maml:name>
        <!-- Parameter: Identity -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
          <maml:name>Identity</maml:name>
          <maml:description>
            <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
            <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
            <maml:para>"DistinguishedName"</maml:para>
            <maml:para>"objectGUID"</maml:para>
            <maml:para>"objectSid"</maml:para>
            <maml:para>"AdsPath"</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Attribute -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>Attribute</maml:name>
          <maml:description>
            <maml:para>Specifies The Attribute Name Of The Attribute Which Have To Be Cleared As It Is Shown In ADSIEdit.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Attempts -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Attempts</maml:name>
          <maml:description>
            <maml:para>Specifies The Number Of Attempts That Have To Be Made To Clear The Specified Values From The Specified AD Attribute.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>3</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: DomainController -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>DomainController</maml:name>
          <maml:description>
            <maml:para>Specifies A Domain Controller Fully Qualified Domain Name.</maml:para>
            <maml:para>If Omitted The CmdLet Will Run Against The Logon Server.</maml:para>
            <maml:para>This Prevents Issues Related With AD Replication.</maml:para>
            <maml:para>In Multi Domain Forests Specifying Of Domain Controller Responsible For The AD Domain Where The AD Objects Are Located Is Required.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: Identity -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>Identity</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>ConnectionString</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>AdsPath</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>Path</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>distinguishedName</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>objectGUID</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>objectSid</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: DomainController -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>DomainController</maml:name>
        <maml:description>
          <maml:para>Specifies A Domain Controller Fully Qualified Domain Name.</maml:para>
          <maml:para>If Omitted The CmdLet Will Run Against The Logon Server.</maml:para>
          <maml:para>This Prevents Issues Related With AD Replication.</maml:para>
          <maml:para>In Multi Domain Forests Specifying Of Domain Controller Responsible For The AD Domain Where The AD Objects Are Located Is Required.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Attribute -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>Attribute</maml:name>
        <maml:description>
          <maml:para>Specifies The Attribute Name Of The Attribute Which Have To Be Cleared As It Is Shown In ADSIEdit.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Attempts -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Attempts</maml:name>
        <maml:description>
          <maml:para>Specifies The Number Of Attempts That Have To Be Made To Clear The Specified Values From The Specified AD Attribute.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>3</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues>
      <!-- OutputType: SnsAdClearAttribute -->
      <command:returnValue>
        <dev:type>
          <maml:name>SnsPsModule.SnsAdClearAttribute</maml:name>
          <maml:uri />
        </dev:type>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:title></maml:title>
      <maml:alert>
        <maml:para>AUTHOR: Svetoslav Nedyalkov Savov</maml:para>
        <maml:para>THIS CODE IS MADE AVAILABLE AS IS, WITHOUT WARRANTY OF ANY KIND. THE ENTIRE RISK</maml:para>
        <maml:para>OF THE USE OR THE RESULTS FROM THE USE OF THIS CODE REMAINS WITH THE USER.</maml:para>
        <maml:para></maml:para>
        <maml:para></maml:para>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>[SnsPsModule.SnsAdClearAttribute]$objResult = Clear-SnsAdAttribute `
-Identity "CN=Group01,OU=Groups,DC=contoso,DC=com" -Attribute "member";</dev:code>
        <dev:remarks>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <maml:relatedLinks>
      <maml:navigationLink>
        <maml:linkText> svesavov / SnsPsModule - </maml:linkText>
        <maml:uri>https://github.com/svesavov/SnsPsModule</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText> PowerShell Gallery - </maml:linkText>
        <maml:uri>https://www.powershellgallery.com/packages/SnsPsModule/</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText> Svetoslav Savov on LinkedIn - </maml:linkText>
        <maml:uri>https://www.linkedin.com/in/svetoslavsavov</maml:uri>
      </maml:navigationLink>
    </maml:relatedLinks>
  </command:command>
  <!-- Cmdlet: Get-SnsAdAttribute -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Get-SnsAdAttribute</command:name>
      <command:verb>Get</command:verb>
      <command:noun>SnsAdAttribute</command:noun>
      <maml:description>
        <maml:para>Extracts Attribute Entries From The Active Directory Schema.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Extracts Attribute Entries From The Active Directory Schema.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: Attribute -->
      <command:syntaxItem>
        <maml:name>Get-SnsAdAttribute</maml:name>
        <!-- Parameter: Attribute -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="0">
          <maml:name>Attribute</maml:name>
          <maml:description>
            <maml:para>Specifies Active Directory Attribute lDAPDisplayName.</maml:para>
            <maml:para>This Is The Attribute Name As Displayed In ADSIEdit Console.</maml:para>
            <maml:para>Accepts Star (*) As Wildcard Character.</maml:para>
            <maml:para>Question Mark (?) Is Not Accepted In LDAP Queries. https://bit.ly/2RFdUr2</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: AllAttributes -->
      <command:syntaxItem>
        <maml:name>Get-SnsAdAttribute</maml:name>
        <!-- Parameter: All -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>All</maml:name>
          <maml:description>
            <maml:para>Specifies To The CmdLet To Exctract All Attributes From AD Schema.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: Attribute -->
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="0">
        <maml:name>Attribute</maml:name>
        <maml:description>
          <maml:para>Specifies Active Directory Attribute lDAPDisplayName.</maml:para>
          <maml:para>This Is The Attribute Name As Displayed In ADSIEdit Console.</maml:para>
          <maml:para>Accepts Star (*) As Wildcard Character.</maml:para>
          <maml:para>Question Mark (?) Is Not Accepted In LDAP Queries. https://bit.ly/2RFdUr2</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: All -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>All</maml:name>
        <maml:description>
          <maml:para>Specifies To The CmdLet To Exctract All Attributes From AD Schema.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>Specifies Active Directory Attribute lDAPDisplayName.</maml:para>
          <maml:para>This Is The Attribute Name As Displayed In ADSIEdit Console.</maml:para>
          <maml:para>Accepts Star (*) As Wildcard Character.</maml:para>
          <maml:para>Question Mark (?) Is Not Accepted In LDAP Queries. https://bit.ly/2RFdUr2</maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <!-- OutputType: SnsAdAttribute -->
      <command:returnValue>
        <dev:type>
          <maml:name>SnsPsModule.SnsAdAttribute</maml:name>
          <maml:uri />
        </dev:type>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:title></maml:title>
      <maml:alert>
        <maml:para>AUTHOR: Svetoslav Nedyalkov Savov</maml:para>
        <maml:para>THIS CODE IS MADE AVAILABLE AS IS, WITHOUT WARRANTY OF ANY KIND. THE ENTIRE RISK</maml:para>
        <maml:para>OF THE USE OR THE RESULTS FROM THE USE OF THIS CODE REMAINS WITH THE USER.</maml:para>
        <maml:para></maml:para>
        <maml:para></maml:para>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>[SnsPsModule.SnsAdAttribute[]]$arrAttr = Get-SnsAdAttribute -Attribute userPrincipalName, displayName;</dev:code>
        <dev:remarks>
          <maml:para>Gets The Specified Active Directory Attributes.</maml:para>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 2 ----------</maml:title>
        <dev:code>[SnsPsModule.SnsAdAttribute[]]$arrAttr = Get-SnsAdAttribute -All;</dev:code>
        <dev:remarks>
          <maml:para>Gets All Active Directory Attributes.</maml:para>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <maml:relatedLinks>
      <maml:navigationLink>
        <maml:linkText> svesavov / SnsPsModule - </maml:linkText>
        <maml:uri>https://github.com/svesavov/SnsPsModule</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText> PowerShell Gallery - </maml:linkText>
        <maml:uri>https://www.powershellgallery.com/packages/SnsPsModule/</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText> Svetoslav Savov on LinkedIn - </maml:linkText>
        <maml:uri>https://www.linkedin.com/in/svetoslavsavov</maml:uri>
      </maml:navigationLink>
    </maml:relatedLinks>
  </command:command>
  <!-- Cmdlet: Set-SnsAdBooleanAttribute -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Set-SnsAdBooleanAttribute</command:name>
      <command:verb>Set</command:verb>
      <command:noun>SnsAdBooleanAttribute</command:noun>
      <maml:description>
        <maml:para>Sets The Specified Boolean Value In Specified AD Attribute Of Specified AD Object.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Sets The Specified Boolean Value In Specified AD Attribute Of Specified AD Object.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: __AllParameterSets -->
      <command:syntaxItem>
        <maml:name>Set-SnsAdBooleanAttribute</maml:name>
        <!-- Parameter: Identity -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
          <maml:name>Identity</maml:name>
          <maml:description>
            <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
            <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
            <maml:para>"DistinguishedName"</maml:para>
            <maml:para>"objectGUID"</maml:para>
            <maml:para>"objectSid"</maml:para>
            <maml:para>"AdsPath"</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Attribute -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>Attribute</maml:name>
          <maml:description>
            <maml:para>Specifies The Attribute Name Of The Attribute Which Have To Be Set As It Is Shown In ADSIEdit.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Value -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>Value</maml:name>
          <maml:description>
            <maml:para>Specifies The Value Which Have To Be Set On The Specified AD Attribute.</maml:para>
          </maml:description>
          <command:parameterValue required="true">bool</command:parameterValue>
          <dev:type>
            <maml:name>System.Boolean</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Attempts -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Attempts</maml:name>
          <maml:description>
            <maml:para>Specifies The Number Of Attempts That Have To Be Made To Set The Specified Values To The Specified AD Attribute.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>3</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: DomainController -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>DomainController</maml:name>
          <maml:description>
            <maml:para>Specifies A Domain Controller Fully Qualified Domain Name.</maml:para>
            <maml:para>If Omitted The CmdLet Will Run Against The Logon Server.</maml:para>
            <maml:para>This Prevents Issues Related With AD Replication.</maml:para>
            <maml:para>In Multi Domain Forests Specifying Of Domain Controller Responsible For The AD Domain Where The AD Objects Are Located Is Required.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: Identity -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>Identity</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>ConnectionString</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>AdsPath</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>Path</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>distinguishedName</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>objectGUID</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>objectSid</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: DomainController -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>DomainController</maml:name>
        <maml:description>
          <maml:para>Specifies A Domain Controller Fully Qualified Domain Name.</maml:para>
          <maml:para>If Omitted The CmdLet Will Run Against The Logon Server.</maml:para>
          <maml:para>This Prevents Issues Related With AD Replication.</maml:para>
          <maml:para>In Multi Domain Forests Specifying Of Domain Controller Responsible For The AD Domain Where The AD Objects Are Located Is Required.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Attribute -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>Attribute</maml:name>
        <maml:description>
          <maml:para>Specifies The Attribute Name Of The Attribute Which Have To Be Set As It Is Shown In ADSIEdit.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Value -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>Value</maml:name>
        <maml:description>
          <maml:para>Specifies The Value Which Have To Be Set On The Specified AD Attribute.</maml:para>
        </maml:description>
        <command:parameterValue required="true">bool</command:parameterValue>
        <dev:type>
          <maml:name>System.Boolean</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Attempts -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Attempts</maml:name>
        <maml:description>
          <maml:para>Specifies The Number Of Attempts That Have To Be Made To Set The Specified Values To The Specified AD Attribute.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>3</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues>
      <!-- OutputType: SnsAdBoolean -->
      <command:returnValue>
        <dev:type>
          <maml:name>SnsPsModule.SnsAdBoolean</maml:name>
          <maml:uri />
        </dev:type>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:title></maml:title>
      <maml:alert>
        <maml:para>AUTHOR: Svetoslav Nedyalkov Savov</maml:para>
        <maml:para>THIS CODE IS MADE AVAILABLE AS IS, WITHOUT WARRANTY OF ANY KIND. THE ENTIRE RISK</maml:para>
        <maml:para>OF THE USE OR THE RESULTS FROM THE USE OF THIS CODE REMAINS WITH THE USER.</maml:para>
        <maml:para></maml:para>
        <maml:para></maml:para>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>[SnsPsModule.SnsAdBoolean]$objResult = Set-SnsAdBooleanAttribute `
-DistinguishedName "CN=Group01,OU=Groups,DC=contoso,DC=com" `
-Attribute "msExchHideFromAddressLists" -Value $true;</dev:code>
        <dev:remarks>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <maml:relatedLinks>
      <maml:navigationLink>
        <maml:linkText> svesavov / SnsPsModule - </maml:linkText>
        <maml:uri>https://github.com/svesavov/SnsPsModule</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText> PowerShell Gallery - </maml:linkText>
        <maml:uri>https://www.powershellgallery.com/packages/SnsPsModule/</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText> Svetoslav Savov on LinkedIn - </maml:linkText>
        <maml:uri>https://www.linkedin.com/in/svetoslavsavov</maml:uri>
      </maml:navigationLink>
    </maml:relatedLinks>
  </command:command>
  <!-- Cmdlet: Set-SnsAdByteAttribute -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Set-SnsAdByteAttribute</command:name>
      <command:verb>Set</command:verb>
      <command:noun>SnsAdByteAttribute</command:noun>
      <maml:description>
        <maml:para>Sets The Specified Byte[] Value In Specified AD Attribute Of Specified AD Object.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Sets The Specified Byte[] Value In Specified AD Attribute Of Specified AD Object.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: __AllParameterSets -->
      <command:syntaxItem>
        <maml:name>Set-SnsAdByteAttribute</maml:name>
        <!-- Parameter: Identity -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
          <maml:name>Identity</maml:name>
          <maml:description>
            <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
            <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
            <maml:para>"DistinguishedName"</maml:para>
            <maml:para>"objectGUID"</maml:para>
            <maml:para>"objectSid"</maml:para>
            <maml:para>"AdsPath"</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Attribute -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>Attribute</maml:name>
          <maml:description>
            <maml:para>Specifies The Attribute Name Of The Attribute Which Have To Be Set As It Is Shown In ADSIEdit.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Value -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>Value</maml:name>
          <maml:description>
            <maml:para>Specifies The Value Which Have To Be Set On The Specified AD Attribute.</maml:para>
          </maml:description>
          <command:parameterValue required="true">byte[]</command:parameterValue>
          <dev:type>
            <maml:name>System.Byte[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Attempts -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Attempts</maml:name>
          <maml:description>
            <maml:para>Specifies The Number Of Attempts That Have To Be Made To Set The Specified Values To The Specified AD Attribute.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>3</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: DomainController -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>DomainController</maml:name>
          <maml:description>
            <maml:para>Specifies A Domain Controller Fully Qualified Domain Name.</maml:para>
            <maml:para>If Omitted The CmdLet Will Run Against The Logon Server.</maml:para>
            <maml:para>This Prevents Issues Related With AD Replication.</maml:para>
            <maml:para>In Multi Domain Forests Specifying Of Domain Controller Responsible For The AD Domain Where The AD Objects Are Located Is Required.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: Identity -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>Identity</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>ConnectionString</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>AdsPath</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>Path</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>distinguishedName</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>objectGUID</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>objectSid</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: DomainController -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>DomainController</maml:name>
        <maml:description>
          <maml:para>Specifies A Domain Controller Fully Qualified Domain Name.</maml:para>
          <maml:para>If Omitted The CmdLet Will Run Against The Logon Server.</maml:para>
          <maml:para>This Prevents Issues Related With AD Replication.</maml:para>
          <maml:para>In Multi Domain Forests Specifying Of Domain Controller Responsible For The AD Domain Where The AD Objects Are Located Is Required.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Attribute -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>Attribute</maml:name>
        <maml:description>
          <maml:para>Specifies The Attribute Name Of The Attribute Which Have To Be Set As It Is Shown In ADSIEdit.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Value -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>Value</maml:name>
        <maml:description>
          <maml:para>Specifies The Value Which Have To Be Set On The Specified AD Attribute.</maml:para>
        </maml:description>
        <command:parameterValue required="true">byte[]</command:parameterValue>
        <dev:type>
          <maml:name>System.Byte[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Attempts -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Attempts</maml:name>
        <maml:description>
          <maml:para>Specifies The Number Of Attempts That Have To Be Made To Set The Specified Values To The Specified AD Attribute.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>3</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues>
      <!-- OutputType: SnsAdByte -->
      <command:returnValue>
        <dev:type>
          <maml:name>SnsPsModule.SnsAdByte</maml:name>
          <maml:uri />
        </dev:type>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:title></maml:title>
      <maml:alert>
        <maml:para>AUTHOR: Svetoslav Nedyalkov Savov</maml:para>
        <maml:para>THIS CODE IS MADE AVAILABLE AS IS, WITHOUT WARRANTY OF ANY KIND. THE ENTIRE RISK</maml:para>
        <maml:para>OF THE USE OR THE RESULTS FROM THE USE OF THIS CODE REMAINS WITH THE USER.</maml:para>
        <maml:para></maml:para>
        <maml:para></maml:para>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>[SnsPsModule.SnsAdByte]$objResult = Set-SnsAdByteAttribute `
-Identity "CN=John Smith,OU=Users,DC=contoso,DC=com" -Attribute "mS-DS-ConsistencyGuid" `
-Value ([GUID]"6546398f-6416-4ac7-9857-9a3a2914edf1").ToByteArray();</dev:code>
        <dev:remarks>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <maml:relatedLinks>
      <maml:navigationLink>
        <maml:linkText> svesavov / SnsPsModule - </maml:linkText>
        <maml:uri>https://github.com/svesavov/SnsPsModule</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText> PowerShell Gallery - </maml:linkText>
        <maml:uri>https://www.powershellgallery.com/packages/SnsPsModule/</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText> Svetoslav Savov on LinkedIn - </maml:linkText>
        <maml:uri>https://www.linkedin.com/in/svetoslavsavov</maml:uri>
      </maml:navigationLink>
    </maml:relatedLinks>
  </command:command>
  <!-- Cmdlet: Add-SnsAdGroupMember -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Add-SnsAdGroupMember</command:name>
      <command:verb>Add</command:verb>
      <command:noun>SnsAdGroupMember</command:noun>
      <maml:description>
        <maml:para>Adds Specified Members To Specified AD Group.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Adds Specified Members To Specified AD Group.</maml:para>
      <maml:para>Within Active Directory Exists A Threshold Related With The Number Of Values That Can Be Retrieved From A Single Attribute. That Threshold Depends From The Domain And The Forest Functional Level At The Time When The First Domain Controller Was Promoted. With The Consequent Elevation Of The Domain And The Forest Functional Level The Threshold Remains Intact And Not Modified.</maml:para>
      <maml:para>In Order To Avoid That Limitation Whenever A Group Contains Large Number Of Members, The CmdLet Performs The Verification Via Evaluating The Members "memberOf" Attribute. Although It Is Multivalued Attribute As Well And Is Affected By The Same Limitation, The Possibility A User To Be Member Of That Many Groups Is Not Likely. Moreover The Users Access Token Will Break Because Of The Large Number Of Groups Long Before The Limitation About Number Of Displayed Values To Be Reached. For Example For The Forests Initially Built With Windows 2000 The Limitation Is 1000. So It Is Likely To Have Groups With More Than 1000 Members, But It Is Not Likely To Have A User Member Of That Many Groups.</maml:para>
      <maml:para>Verification Of The Groups Adding Via Evaluation Of The Added Object "memberOf" Attribute Introduce Some Limitations As Well. The CmdLet Needs To Perform More Queries Against The Active Directory And Need To Handle More Data, Which Means That From Performance Perspective It Is Slower In Relation With The Other CmdLets. Additionally The Verification Might Not Work As Expected Whenever A User From One Domain In A Forest Is Added To A Group Located In Different Domain In The Same Forest.</maml:para>
      <maml:para>In The Cases When Is Need To Manage The Group Membership Of Groups With Small Number Of Members Is Preferable To Be Used "Add-SnsAdMultiValuedStringAttributeValue" CmdLet Against The Group Object And Attribute "member". This Applies As Well For The Scenarios Whenever The Added Member Is From Different Domain Than The Managed Group.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: __AllParameterSets -->
      <command:syntaxItem>
        <maml:name>Add-SnsAdGroupMember</maml:name>
        <!-- Parameter: GroupIdentity -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="GroupConnectionString,GroupAdsPath,GroupPath,GroupDistinguishedName,GroupObjectGUID,GroupObjectSid">
          <maml:name>GroupIdentity</maml:name>
          <maml:description>
            <maml:para>Specifies The Identity Of AD Group To Be Modified.</maml:para>
            <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
            <maml:para>"DistinguishedName"</maml:para>
            <maml:para>"objectGUID"</maml:para>
            <maml:para>"objectSid"</maml:para>
            <maml:para>"AdsPath"</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: MemberIdentity -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named" aliases="MemberConnectionString,MemberAdsPath,MemberPath,MemberDistinguishedName,MemberObjectGUID,MemberObjectSid">
          <maml:name>MemberIdentity</maml:name>
          <maml:description>
            <maml:para>Specifies The Identity Of An AD Object To Be Added As Member Into The Specified Group.</maml:para>
            <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
            <maml:para>"DistinguishedName"</maml:para>
            <maml:para>"objectGUID"</maml:para>
            <maml:para>"objectSid"</maml:para>
            <maml:para>"AdsPath"</maml:para>
            <maml:para>Whenever The CmdLet Will Be Used To Add Multiple User Accounts From Different AD Domains In Multi Domain Forest Must Be Used "AdsPath" With Included Domain Controller From The Corresponding Domain Where The Specified Domain Object Is Located.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Attempts -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Attempts</maml:name>
          <maml:description>
            <maml:para>Specifies The Number Of Attempts That Have To Be Made To Set The Specified Values To The Specified AD Attribute.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>3</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: DomainController -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>DomainController</maml:name>
          <maml:description>
            <maml:para>Specifies A Domain Controller Fully Qualified Domain Name.</maml:para>
            <maml:para>If Omitted The CmdLet Will Run Against The Logon Server.</maml:para>
            <maml:para>This Prevents Issues Related With AD Replication.</maml:para>
            <maml:para>In Multi Domain Forests Specifying Of Domain Controller Responsible For The AD Domain Where The AD Objects Are Located Is Required.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: MemberIdentity -->
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named" aliases="MemberConnectionString,MemberAdsPath,MemberPath,MemberDistinguishedName,MemberObjectGUID,MemberObjectSid">
        <maml:name>MemberIdentity</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An AD Object To Be Added As Member Into The Specified Group.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>Whenever The CmdLet Will Be Used To Add Multiple User Accounts From Different AD Domains In Multi Domain Forest Must Be Used "AdsPath" With Included Domain Controller From The Corresponding Domain Where The Specified Domain Object Is Located.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named" aliases="MemberConnectionString,MemberAdsPath,MemberPath,MemberDistinguishedName,MemberObjectGUID,MemberObjectSid">
        <maml:name>MemberConnectionString</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An AD Object To Be Added As Member Into The Specified Group.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>Whenever The CmdLet Will Be Used To Add Multiple User Accounts From Different AD Domains In Multi Domain Forest Must Be Used "AdsPath" With Included Domain Controller From The Corresponding Domain Where The Specified Domain Object Is Located.</maml:para>
          <maml:para>This is an alias of the MemberIdentity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named" aliases="MemberConnectionString,MemberAdsPath,MemberPath,MemberDistinguishedName,MemberObjectGUID,MemberObjectSid">
        <maml:name>MemberAdsPath</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An AD Object To Be Added As Member Into The Specified Group.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>Whenever The CmdLet Will Be Used To Add Multiple User Accounts From Different AD Domains In Multi Domain Forest Must Be Used "AdsPath" With Included Domain Controller From The Corresponding Domain Where The Specified Domain Object Is Located.</maml:para>
          <maml:para>This is an alias of the MemberIdentity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named" aliases="MemberConnectionString,MemberAdsPath,MemberPath,MemberDistinguishedName,MemberObjectGUID,MemberObjectSid">
        <maml:name>MemberPath</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An AD Object To Be Added As Member Into The Specified Group.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>Whenever The CmdLet Will Be Used To Add Multiple User Accounts From Different AD Domains In Multi Domain Forest Must Be Used "AdsPath" With Included Domain Controller From The Corresponding Domain Where The Specified Domain Object Is Located.</maml:para>
          <maml:para>This is an alias of the MemberIdentity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named" aliases="MemberConnectionString,MemberAdsPath,MemberPath,MemberDistinguishedName,MemberObjectGUID,MemberObjectSid">
        <maml:name>MemberDistinguishedName</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An AD Object To Be Added As Member Into The Specified Group.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>Whenever The CmdLet Will Be Used To Add Multiple User Accounts From Different AD Domains In Multi Domain Forest Must Be Used "AdsPath" With Included Domain Controller From The Corresponding Domain Where The Specified Domain Object Is Located.</maml:para>
          <maml:para>This is an alias of the MemberIdentity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named" aliases="MemberConnectionString,MemberAdsPath,MemberPath,MemberDistinguishedName,MemberObjectGUID,MemberObjectSid">
        <maml:name>MemberObjectGUID</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An AD Object To Be Added As Member Into The Specified Group.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>Whenever The CmdLet Will Be Used To Add Multiple User Accounts From Different AD Domains In Multi Domain Forest Must Be Used "AdsPath" With Included Domain Controller From The Corresponding Domain Where The Specified Domain Object Is Located.</maml:para>
          <maml:para>This is an alias of the MemberIdentity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named" aliases="MemberConnectionString,MemberAdsPath,MemberPath,MemberDistinguishedName,MemberObjectGUID,MemberObjectSid">
        <maml:name>MemberObjectSid</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An AD Object To Be Added As Member Into The Specified Group.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>Whenever The CmdLet Will Be Used To Add Multiple User Accounts From Different AD Domains In Multi Domain Forest Must Be Used "AdsPath" With Included Domain Controller From The Corresponding Domain Where The Specified Domain Object Is Located.</maml:para>
          <maml:para>This is an alias of the MemberIdentity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: GroupIdentity -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="GroupConnectionString,GroupAdsPath,GroupPath,GroupDistinguishedName,GroupObjectGUID,GroupObjectSid">
        <maml:name>GroupIdentity</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of AD Group To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="GroupConnectionString,GroupAdsPath,GroupPath,GroupDistinguishedName,GroupObjectGUID,GroupObjectSid">
        <maml:name>GroupConnectionString</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of AD Group To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the GroupIdentity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="GroupConnectionString,GroupAdsPath,GroupPath,GroupDistinguishedName,GroupObjectGUID,GroupObjectSid">
        <maml:name>GroupAdsPath</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of AD Group To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the GroupIdentity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="GroupConnectionString,GroupAdsPath,GroupPath,GroupDistinguishedName,GroupObjectGUID,GroupObjectSid">
        <maml:name>GroupPath</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of AD Group To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the GroupIdentity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="GroupConnectionString,GroupAdsPath,GroupPath,GroupDistinguishedName,GroupObjectGUID,GroupObjectSid">
        <maml:name>GroupDistinguishedName</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of AD Group To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the GroupIdentity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="GroupConnectionString,GroupAdsPath,GroupPath,GroupDistinguishedName,GroupObjectGUID,GroupObjectSid">
        <maml:name>GroupObjectGUID</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of AD Group To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the GroupIdentity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="GroupConnectionString,GroupAdsPath,GroupPath,GroupDistinguishedName,GroupObjectGUID,GroupObjectSid">
        <maml:name>GroupObjectSid</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of AD Group To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the GroupIdentity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: DomainController -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>DomainController</maml:name>
        <maml:description>
          <maml:para>Specifies A Domain Controller Fully Qualified Domain Name.</maml:para>
          <maml:para>If Omitted The CmdLet Will Run Against The Logon Server.</maml:para>
          <maml:para>This Prevents Issues Related With AD Replication.</maml:para>
          <maml:para>In Multi Domain Forests Specifying Of Domain Controller Responsible For The AD Domain Where The AD Objects Are Located Is Required.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Attempts -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Attempts</maml:name>
        <maml:description>
          <maml:para>Specifies The Number Of Attempts That Have To Be Made To Set The Specified Values To The Specified AD Attribute.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>3</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>Specifies The Identity Of An AD Object To Be Added As Member Into The Specified Group.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>Whenever The CmdLet Will Be Used To Add Multiple User Accounts From Different AD Domains In Multi Domain Forest Must Be Used "AdsPath" With Included Domain Controller From The Corresponding Domain Where The Specified Domain Object Is Located.</maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <!-- OutputType: SnsAdGroupMember -->
      <command:returnValue>
        <dev:type>
          <maml:name>SnsPsModule.SnsAdGroupMember</maml:name>
          <maml:uri />
        </dev:type>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:title></maml:title>
      <maml:alert>
        <maml:para>AUTHOR: Svetoslav Nedyalkov Savov</maml:para>
        <maml:para>THIS CODE IS MADE AVAILABLE AS IS, WITHOUT WARRANTY OF ANY KIND. THE ENTIRE RISK</maml:para>
        <maml:para>OF THE USE OR THE RESULTS FROM THE USE OF THIS CODE REMAINS WITH THE USER.</maml:para>
        <maml:para></maml:para>
        <maml:para></maml:para>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>[SnsPsModule.SnsAdGroupMember]$objResult = Add-SnsAdGroupMember `
-GroupIdentity "CN=Group01,OU=Groups,DC=contoso,DC=com" `
-MemberIdentity "CN=John Smith,OU=Users,DC=contoso,DC=com";</dev:code>
        <dev:remarks>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <maml:relatedLinks>
      <maml:navigationLink>
        <maml:linkText> svesavov / SnsPsModule - </maml:linkText>
        <maml:uri>https://github.com/svesavov/SnsPsModule</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText> PowerShell Gallery - </maml:linkText>
        <maml:uri>https://www.powershellgallery.com/packages/SnsPsModule/</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText> Svetoslav Savov on LinkedIn - </maml:linkText>
        <maml:uri>https://www.linkedin.com/in/svetoslavsavov</maml:uri>
      </maml:navigationLink>
    </maml:relatedLinks>
  </command:command>
  <!-- Cmdlet: Remove-SnsAdGroupMember -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Remove-SnsAdGroupMember</command:name>
      <command:verb>Remove</command:verb>
      <command:noun>SnsAdGroupMember</command:noun>
      <maml:description>
        <maml:para>Removes The Specified AD Group Members From The Specified AD Group.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Removes The Specified AD Group Members From The Specified AD Group.</maml:para>
      <maml:para>Within Active Directory Exists A Threshold Related With The Number Of Values That Can Be Retrieved From A Single Attribute. That Threshold Depends From The Domain And The Forest Functional Level At The Time When The First Domain Controller Was Promoted. With The Consequent Elevation Of The Domain And The Forest Functional Level The Threshold Remains Intact And Not Modified.</maml:para>
      <maml:para>In Order To Avoid That Limitation Whenever A Group Contains Large Number Of Members, The CmdLet Performs The Verification Via Evaluating The Members "memberOf" Attribute. Although It Is Multivalued Attribute As Well And Is Affected By The Same Limitation, The Possibility A User To Be Member Of That Many Groups Is Not Likely. Moreover The Users Access Token Will Break Because Of The Large Number Of Groups Long Before The Limitation About Number Of Displayed Values To Be Reached. For Example For The Forests Initially Built With Windows 2000 The Limitation Is 1000. So It Is Likely To Have Groups With More Than 1000 Members, But It Is Not Likely To Have A User Member Of That Many Groups.</maml:para>
      <maml:para>Verification Of The Groups Members Removal Via Evaluation Of The Removed Object "memberOf" Attribute Introduce Some Limitations As Well. The CmdLet Needs To Perform More Queries Against The Active Directory And Need To Handle More Data, Which Means That From Performance Perspective It Is Slower In Relation With The Other CmdLets. Additionally The Verification Might Not Work As Expected Whenever A User From One Domain In A Forest Is Removed From A Group Located In Different Domain In The Same Forest.</maml:para>
      <maml:para>In The Cases When Is Need To Manage The Group Membership Of Groups With Small Number Of Members Is Preferable To Be Used "Remove-SnsAdMultiValuedStringAttributeValue" CmdLet Against The Group Object And Attribute "member". This Applies As Well For The Scenarios Whenever The Removed Member Is From Different Domain Than The Managed Group.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: __AllParameterSets -->
      <command:syntaxItem>
        <maml:name>Remove-SnsAdGroupMember</maml:name>
        <!-- Parameter: GroupIdentity -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="GroupConnectionString,GroupAdsPath,GroupPath,GroupDistinguishedName,GroupObjectGUID,GroupObjectSid">
          <maml:name>GroupIdentity</maml:name>
          <maml:description>
            <maml:para>Specifies The Identity Of AD Group To Be Modified.</maml:para>
            <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
            <maml:para>"DistinguishedName"</maml:para>
            <maml:para>"objectGUID"</maml:para>
            <maml:para>"objectSid"</maml:para>
            <maml:para>"AdsPath"</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: MemberIdentity -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named" aliases="MemberConnectionString,MemberAdsPath,MemberPath,MemberDistinguishedName,MemberObjectGUID,MemberObjectSid">
          <maml:name>MemberIdentity</maml:name>
          <maml:description>
            <maml:para>Specifies The Identity Of An AD Object To Be Removed As Member From The Specified Group.</maml:para>
            <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
            <maml:para>"DistinguishedName"</maml:para>
            <maml:para>"objectGUID"</maml:para>
            <maml:para>"objectSid"</maml:para>
            <maml:para>"AdsPath"</maml:para>
            <maml:para>Whenever The CmdLet Will Be Used To Add Multiple User Accounts From Different AD Domains In Multi Domain Forest Must Be Used "AdsPath" With Included Domain Controller From The Corresponding Domain Where The Specified Domain Object Is Located.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Attempts -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Attempts</maml:name>
          <maml:description>
            <maml:para>Specifies The Number Of Attempts That Have To Be Made To Set The Specified Values To The Specified AD Attribute.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>3</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: DomainController -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>DomainController</maml:name>
          <maml:description>
            <maml:para>Specifies A Domain Controller Fully Qualified Domain Name.</maml:para>
            <maml:para>If Omitted The CmdLet Will Run Against The Logon Server.</maml:para>
            <maml:para>This Prevents Issues Related With AD Replication.</maml:para>
            <maml:para>In Multi Domain Forests Specifying Of Domain Controller Responsible For The AD Domain Where The AD Objects Are Located Is Required.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: MemberIdentity -->
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named" aliases="MemberConnectionString,MemberAdsPath,MemberPath,MemberDistinguishedName,MemberObjectGUID,MemberObjectSid">
        <maml:name>MemberIdentity</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An AD Object To Be Removed As Member From The Specified Group.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>Whenever The CmdLet Will Be Used To Add Multiple User Accounts From Different AD Domains In Multi Domain Forest Must Be Used "AdsPath" With Included Domain Controller From The Corresponding Domain Where The Specified Domain Object Is Located.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named" aliases="MemberConnectionString,MemberAdsPath,MemberPath,MemberDistinguishedName,MemberObjectGUID,MemberObjectSid">
        <maml:name>MemberConnectionString</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An AD Object To Be Removed As Member From The Specified Group.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>Whenever The CmdLet Will Be Used To Add Multiple User Accounts From Different AD Domains In Multi Domain Forest Must Be Used "AdsPath" With Included Domain Controller From The Corresponding Domain Where The Specified Domain Object Is Located.</maml:para>
          <maml:para>This is an alias of the MemberIdentity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named" aliases="MemberConnectionString,MemberAdsPath,MemberPath,MemberDistinguishedName,MemberObjectGUID,MemberObjectSid">
        <maml:name>MemberAdsPath</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An AD Object To Be Removed As Member From The Specified Group.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>Whenever The CmdLet Will Be Used To Add Multiple User Accounts From Different AD Domains In Multi Domain Forest Must Be Used "AdsPath" With Included Domain Controller From The Corresponding Domain Where The Specified Domain Object Is Located.</maml:para>
          <maml:para>This is an alias of the MemberIdentity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named" aliases="MemberConnectionString,MemberAdsPath,MemberPath,MemberDistinguishedName,MemberObjectGUID,MemberObjectSid">
        <maml:name>MemberPath</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An AD Object To Be Removed As Member From The Specified Group.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>Whenever The CmdLet Will Be Used To Add Multiple User Accounts From Different AD Domains In Multi Domain Forest Must Be Used "AdsPath" With Included Domain Controller From The Corresponding Domain Where The Specified Domain Object Is Located.</maml:para>
          <maml:para>This is an alias of the MemberIdentity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named" aliases="MemberConnectionString,MemberAdsPath,MemberPath,MemberDistinguishedName,MemberObjectGUID,MemberObjectSid">
        <maml:name>MemberDistinguishedName</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An AD Object To Be Removed As Member From The Specified Group.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>Whenever The CmdLet Will Be Used To Add Multiple User Accounts From Different AD Domains In Multi Domain Forest Must Be Used "AdsPath" With Included Domain Controller From The Corresponding Domain Where The Specified Domain Object Is Located.</maml:para>
          <maml:para>This is an alias of the MemberIdentity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named" aliases="MemberConnectionString,MemberAdsPath,MemberPath,MemberDistinguishedName,MemberObjectGUID,MemberObjectSid">
        <maml:name>MemberObjectGUID</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An AD Object To Be Removed As Member From The Specified Group.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>Whenever The CmdLet Will Be Used To Add Multiple User Accounts From Different AD Domains In Multi Domain Forest Must Be Used "AdsPath" With Included Domain Controller From The Corresponding Domain Where The Specified Domain Object Is Located.</maml:para>
          <maml:para>This is an alias of the MemberIdentity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named" aliases="MemberConnectionString,MemberAdsPath,MemberPath,MemberDistinguishedName,MemberObjectGUID,MemberObjectSid">
        <maml:name>MemberObjectSid</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An AD Object To Be Removed As Member From The Specified Group.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>Whenever The CmdLet Will Be Used To Add Multiple User Accounts From Different AD Domains In Multi Domain Forest Must Be Used "AdsPath" With Included Domain Controller From The Corresponding Domain Where The Specified Domain Object Is Located.</maml:para>
          <maml:para>This is an alias of the MemberIdentity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: GroupIdentity -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="GroupConnectionString,GroupAdsPath,GroupPath,GroupDistinguishedName,GroupObjectGUID,GroupObjectSid">
        <maml:name>GroupIdentity</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of AD Group To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="GroupConnectionString,GroupAdsPath,GroupPath,GroupDistinguishedName,GroupObjectGUID,GroupObjectSid">
        <maml:name>GroupConnectionString</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of AD Group To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the GroupIdentity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="GroupConnectionString,GroupAdsPath,GroupPath,GroupDistinguishedName,GroupObjectGUID,GroupObjectSid">
        <maml:name>GroupAdsPath</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of AD Group To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the GroupIdentity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="GroupConnectionString,GroupAdsPath,GroupPath,GroupDistinguishedName,GroupObjectGUID,GroupObjectSid">
        <maml:name>GroupPath</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of AD Group To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the GroupIdentity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="GroupConnectionString,GroupAdsPath,GroupPath,GroupDistinguishedName,GroupObjectGUID,GroupObjectSid">
        <maml:name>GroupDistinguishedName</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of AD Group To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the GroupIdentity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="GroupConnectionString,GroupAdsPath,GroupPath,GroupDistinguishedName,GroupObjectGUID,GroupObjectSid">
        <maml:name>GroupObjectGUID</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of AD Group To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the GroupIdentity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="GroupConnectionString,GroupAdsPath,GroupPath,GroupDistinguishedName,GroupObjectGUID,GroupObjectSid">
        <maml:name>GroupObjectSid</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of AD Group To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the GroupIdentity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: DomainController -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>DomainController</maml:name>
        <maml:description>
          <maml:para>Specifies A Domain Controller Fully Qualified Domain Name.</maml:para>
          <maml:para>If Omitted The CmdLet Will Run Against The Logon Server.</maml:para>
          <maml:para>This Prevents Issues Related With AD Replication.</maml:para>
          <maml:para>In Multi Domain Forests Specifying Of Domain Controller Responsible For The AD Domain Where The AD Objects Are Located Is Required.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Attempts -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Attempts</maml:name>
        <maml:description>
          <maml:para>Specifies The Number Of Attempts That Have To Be Made To Set The Specified Values To The Specified AD Attribute.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>3</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>Specifies The Identity Of An AD Object To Be Removed As Member From The Specified Group.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>Whenever The CmdLet Will Be Used To Add Multiple User Accounts From Different AD Domains In Multi Domain Forest Must Be Used "AdsPath" With Included Domain Controller From The Corresponding Domain Where The Specified Domain Object Is Located.</maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <!-- OutputType: SnsAdGroupMember -->
      <command:returnValue>
        <dev:type>
          <maml:name>SnsPsModule.SnsAdGroupMember</maml:name>
          <maml:uri />
        </dev:type>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:title></maml:title>
      <maml:alert>
        <maml:para>AUTHOR: Svetoslav Nedyalkov Savov</maml:para>
        <maml:para>THIS CODE IS MADE AVAILABLE AS IS, WITHOUT WARRANTY OF ANY KIND. THE ENTIRE RISK</maml:para>
        <maml:para>OF THE USE OR THE RESULTS FROM THE USE OF THIS CODE REMAINS WITH THE USER.</maml:para>
        <maml:para></maml:para>
        <maml:para></maml:para>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>[SnsPsModule.SnsAdGroupMember]$objResult = Remove-SnsAdGroupMember `
-GroupIdentity "CN=Group01,OU=Groups,DC=contoso,DC=com" `
-MemberIdentity "CN=John Smith,OU=Users,DC=contoso,DC=com";</dev:code>
        <dev:remarks>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <maml:relatedLinks>
      <maml:navigationLink>
        <maml:linkText> svesavov / SnsPsModule - </maml:linkText>
        <maml:uri>https://github.com/svesavov/SnsPsModule</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText> PowerShell Gallery - </maml:linkText>
        <maml:uri>https://www.powershellgallery.com/packages/SnsPsModule/</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText> Svetoslav Savov on LinkedIn - </maml:linkText>
        <maml:uri>https://www.linkedin.com/in/svetoslavsavov</maml:uri>
      </maml:navigationLink>
    </maml:relatedLinks>
  </command:command>
  <!-- Cmdlet: Set-SnsAdIadsiLargeIntegerAttribute -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Set-SnsAdIadsiLargeIntegerAttribute</command:name>
      <command:verb>Set</command:verb>
      <command:noun>SnsAdIadsiLargeIntegerAttribute</command:noun>
      <maml:description>
        <maml:para>Sets The Specified Int64 Value On Specified AD Attribute Of Specified AD Object.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Sets The Specified Int64 Value On Specified AD Attribute Of Specified AD Object.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: __AllParameterSets -->
      <command:syntaxItem>
        <maml:name>Set-SnsAdIadsiLargeIntegerAttribute</maml:name>
        <!-- Parameter: Identity -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
          <maml:name>Identity</maml:name>
          <maml:description>
            <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
            <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
            <maml:para>"DistinguishedName"</maml:para>
            <maml:para>"objectGUID"</maml:para>
            <maml:para>"objectSid"</maml:para>
            <maml:para>"AdsPath"</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Attribute -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>Attribute</maml:name>
          <maml:description>
            <maml:para>Specifies The Attribute Name Of The Attribute Which Have To Be Set As It Is Shown In ADSIEdit.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Value -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>Value</maml:name>
          <maml:description>
            <maml:para>Specifies The Value Which Have To Be Set On The Specified AD Attribute.</maml:para>
          </maml:description>
          <command:parameterValue required="true">long</command:parameterValue>
          <dev:type>
            <maml:name>System.Int64</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Attempts -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Attempts</maml:name>
          <maml:description>
            <maml:para>Specifies The Number Of Attempts That Have To Be Made To Set The Specified Values To The Specified AD Attribute.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>3</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: DomainController -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>DomainController</maml:name>
          <maml:description>
            <maml:para>Specifies A Domain Controller Fully Qualified Domain Name.</maml:para>
            <maml:para>If Omitted The CmdLet Will Run Against The Logon Server.</maml:para>
            <maml:para>This Prevents Issues Related With AD Replication.</maml:para>
            <maml:para>In Multi Domain Forests Specifying Of Domain Controller Responsible For The AD Domain Where The AD Objects Are Located Is Required.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: Identity -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>Identity</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>ConnectionString</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>AdsPath</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>Path</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>distinguishedName</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>objectGUID</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>objectSid</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: DomainController -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>DomainController</maml:name>
        <maml:description>
          <maml:para>Specifies A Domain Controller Fully Qualified Domain Name.</maml:para>
          <maml:para>If Omitted The CmdLet Will Run Against The Logon Server.</maml:para>
          <maml:para>This Prevents Issues Related With AD Replication.</maml:para>
          <maml:para>In Multi Domain Forests Specifying Of Domain Controller Responsible For The AD Domain Where The AD Objects Are Located Is Required.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Attribute -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>Attribute</maml:name>
        <maml:description>
          <maml:para>Specifies The Attribute Name Of The Attribute Which Have To Be Set As It Is Shown In ADSIEdit.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Value -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>Value</maml:name>
        <maml:description>
          <maml:para>Specifies The Value Which Have To Be Set On The Specified AD Attribute.</maml:para>
        </maml:description>
        <command:parameterValue required="true">long</command:parameterValue>
        <dev:type>
          <maml:name>System.Int64</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>0</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Attempts -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Attempts</maml:name>
        <maml:description>
          <maml:para>Specifies The Number Of Attempts That Have To Be Made To Set The Specified Values To The Specified AD Attribute.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>3</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues>
      <!-- OutputType: SnsAdIadsiLargeInteger -->
      <command:returnValue>
        <dev:type>
          <maml:name>SnsPsModule.SnsAdIadsiLargeInteger</maml:name>
          <maml:uri />
        </dev:type>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:title></maml:title>
      <maml:alert>
        <maml:para>AUTHOR: Svetoslav Nedyalkov Savov</maml:para>
        <maml:para>THIS CODE IS MADE AVAILABLE AS IS, WITHOUT WARRANTY OF ANY KIND. THE ENTIRE RISK</maml:para>
        <maml:para>OF THE USE OR THE RESULTS FROM THE USE OF THIS CODE REMAINS WITH THE USER.</maml:para>
        <maml:para></maml:para>
        <maml:para></maml:para>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>[SnsPsModule.SnsAdIadsiLargeInteger]$objResult = Set-SnsAdIadsiLargeIntegerAttribute `
-DistinguishedName "CN=John Smith,OU=Users,DC=contoso,DC=com" `
-Attribute "msExchRecipientTypeDetails" -Value 2147483648;</dev:code>
        <dev:remarks>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <maml:relatedLinks>
      <maml:navigationLink>
        <maml:linkText> svesavov / SnsPsModule - </maml:linkText>
        <maml:uri>https://github.com/svesavov/SnsPsModule</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText> PowerShell Gallery - </maml:linkText>
        <maml:uri>https://www.powershellgallery.com/packages/SnsPsModule/</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText> Svetoslav Savov on LinkedIn - </maml:linkText>
        <maml:uri>https://www.linkedin.com/in/svetoslavsavov</maml:uri>
      </maml:navigationLink>
    </maml:relatedLinks>
  </command:command>
  <!-- Cmdlet: Set-SnsAdInt32Attribute -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Set-SnsAdInt32Attribute</command:name>
      <command:verb>Set</command:verb>
      <command:noun>SnsAdInt32Attribute</command:noun>
      <maml:description>
        <maml:para>Sets The Specified Int32 Value On Specified AD Attribute Of Specified AD Object.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Sets The Specified Int32 Value On Specified AD Attribute Of Specified AD Object.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: __AllParameterSets -->
      <command:syntaxItem>
        <maml:name>Set-SnsAdInt32Attribute</maml:name>
        <!-- Parameter: Identity -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
          <maml:name>Identity</maml:name>
          <maml:description>
            <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
            <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
            <maml:para>"DistinguishedName"</maml:para>
            <maml:para>"objectGUID"</maml:para>
            <maml:para>"objectSid"</maml:para>
            <maml:para>"AdsPath"</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Attribute -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>Attribute</maml:name>
          <maml:description>
            <maml:para>Specifies The Attribute Name Of The Attribute Which Have To Be Set As It Is Shown In ADSIEdit.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Value -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>Value</maml:name>
          <maml:description>
            <maml:para>Specifies The Value Which Have To Be Set On The Specified AD Attribute.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Attempts -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Attempts</maml:name>
          <maml:description>
            <maml:para>Specifies The Number Of Attempts That Have To Be Made To Set The Specified Values To The Specified AD Attribute.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>3</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: DomainController -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>DomainController</maml:name>
          <maml:description>
            <maml:para>Specifies A Domain Controller Fully Qualified Domain Name.</maml:para>
            <maml:para>If Omitted The CmdLet Will Run Against The Logon Server.</maml:para>
            <maml:para>This Prevents Issues Related With AD Replication.</maml:para>
            <maml:para>In Multi Domain Forests Specifying Of Domain Controller Responsible For The AD Domain Where The AD Objects Are Located Is Required.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: Identity -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>Identity</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>ConnectionString</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>AdsPath</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>Path</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>distinguishedName</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>objectGUID</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>objectSid</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: DomainController -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>DomainController</maml:name>
        <maml:description>
          <maml:para>Specifies A Domain Controller Fully Qualified Domain Name.</maml:para>
          <maml:para>If Omitted The CmdLet Will Run Against The Logon Server.</maml:para>
          <maml:para>This Prevents Issues Related With AD Replication.</maml:para>
          <maml:para>In Multi Domain Forests Specifying Of Domain Controller Responsible For The AD Domain Where The AD Objects Are Located Is Required.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Attribute -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>Attribute</maml:name>
        <maml:description>
          <maml:para>Specifies The Attribute Name Of The Attribute Which Have To Be Set As It Is Shown In ADSIEdit.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Value -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>Value</maml:name>
        <maml:description>
          <maml:para>Specifies The Value Which Have To Be Set On The Specified AD Attribute.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>0</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Attempts -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Attempts</maml:name>
        <maml:description>
          <maml:para>Specifies The Number Of Attempts That Have To Be Made To Set The Specified Values To The Specified AD Attribute.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>3</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues>
      <!-- OutputType: SnsAdInt32 -->
      <command:returnValue>
        <dev:type>
          <maml:name>SnsPsModule.SnsAdInt32</maml:name>
          <maml:uri />
        </dev:type>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:title></maml:title>
      <maml:alert>
        <maml:para>AUTHOR: Svetoslav Nedyalkov Savov</maml:para>
        <maml:para>THIS CODE IS MADE AVAILABLE AS IS, WITHOUT WARRANTY OF ANY KIND. THE ENTIRE RISK</maml:para>
        <maml:para>OF THE USE OR THE RESULTS FROM THE USE OF THIS CODE REMAINS WITH THE USER.</maml:para>
        <maml:para></maml:para>
        <maml:para></maml:para>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>[SnsPsModule.SnsAdInt32]$objResult = Set-SnsAdInt32Attribute `
-Identity "CN=John Smith,OU=Users,DC=contoso,DC=com" -Attribute "userAccountControl" -Value 512;</dev:code>
        <dev:remarks>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <maml:relatedLinks>
      <maml:navigationLink>
        <maml:linkText> svesavov / SnsPsModule - </maml:linkText>
        <maml:uri>https://github.com/svesavov/SnsPsModule</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText> PowerShell Gallery - </maml:linkText>
        <maml:uri>https://www.powershellgallery.com/packages/SnsPsModule/</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText> Svetoslav Savov on LinkedIn - </maml:linkText>
        <maml:uri>https://www.linkedin.com/in/svetoslavsavov</maml:uri>
      </maml:navigationLink>
    </maml:relatedLinks>
  </command:command>
  <!-- Cmdlet: Set-SnsAdMultiValuedStringAttribute -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Set-SnsAdMultiValuedStringAttribute</command:name>
      <command:verb>Set</command:verb>
      <command:noun>SnsAdMultiValuedStringAttribute</command:noun>
      <maml:description>
        <maml:para>Sets The Specified Values On AD Object Multi Valued String Attribute While Removing Any Existing Values.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Sets The Specified Values On AD Object Multi Valued String Attribute While Removing Any Existing Values.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: __AllParameterSets -->
      <command:syntaxItem>
        <maml:name>Set-SnsAdMultiValuedStringAttribute</maml:name>
        <!-- Parameter: Identity -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
          <maml:name>Identity</maml:name>
          <maml:description>
            <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
            <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
            <maml:para>"DistinguishedName"</maml:para>
            <maml:para>"objectGUID"</maml:para>
            <maml:para>"objectSid"</maml:para>
            <maml:para>"AdsPath"</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Attribute -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>Attribute</maml:name>
          <maml:description>
            <maml:para>Specifies The Attribute Name Of The Attribute Which Have To Be Set As It Is Shown In ADSIEdit.</maml:para>
            <maml:para>Although The CmdLet Can Be Used To Set Values In Any Multi Valued String Attribute. It Is Not Good Idea To Be Used For Modifying Group Members. The Active Directory Have A Limitation Related With The Reverted Number Of Values Within An Attribute. Therefore If The Group Members Are Above The Threshold The Verification Will Fail Because The Member Will Be Not Among The Reverted Results. For That Purpose Is Preferable To Be Used The CmdLets With Noun SnsAdGroupMember From This Module.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Value -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>Value</maml:name>
          <maml:description>
            <maml:para>Specifies The Values Which Have To Be Set On The Specified Attribute.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Attempts -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Attempts</maml:name>
          <maml:description>
            <maml:para>Specifies The Number Of Attempts That Have To Be Made To Set The Specified Values To The Specified AD Attribute.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>3</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: DomainController -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>DomainController</maml:name>
          <maml:description>
            <maml:para>Specifies A Domain Controller Fully Qualified Domain Name.</maml:para>
            <maml:para>If Omitted The CmdLet Will Run Against The Logon Server.</maml:para>
            <maml:para>This Prevents Issues Related With AD Replication.</maml:para>
            <maml:para>In Multi Domain Forests Specifying Of Domain Controller Responsible For The AD Domain Where The AD Objects Are Located Is Required.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: Identity -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>Identity</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>ConnectionString</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>AdsPath</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>Path</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>distinguishedName</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>objectGUID</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>objectSid</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: DomainController -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>DomainController</maml:name>
        <maml:description>
          <maml:para>Specifies A Domain Controller Fully Qualified Domain Name.</maml:para>
          <maml:para>If Omitted The CmdLet Will Run Against The Logon Server.</maml:para>
          <maml:para>This Prevents Issues Related With AD Replication.</maml:para>
          <maml:para>In Multi Domain Forests Specifying Of Domain Controller Responsible For The AD Domain Where The AD Objects Are Located Is Required.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Attribute -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>Attribute</maml:name>
        <maml:description>
          <maml:para>Specifies The Attribute Name Of The Attribute Which Have To Be Set As It Is Shown In ADSIEdit.</maml:para>
          <maml:para>Although The CmdLet Can Be Used To Set Values In Any Multi Valued String Attribute. It Is Not Good Idea To Be Used For Modifying Group Members. The Active Directory Have A Limitation Related With The Reverted Number Of Values Within An Attribute. Therefore If The Group Members Are Above The Threshold The Verification Will Fail Because The Member Will Be Not Among The Reverted Results. For That Purpose Is Preferable To Be Used The CmdLets With Noun SnsAdGroupMember From This Module.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Value -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>Value</maml:name>
        <maml:description>
          <maml:para>Specifies The Values Which Have To Be Set On The Specified Attribute.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Attempts -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Attempts</maml:name>
        <maml:description>
          <maml:para>Specifies The Number Of Attempts That Have To Be Made To Set The Specified Values To The Specified AD Attribute.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>3</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues>
      <!-- OutputType: SnsAdMultiValuedString -->
      <command:returnValue>
        <dev:type>
          <maml:name>SnsPsModule.SnsAdMultiValuedString</maml:name>
          <maml:uri />
        </dev:type>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:title></maml:title>
      <maml:alert>
        <maml:para>AUTHOR: Svetoslav Nedyalkov Savov</maml:para>
        <maml:para>THIS CODE IS MADE AVAILABLE AS IS, WITHOUT WARRANTY OF ANY KIND. THE ENTIRE RISK</maml:para>
        <maml:para>OF THE USE OR THE RESULTS FROM THE USE OF THIS CODE REMAINS WITH THE USER.</maml:para>
        <maml:para></maml:para>
        <maml:para></maml:para>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>[SnsPsModule.SnsAdMultiValuedString]$objResult = Set-SnsAdMultiValuedStringAttribute `
-Identity "CN=Group01,OU=Groups,DC=contoso,DC=com" -Attribute "msExchExtensionCustomAttribute1" `
-Value "TestValue01", "TestValue02";</dev:code>
        <dev:remarks>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <maml:relatedLinks>
      <maml:navigationLink>
        <maml:linkText> svesavov / SnsPsModule - </maml:linkText>
        <maml:uri>https://github.com/svesavov/SnsPsModule</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText> PowerShell Gallery - </maml:linkText>
        <maml:uri>https://www.powershellgallery.com/packages/SnsPsModule/</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText> Svetoslav Savov on LinkedIn - </maml:linkText>
        <maml:uri>https://www.linkedin.com/in/svetoslavsavov</maml:uri>
      </maml:navigationLink>
    </maml:relatedLinks>
  </command:command>
  <!-- Cmdlet: Add-SnsAdMultiValuedStringAttributeValue -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Add-SnsAdMultiValuedStringAttributeValue</command:name>
      <command:verb>Add</command:verb>
      <command:noun>SnsAdMultiValuedStringAttributeValue</command:noun>
      <maml:description>
        <maml:para>Adds Values To AD Object Multi Valued String Attribute Preserving The Existing Values.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Adds Values To AD Object Multi Valued String Attribute Preserving The Existing Values.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: __AllParameterSets -->
      <command:syntaxItem>
        <maml:name>Add-SnsAdMultiValuedStringAttributeValue</maml:name>
        <!-- Parameter: Identity -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
          <maml:name>Identity</maml:name>
          <maml:description>
            <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
            <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
            <maml:para>"DistinguishedName"</maml:para>
            <maml:para>"objectGUID"</maml:para>
            <maml:para>"objectSid"</maml:para>
            <maml:para>"AdsPath"</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Attribute -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>Attribute</maml:name>
          <maml:description>
            <maml:para>Specifies The Attribute Name Of The Attribute Which Have To Be Set As It Is Shown In ADSIEdit.</maml:para>
            <maml:para>Although The CmdLet Can Be Used To Add Values To Any Multi Valued String Attribute. It Is Not Good Idea To Be Used For Adding Of Group Members. The Active Directory Have A Limitation Related With The Reverted Number Of Values Within An Attribute. Therefore If The Group Members Are Above The Threshold, The Adding Verification Will Fail Because The New Member Will Be Not Among The Reverted Results. For That Purpose Is Preferable To Be Used The CmdLets With Noun SnsAdGroupMember From This Module.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Value -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>Value</maml:name>
          <maml:description>
            <maml:para>Specifies The Members Which Have To Be Added To The Specified Attribute.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Attempts -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Attempts</maml:name>
          <maml:description>
            <maml:para>Specifies The Number Of Attempts That Have To Be Made To Set The Specified Values To The Specified AD Attribute.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>3</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: DomainController -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>DomainController</maml:name>
          <maml:description>
            <maml:para>Specifies A Domain Controller Fully Qualified Domain Name.</maml:para>
            <maml:para>If Omitted The CmdLet Will Run Against The Logon Server.</maml:para>
            <maml:para>This Prevents Issues Related With AD Replication.</maml:para>
            <maml:para>In Multi Domain Forests Specifying Of Domain Controller Responsible For The AD Domain Where The AD Objects Are Located Is Required.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: Identity -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>Identity</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>ConnectionString</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>AdsPath</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>Path</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>distinguishedName</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>objectGUID</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>objectSid</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: DomainController -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>DomainController</maml:name>
        <maml:description>
          <maml:para>Specifies A Domain Controller Fully Qualified Domain Name.</maml:para>
          <maml:para>If Omitted The CmdLet Will Run Against The Logon Server.</maml:para>
          <maml:para>This Prevents Issues Related With AD Replication.</maml:para>
          <maml:para>In Multi Domain Forests Specifying Of Domain Controller Responsible For The AD Domain Where The AD Objects Are Located Is Required.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Attribute -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>Attribute</maml:name>
        <maml:description>
          <maml:para>Specifies The Attribute Name Of The Attribute Which Have To Be Set As It Is Shown In ADSIEdit.</maml:para>
          <maml:para>Although The CmdLet Can Be Used To Add Values To Any Multi Valued String Attribute. It Is Not Good Idea To Be Used For Adding Of Group Members. The Active Directory Have A Limitation Related With The Reverted Number Of Values Within An Attribute. Therefore If The Group Members Are Above The Threshold, The Adding Verification Will Fail Because The New Member Will Be Not Among The Reverted Results. For That Purpose Is Preferable To Be Used The CmdLets With Noun SnsAdGroupMember From This Module.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Value -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>Value</maml:name>
        <maml:description>
          <maml:para>Specifies The Members Which Have To Be Added To The Specified Attribute.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Attempts -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Attempts</maml:name>
        <maml:description>
          <maml:para>Specifies The Number Of Attempts That Have To Be Made To Set The Specified Values To The Specified AD Attribute.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>3</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues>
      <!-- OutputType: SnsAdMultiValuedString -->
      <command:returnValue>
        <dev:type>
          <maml:name>SnsPsModule.SnsAdMultiValuedString</maml:name>
          <maml:uri />
        </dev:type>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:title></maml:title>
      <maml:alert>
        <maml:para>AUTHOR: Svetoslav Nedyalkov Savov</maml:para>
        <maml:para>THIS CODE IS MADE AVAILABLE AS IS, WITHOUT WARRANTY OF ANY KIND. THE ENTIRE RISK</maml:para>
        <maml:para>OF THE USE OR THE RESULTS FROM THE USE OF THIS CODE REMAINS WITH THE USER.</maml:para>
        <maml:para></maml:para>
        <maml:para></maml:para>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>[SnsPsModule.SnsAdMultiValuedString]$objResult = Add-SnsAdMultiValuedStringAttributeValue `
-Identity "CN=Group01,OU=Groups,DC=contoso,DC=com" -Attribute "msExchExtensionCustomAttribute1" `
-Value "TestValue01";</dev:code>
        <dev:remarks>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <maml:relatedLinks>
      <maml:navigationLink>
        <maml:linkText> svesavov / SnsPsModule - </maml:linkText>
        <maml:uri>https://github.com/svesavov/SnsPsModule</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText> PowerShell Gallery - </maml:linkText>
        <maml:uri>https://www.powershellgallery.com/packages/SnsPsModule/</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText> Svetoslav Savov on LinkedIn - </maml:linkText>
        <maml:uri>https://www.linkedin.com/in/svetoslavsavov</maml:uri>
      </maml:navigationLink>
    </maml:relatedLinks>
  </command:command>
  <!-- Cmdlet: Remove-SnsAdMultiValuedStringAttributeValue -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Remove-SnsAdMultiValuedStringAttributeValue</command:name>
      <command:verb>Remove</command:verb>
      <command:noun>SnsAdMultiValuedStringAttributeValue</command:noun>
      <maml:description>
        <maml:para>Removes The Specified Values From AD Object Multi Valued Attribute Preserving The Remaining Ones.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Removes The Specified Values From AD Object Multi Valued Attribute Preserving The Remaining Ones.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: __AllParameterSets -->
      <command:syntaxItem>
        <maml:name>Remove-SnsAdMultiValuedStringAttributeValue</maml:name>
        <!-- Parameter: Identity -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
          <maml:name>Identity</maml:name>
          <maml:description>
            <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
            <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
            <maml:para>"DistinguishedName"</maml:para>
            <maml:para>"objectGUID"</maml:para>
            <maml:para>"objectSid"</maml:para>
            <maml:para>"AdsPath"</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Attribute -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>Attribute</maml:name>
          <maml:description>
            <maml:para>Specifies The Attribute Name Of The Attribute Which Have To Be Set As It Is Shown In ADSIEdit.</maml:para>
            <maml:para>Although The CmdLet Can Be Used To Remove Values From Any Multi Valued String Attribute. It Is Not Good Idea To Be Used For Removing Of Group Members. The Active Directory Have A Limitation Related With The Reverted Number Of Values Within An Attribute. Therefore If The Group Members Are Above The Threshold The Removal Verification Will Be Always True Even If The CmdLet Fail Because The Member Might Not Be Among The Reverted Results. For That Purpose Is Preferable To Be Used The CmdLets With Noun SnsAdGroupMember From This Module.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Value -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>Value</maml:name>
          <maml:description>
            <maml:para>Specifies The Members Which Have To Be Removed From The Specified Attribute.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Attempts -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Attempts</maml:name>
          <maml:description>
            <maml:para>Specifies The Number Of Attempts That Have To Be Made To Set The Specified Values To The Specified AD Attribute.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>3</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: DomainController -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>DomainController</maml:name>
          <maml:description>
            <maml:para>Specifies A Domain Controller Fully Qualified Domain Name.</maml:para>
            <maml:para>If Omitted The CmdLet Will Run Against The Logon Server.</maml:para>
            <maml:para>This Prevents Issues Related With AD Replication.</maml:para>
            <maml:para>In Multi Domain Forests Specifying Of Domain Controller Responsible For The AD Domain Where The AD Objects Are Located Is Required.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: Identity -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>Identity</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>ConnectionString</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>AdsPath</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>Path</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>distinguishedName</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>objectGUID</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>objectSid</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: DomainController -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>DomainController</maml:name>
        <maml:description>
          <maml:para>Specifies A Domain Controller Fully Qualified Domain Name.</maml:para>
          <maml:para>If Omitted The CmdLet Will Run Against The Logon Server.</maml:para>
          <maml:para>This Prevents Issues Related With AD Replication.</maml:para>
          <maml:para>In Multi Domain Forests Specifying Of Domain Controller Responsible For The AD Domain Where The AD Objects Are Located Is Required.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Attribute -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>Attribute</maml:name>
        <maml:description>
          <maml:para>Specifies The Attribute Name Of The Attribute Which Have To Be Set As It Is Shown In ADSIEdit.</maml:para>
          <maml:para>Although The CmdLet Can Be Used To Remove Values From Any Multi Valued String Attribute. It Is Not Good Idea To Be Used For Removing Of Group Members. The Active Directory Have A Limitation Related With The Reverted Number Of Values Within An Attribute. Therefore If The Group Members Are Above The Threshold The Removal Verification Will Be Always True Even If The CmdLet Fail Because The Member Might Not Be Among The Reverted Results. For That Purpose Is Preferable To Be Used The CmdLets With Noun SnsAdGroupMember From This Module.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Value -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>Value</maml:name>
        <maml:description>
          <maml:para>Specifies The Members Which Have To Be Removed From The Specified Attribute.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Attempts -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Attempts</maml:name>
        <maml:description>
          <maml:para>Specifies The Number Of Attempts That Have To Be Made To Set The Specified Values To The Specified AD Attribute.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>3</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues>
      <!-- OutputType: SnsAdMultiValuedString -->
      <command:returnValue>
        <dev:type>
          <maml:name>SnsPsModule.SnsAdMultiValuedString</maml:name>
          <maml:uri />
        </dev:type>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:title></maml:title>
      <maml:alert>
        <maml:para>AUTHOR: Svetoslav Nedyalkov Savov</maml:para>
        <maml:para>THIS CODE IS MADE AVAILABLE AS IS, WITHOUT WARRANTY OF ANY KIND. THE ENTIRE RISK</maml:para>
        <maml:para>OF THE USE OR THE RESULTS FROM THE USE OF THIS CODE REMAINS WITH THE USER.</maml:para>
        <maml:para></maml:para>
        <maml:para></maml:para>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>[SnsPsModule.SnsAdMultiValuedString]$objResult = Remove-SnsAdMultiValuedStringAttributeValue `
-Identity "CN=Group01,OU=Groups,DC=contoso,DC=com" -Attribute "msExchExtensionCustomAttribute1" `
-Value "TestValue";</dev:code>
        <dev:remarks>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <maml:relatedLinks>
      <maml:navigationLink>
        <maml:linkText> svesavov / SnsPsModule - </maml:linkText>
        <maml:uri>https://github.com/svesavov/SnsPsModule</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText> PowerShell Gallery - </maml:linkText>
        <maml:uri>https://www.powershellgallery.com/packages/SnsPsModule/</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText> Svetoslav Savov on LinkedIn - </maml:linkText>
        <maml:uri>https://www.linkedin.com/in/svetoslavsavov</maml:uri>
      </maml:navigationLink>
    </maml:relatedLinks>
  </command:command>
  <!-- Cmdlet: Move-SnsAdObject -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Move-SnsAdObject</command:name>
      <command:verb>Move</command:verb>
      <command:noun>SnsAdObject</command:noun>
      <maml:description>
        <maml:para>Moves The Specified AD Object Into Specified AD Parent Container.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Moves The Specified AD Object Into Specified AD Parent Container.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: __AllParameterSets -->
      <command:syntaxItem>
        <maml:name>Move-SnsAdObject</maml:name>
        <!-- Parameter: Destination -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="DestinationUnitDN,DestinationAdUnit,DestinationUnitGuid">
          <maml:name>Destination</maml:name>
          <maml:description>
            <maml:para>Specifies The Identity Of The Of The Destination Active Directory Parent Container.</maml:para>
            <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
            <maml:para>"DistinguishedName"</maml:para>
            <maml:para>"objectGUID"</maml:para>
            <maml:para>"AdsPath"</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Identity -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
          <maml:name>Identity</maml:name>
          <maml:description>
            <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
            <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
            <maml:para>"DistinguishedName"</maml:para>
            <maml:para>"objectGUID"</maml:para>
            <maml:para>"objectSid"</maml:para>
            <maml:para>"AdsPath"</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Attempts -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Attempts</maml:name>
          <maml:description>
            <maml:para>Specifies The Number Of Attempts That Have To Be Made To Set The Specified Values To The Specified AD Attribute.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>3</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: DomainController -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>DomainController</maml:name>
          <maml:description>
            <maml:para>Specifies A Domain Controller Fully Qualified Domain Name.</maml:para>
            <maml:para>If Omitted The CmdLet Will Run Against The Logon Server.</maml:para>
            <maml:para>This Prevents Issues Related With AD Replication.</maml:para>
            <maml:para>In Multi Domain Forests Specifying Of Domain Controller Responsible For The AD Domain Where The AD Objects Are Located Is Required.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: Identity -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>Identity</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>ConnectionString</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>AdsPath</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>Path</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>distinguishedName</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>objectGUID</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>objectSid</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: DomainController -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>DomainController</maml:name>
        <maml:description>
          <maml:para>Specifies A Domain Controller Fully Qualified Domain Name.</maml:para>
          <maml:para>If Omitted The CmdLet Will Run Against The Logon Server.</maml:para>
          <maml:para>This Prevents Issues Related With AD Replication.</maml:para>
          <maml:para>In Multi Domain Forests Specifying Of Domain Controller Responsible For The AD Domain Where The AD Objects Are Located Is Required.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Destination -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="DestinationUnitDN,DestinationAdUnit,DestinationUnitGuid">
        <maml:name>Destination</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of The Of The Destination Active Directory Parent Container.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"AdsPath"</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="DestinationUnitDN,DestinationAdUnit,DestinationUnitGuid">
        <maml:name>DestinationUnitDN</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of The Of The Destination Active Directory Parent Container.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Destination parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="DestinationUnitDN,DestinationAdUnit,DestinationUnitGuid">
        <maml:name>DestinationAdUnit</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of The Of The Destination Active Directory Parent Container.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Destination parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="DestinationUnitDN,DestinationAdUnit,DestinationUnitGuid">
        <maml:name>DestinationUnitGuid</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of The Of The Destination Active Directory Parent Container.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Destination parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Attempts -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Attempts</maml:name>
        <maml:description>
          <maml:para>Specifies The Number Of Attempts That Have To Be Made To Set The Specified Values To The Specified AD Attribute.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>3</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues>
      <!-- OutputType: SnsAdMoveObject -->
      <command:returnValue>
        <dev:type>
          <maml:name>SnsPsModule.SnsAdMoveObject</maml:name>
          <maml:uri />
        </dev:type>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:title></maml:title>
      <maml:alert>
        <maml:para>AUTHOR: Svetoslav Nedyalkov Savov</maml:para>
        <maml:para>THIS CODE IS MADE AVAILABLE AS IS, WITHOUT WARRANTY OF ANY KIND. THE ENTIRE RISK</maml:para>
        <maml:para>OF THE USE OR THE RESULTS FROM THE USE OF THIS CODE REMAINS WITH THE USER.</maml:para>
        <maml:para></maml:para>
        <maml:para></maml:para>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>[SnsPsModule.SnsAdMoveObject]$objResult = Move-SnsAdObject -DomainController "DC01.contoso.com" `
-Identity "CN=John Smith,OU=Users,DC=contoso,DC=com" -Destination "OU=Disabled Users,DC=contoso,DC=com";</dev:code>
        <dev:remarks>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <maml:relatedLinks>
      <maml:navigationLink>
        <maml:linkText> svesavov / SnsPsModule - </maml:linkText>
        <maml:uri>https://github.com/svesavov/SnsPsModule</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText> PowerShell Gallery - </maml:linkText>
        <maml:uri>https://www.powershellgallery.com/packages/SnsPsModule/</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText> Svetoslav Savov on LinkedIn - </maml:linkText>
        <maml:uri>https://www.linkedin.com/in/svetoslavsavov</maml:uri>
      </maml:navigationLink>
    </maml:relatedLinks>
  </command:command>
  <!-- Cmdlet: New-SnsAdObject -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>New-SnsAdObject</command:name>
      <command:verb>New</command:verb>
      <command:noun>SnsAdObject</command:noun>
      <maml:description>
        <maml:para>Creates Active Directory Objects.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>The CmdLet Can Create:</maml:para>
      <maml:para>-- Active Directory Account.</maml:para>
      <maml:para>-- Active Directory Group.</maml:para>
      <maml:para>-- Active Directory Contact.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: user -->
      <command:syntaxItem>
        <maml:name>New-SnsAdObject</maml:name>
        <!-- Parameter: OU -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>OU</maml:name>
          <maml:description>
            <maml:para>Specifies The Identity Of The Of The New Object AD Parent Container.</maml:para>
            <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
            <maml:para>"DistinguishedName"</maml:para>
            <maml:para>"objectGUID"</maml:para>
            <maml:para>"AdsPath"</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: AdAccount -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>AdAccount</maml:name>
          <maml:description>
            <maml:para>Specifies To Be Created An AD User Account.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Attempts -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Attempts</maml:name>
          <maml:description>
            <maml:para>Specifies The Number Of Attempts That Have To Be Made To Set The Specified Values To The Specified AD Attribute.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>3</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: DisplayName -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>DisplayName</maml:name>
          <maml:description>
            <maml:para>Specifies The DisplayName Of The New AD Object.</maml:para>
            <maml:para>If Omitted And Whenever Is Applicable The DisplayName Will Be Autogenerated Via Concatenation Of The Specified FirstName And LastName.</maml:para>
            <maml:para>If Still Without Value, "DisplayName" Will Be Set, With The Value Provided In "Name" Parameter.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: DomainController -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>DomainController</maml:name>
          <maml:description>
            <maml:para>Specifies A Domain Controller Fully Qualified Domain Name.</maml:para>
            <maml:para>If Omitted The CmdLet Will Run Against The Logon Server.</maml:para>
            <maml:para>This Prevents Issues Related With AD Replication.</maml:para>
            <maml:para>In Multi Domain Forests Specifying Of Domain Controller Responsible For The AD Domain Where The AD Objects Are Located Is Required.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: FirstName -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>FirstName</maml:name>
          <maml:description>
            <maml:para>Specifies The FirstName Of The New AD Account Or Contact.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: LastName -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>LastName</maml:name>
          <maml:description>
            <maml:para>Specifies The LastName Of The New AD Account Or Contact.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Manager -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Manager</maml:name>
          <maml:description>
            <maml:para>Specifies The Manager / ManagedBy Of The New AD Object.</maml:para>
            <maml:para>As Manager / ManagedBy Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
            <maml:para>"DistinguishedName"</maml:para>
            <maml:para>"objectGUID"</maml:para>
            <maml:para>"objectSid"</maml:para>
            <maml:para>"AdsPath"</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Name -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Name</maml:name>
          <maml:description>
            <maml:para>Specifies The Name Of The New AD Object.</maml:para>
            <maml:para>If Omitted Will Be Used The Value For The DisplayName No Matter Whether It Is Specified Or Autogenerated. From The DisplayName Value Are Removed All Invalid Characters.</maml:para>
            <maml:para>For Valid Characters Are Considered:</maml:para>
            <maml:para>-- All English Alphabet Characters Capital And Lower</maml:para>
            <maml:para>-- All Numeric Characters</maml:para>
            <maml:para>-- Space ( )</maml:para>
            <maml:para>-- Dash (-)</maml:para>
            <maml:para>-- Underscore (_)</maml:para>
            <maml:para>-- Comma (,)</maml:para>
            <maml:para>-- Apostrophe (')</maml:para>
            <maml:para>-- Dot (.)</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Password -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Password</maml:name>
          <maml:description>
            <maml:para>Specifies A Password To Be Set To The New AD Account.</maml:para>
            <maml:para>If Omitted The CmdLet Will Set Random Password.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: SamAccountName -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>SamAccountName</maml:name>
          <maml:description>
            <maml:para>Specifies The sAMAccountName Of The New AD Object.</maml:para>
            <maml:para>The sAMAccountName For The AD Accounts Is Mandatory. If The Parameter Is Omitted The CmdLet Will Autogenerate It Using Name Parameter Value Replacing The Spaces With Dot (.). In Case The Autogenerated Value Is Longer Than 20 Characters Will Be Used Only The First 20 Ones.</maml:para>
            <maml:para>The sAMAccountName For The AD Groups Is Not Mandatory. If The Parameter Is Omitted The CmdLet Will Autogenerate It Using Name Parameter Value. In Case The Autogenerated Value Is Longer Than 20 Characters Will Be Used Only The First 20 Ones.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: UserPrincipalName -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>UserPrincipalName</maml:name>
          <maml:description>
            <maml:para>Specifies The UserPrincipalName (UPN) Of The New AD Account.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: group -->
      <command:syntaxItem>
        <maml:name>New-SnsAdObject</maml:name>
        <!-- Parameter: AdGroup -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>AdGroup</maml:name>
          <maml:description>
            <maml:para>Specifies To Be Created An AD Group.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: OU -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>OU</maml:name>
          <maml:description>
            <maml:para>Specifies The Identity Of The Of The New Object AD Parent Container.</maml:para>
            <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
            <maml:para>"DistinguishedName"</maml:para>
            <maml:para>"objectGUID"</maml:para>
            <maml:para>"AdsPath"</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Attempts -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Attempts</maml:name>
          <maml:description>
            <maml:para>Specifies The Number Of Attempts That Have To Be Made To Set The Specified Values To The Specified AD Attribute.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>3</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: DisplayName -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>DisplayName</maml:name>
          <maml:description>
            <maml:para>Specifies The DisplayName Of The New AD Object.</maml:para>
            <maml:para>If Omitted And Whenever Is Applicable The DisplayName Will Be Autogenerated Via Concatenation Of The Specified FirstName And LastName.</maml:para>
            <maml:para>If Still Without Value, "DisplayName" Will Be Set, With The Value Provided In "Name" Parameter.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: DomainController -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>DomainController</maml:name>
          <maml:description>
            <maml:para>Specifies A Domain Controller Fully Qualified Domain Name.</maml:para>
            <maml:para>If Omitted The CmdLet Will Run Against The Logon Server.</maml:para>
            <maml:para>This Prevents Issues Related With AD Replication.</maml:para>
            <maml:para>In Multi Domain Forests Specifying Of Domain Controller Responsible For The AD Domain Where The AD Objects Are Located Is Required.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: GroupScope -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>GroupScope</maml:name>
          <maml:description>
            <maml:para>Specifies The GroupScope Of The New AD Group.</maml:para>
            <maml:para>Possible values: Global, DomainLocal, Universal</maml:para>
          </maml:description>
          <command:parameterValue required="true">GroupScopes</command:parameterValue>
          <dev:type>
            <maml:name>SnsPsModule.GroupScopes</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>Universal</dev:defaultValue>
          <command:parameterValueGroup>
            <command:parameterValue required="false" variableLength="false">Global</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">DomainLocal</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Universal</command:parameterValue>
          </command:parameterValueGroup>
        </command:parameter>
        <!-- Parameter: GroupType -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>GroupType</maml:name>
          <maml:description>
            <maml:para>Specifies The GroupType Of The New AD Group.</maml:para>
            <maml:para>Possible values: Distribution, Security</maml:para>
          </maml:description>
          <command:parameterValue required="true">GroupTypes</command:parameterValue>
          <dev:type>
            <maml:name>SnsPsModule.GroupTypes</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>Distribution</dev:defaultValue>
          <command:parameterValueGroup>
            <command:parameterValue required="false" variableLength="false">Distribution</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Security</command:parameterValue>
          </command:parameterValueGroup>
        </command:parameter>
        <!-- Parameter: Manager -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Manager</maml:name>
          <maml:description>
            <maml:para>Specifies The Manager / ManagedBy Of The New AD Object.</maml:para>
            <maml:para>As Manager / ManagedBy Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
            <maml:para>"DistinguishedName"</maml:para>
            <maml:para>"objectGUID"</maml:para>
            <maml:para>"objectSid"</maml:para>
            <maml:para>"AdsPath"</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Name -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Name</maml:name>
          <maml:description>
            <maml:para>Specifies The Name Of The New AD Object.</maml:para>
            <maml:para>If Omitted Will Be Used The Value For The DisplayName No Matter Whether It Is Specified Or Autogenerated. From The DisplayName Value Are Removed All Invalid Characters.</maml:para>
            <maml:para>For Valid Characters Are Considered:</maml:para>
            <maml:para>-- All English Alphabet Characters Capital And Lower</maml:para>
            <maml:para>-- All Numeric Characters</maml:para>
            <maml:para>-- Space ( )</maml:para>
            <maml:para>-- Dash (-)</maml:para>
            <maml:para>-- Underscore (_)</maml:para>
            <maml:para>-- Comma (,)</maml:para>
            <maml:para>-- Apostrophe (')</maml:para>
            <maml:para>-- Dot (.)</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: SamAccountName -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>SamAccountName</maml:name>
          <maml:description>
            <maml:para>Specifies The sAMAccountName Of The New AD Object.</maml:para>
            <maml:para>The sAMAccountName For The AD Accounts Is Mandatory. If The Parameter Is Omitted The CmdLet Will Autogenerate It Using Name Parameter Value Replacing The Spaces With Dot (.). In Case The Autogenerated Value Is Longer Than 20 Characters Will Be Used Only The First 20 Ones.</maml:para>
            <maml:para>The sAMAccountName For The AD Groups Is Not Mandatory. If The Parameter Is Omitted The CmdLet Will Autogenerate It Using Name Parameter Value. In Case The Autogenerated Value Is Longer Than 20 Characters Will Be Used Only The First 20 Ones.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: contact -->
      <command:syntaxItem>
        <maml:name>New-SnsAdObject</maml:name>
        <!-- Parameter: AdContact -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>AdContact</maml:name>
          <maml:description>
            <maml:para>Specifies To Be Created An AD Contact.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: OU -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>OU</maml:name>
          <maml:description>
            <maml:para>Specifies The Identity Of The Of The New Object AD Parent Container.</maml:para>
            <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
            <maml:para>"DistinguishedName"</maml:para>
            <maml:para>"objectGUID"</maml:para>
            <maml:para>"AdsPath"</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Attempts -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Attempts</maml:name>
          <maml:description>
            <maml:para>Specifies The Number Of Attempts That Have To Be Made To Set The Specified Values To The Specified AD Attribute.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>3</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: DisplayName -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>DisplayName</maml:name>
          <maml:description>
            <maml:para>Specifies The DisplayName Of The New AD Object.</maml:para>
            <maml:para>If Omitted And Whenever Is Applicable The DisplayName Will Be Autogenerated Via Concatenation Of The Specified FirstName And LastName.</maml:para>
            <maml:para>If Still Without Value, "DisplayName" Will Be Set, With The Value Provided In "Name" Parameter.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: DomainController -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>DomainController</maml:name>
          <maml:description>
            <maml:para>Specifies A Domain Controller Fully Qualified Domain Name.</maml:para>
            <maml:para>If Omitted The CmdLet Will Run Against The Logon Server.</maml:para>
            <maml:para>This Prevents Issues Related With AD Replication.</maml:para>
            <maml:para>In Multi Domain Forests Specifying Of Domain Controller Responsible For The AD Domain Where The AD Objects Are Located Is Required.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: FirstName -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>FirstName</maml:name>
          <maml:description>
            <maml:para>Specifies The FirstName Of The New AD Account Or Contact.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: LastName -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>LastName</maml:name>
          <maml:description>
            <maml:para>Specifies The LastName Of The New AD Account Or Contact.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Manager -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Manager</maml:name>
          <maml:description>
            <maml:para>Specifies The Manager / ManagedBy Of The New AD Object.</maml:para>
            <maml:para>As Manager / ManagedBy Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
            <maml:para>"DistinguishedName"</maml:para>
            <maml:para>"objectGUID"</maml:para>
            <maml:para>"objectSid"</maml:para>
            <maml:para>"AdsPath"</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Name -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Name</maml:name>
          <maml:description>
            <maml:para>Specifies The Name Of The New AD Object.</maml:para>
            <maml:para>If Omitted Will Be Used The Value For The DisplayName No Matter Whether It Is Specified Or Autogenerated. From The DisplayName Value Are Removed All Invalid Characters.</maml:para>
            <maml:para>For Valid Characters Are Considered:</maml:para>
            <maml:para>-- All English Alphabet Characters Capital And Lower</maml:para>
            <maml:para>-- All Numeric Characters</maml:para>
            <maml:para>-- Space ( )</maml:para>
            <maml:para>-- Dash (-)</maml:para>
            <maml:para>-- Underscore (_)</maml:para>
            <maml:para>-- Comma (,)</maml:para>
            <maml:para>-- Apostrophe (')</maml:para>
            <maml:para>-- Dot (.)</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: OU -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>OU</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of The Of The New Object AD Parent Container.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"AdsPath"</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: AdAccount -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>AdAccount</maml:name>
        <maml:description>
          <maml:para>Specifies To Be Created An AD User Account.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: AdGroup -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>AdGroup</maml:name>
        <maml:description>
          <maml:para>Specifies To Be Created An AD Group.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: AdContact -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>AdContact</maml:name>
        <maml:description>
          <maml:para>Specifies To Be Created An AD Contact.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Name -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Name</maml:name>
        <maml:description>
          <maml:para>Specifies The Name Of The New AD Object.</maml:para>
          <maml:para>If Omitted Will Be Used The Value For The DisplayName No Matter Whether It Is Specified Or Autogenerated. From The DisplayName Value Are Removed All Invalid Characters.</maml:para>
          <maml:para>For Valid Characters Are Considered:</maml:para>
          <maml:para>-- All English Alphabet Characters Capital And Lower</maml:para>
          <maml:para>-- All Numeric Characters</maml:para>
          <maml:para>-- Space ( )</maml:para>
          <maml:para>-- Dash (-)</maml:para>
          <maml:para>-- Underscore (_)</maml:para>
          <maml:para>-- Comma (,)</maml:para>
          <maml:para>-- Apostrophe (')</maml:para>
          <maml:para>-- Dot (.)</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: SamAccountName -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>SamAccountName</maml:name>
        <maml:description>
          <maml:para>Specifies The sAMAccountName Of The New AD Object.</maml:para>
          <maml:para>The sAMAccountName For The AD Accounts Is Mandatory. If The Parameter Is Omitted The CmdLet Will Autogenerate It Using Name Parameter Value Replacing The Spaces With Dot (.). In Case The Autogenerated Value Is Longer Than 20 Characters Will Be Used Only The First 20 Ones.</maml:para>
          <maml:para>The sAMAccountName For The AD Groups Is Not Mandatory. If The Parameter Is Omitted The CmdLet Will Autogenerate It Using Name Parameter Value. In Case The Autogenerated Value Is Longer Than 20 Characters Will Be Used Only The First 20 Ones.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: UserPrincipalName -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>UserPrincipalName</maml:name>
        <maml:description>
          <maml:para>Specifies The UserPrincipalName (UPN) Of The New AD Account.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Password -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Password</maml:name>
        <maml:description>
          <maml:para>Specifies A Password To Be Set To The New AD Account.</maml:para>
          <maml:para>If Omitted The CmdLet Will Set Random Password.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: DisplayName -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>DisplayName</maml:name>
        <maml:description>
          <maml:para>Specifies The DisplayName Of The New AD Object.</maml:para>
          <maml:para>If Omitted And Whenever Is Applicable The DisplayName Will Be Autogenerated Via Concatenation Of The Specified FirstName And LastName.</maml:para>
          <maml:para>If Still Without Value, "DisplayName" Will Be Set, With The Value Provided In "Name" Parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: FirstName -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>FirstName</maml:name>
        <maml:description>
          <maml:para>Specifies The FirstName Of The New AD Account Or Contact.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: LastName -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>LastName</maml:name>
        <maml:description>
          <maml:para>Specifies The LastName Of The New AD Account Or Contact.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Manager -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Manager</maml:name>
        <maml:description>
          <maml:para>Specifies The Manager / ManagedBy Of The New AD Object.</maml:para>
          <maml:para>As Manager / ManagedBy Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: GroupScope -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>GroupScope</maml:name>
        <maml:description>
          <maml:para>Specifies The GroupScope Of The New AD Group.</maml:para>
          <maml:para>Possible values: Global, DomainLocal, Universal</maml:para>
        </maml:description>
        <command:parameterValue required="true">GroupScopes</command:parameterValue>
        <dev:type>
          <maml:name>SnsPsModule.GroupScopes</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>Universal</dev:defaultValue>
        <command:parameterValueGroup>
          <command:parameterValue required="false" variableLength="false">Global</command:parameterValue>
          <command:parameterValue required="false" variableLength="false">DomainLocal</command:parameterValue>
          <command:parameterValue required="false" variableLength="false">Universal</command:parameterValue>
        </command:parameterValueGroup>
      </command:parameter>
      <!-- Parameter: GroupType -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>GroupType</maml:name>
        <maml:description>
          <maml:para>Specifies The GroupType Of The New AD Group.</maml:para>
          <maml:para>Possible values: Distribution, Security</maml:para>
        </maml:description>
        <command:parameterValue required="true">GroupTypes</command:parameterValue>
        <dev:type>
          <maml:name>SnsPsModule.GroupTypes</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>Distribution</dev:defaultValue>
        <command:parameterValueGroup>
          <command:parameterValue required="false" variableLength="false">Distribution</command:parameterValue>
          <command:parameterValue required="false" variableLength="false">Security</command:parameterValue>
        </command:parameterValueGroup>
      </command:parameter>
      <!-- Parameter: DomainController -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>DomainController</maml:name>
        <maml:description>
          <maml:para>Specifies A Domain Controller Fully Qualified Domain Name.</maml:para>
          <maml:para>If Omitted The CmdLet Will Run Against The Logon Server.</maml:para>
          <maml:para>This Prevents Issues Related With AD Replication.</maml:para>
          <maml:para>In Multi Domain Forests Specifying Of Domain Controller Responsible For The AD Domain Where The AD Objects Are Located Is Required.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Attempts -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Attempts</maml:name>
        <maml:description>
          <maml:para>Specifies The Number Of Attempts That Have To Be Made To Set The Specified Values To The Specified AD Attribute.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>3</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues>
      <!-- OutputType: SnsAdNewObject -->
      <command:returnValue>
        <dev:type>
          <maml:name>SnsPsModule.SnsAdNewObject</maml:name>
          <maml:uri />
        </dev:type>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:title></maml:title>
      <maml:alert>
        <maml:para>AUTHOR: Svetoslav Nedyalkov Savov</maml:para>
        <maml:para>THIS CODE IS MADE AVAILABLE AS IS, WITHOUT WARRANTY OF ANY KIND. THE ENTIRE RISK</maml:para>
        <maml:para>OF THE USE OR THE RESULTS FROM THE USE OF THIS CODE REMAINS WITH THE USER.</maml:para>
        <maml:para></maml:para>
        <maml:para></maml:para>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>[SnsPsModule.SnsAdNewObject]$objResult = New-SnsAdObject `
-FirstName "John" -LastName "Smith" -OU "OU=Users,DC=contoso,DC=com";</dev:code>
        <dev:remarks>
          <maml:para>Creates AD Account With Name "John Smith" Inside OU "Users" With sAMAccountName "John.Smith", DisplayName "John Smith", FirstName "John" And LastName "Smith".</maml:para>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 2 ----------</maml:title>
        <dev:code>[SnsPsModule.SnsAdNewObject]$objResult = New-SnsAdObject -AdGroup `
-OU "OU=Groups,DC=contoso,DC=com" -Name "Accountants" -GroupScope "Universal" -GroupType "Distribution";</dev:code>
        <dev:remarks>
          <maml:para>Creates Universal Distribution Group In OU "Groups" (Not MailEnabled).</maml:para>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 3 ----------</maml:title>
        <dev:code>[SnsPsModule.SnsAdNewObject]$objResult = New-SnsAdObject -AdContact `
-FirstName "John" -LastName "Smith" -OU "OU=Contacts,DC=contoso,DC=com";</dev:code>
        <dev:remarks>
          <maml:para>Creates AD Contact In OU "Contacts" (Not MailEnabled).</maml:para>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <maml:relatedLinks>
      <maml:navigationLink>
        <maml:linkText> svesavov / SnsPsModule - </maml:linkText>
        <maml:uri>https://github.com/svesavov/SnsPsModule</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText> PowerShell Gallery - </maml:linkText>
        <maml:uri>https://www.powershellgallery.com/packages/SnsPsModule/</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText> Svetoslav Savov on LinkedIn - </maml:linkText>
        <maml:uri>https://www.linkedin.com/in/svetoslavsavov</maml:uri>
      </maml:navigationLink>
    </maml:relatedLinks>
  </command:command>
  <!-- Cmdlet: Remove-SnsAdObject -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Remove-SnsAdObject</command:name>
      <command:verb>Remove</command:verb>
      <command:noun>SnsAdObject</command:noun>
      <maml:description>
        <maml:para>Deletes Specified Active Directory Object.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Deletes Specified Active Directory Object.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: __AllParameterSets -->
      <command:syntaxItem>
        <maml:name>Remove-SnsAdObject</maml:name>
        <!-- Parameter: Identity -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
          <maml:name>Identity</maml:name>
          <maml:description>
            <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
            <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
            <maml:para>"DistinguishedName"</maml:para>
            <maml:para>"objectGUID"</maml:para>
            <maml:para>"objectSid"</maml:para>
            <maml:para>"AdsPath"</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Attempts -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Attempts</maml:name>
          <maml:description>
            <maml:para>Specifies The Number Of Attempts That Have To Be Made To Set The Specified Values To The Specified AD Attribute.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>3</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: DomainController -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>DomainController</maml:name>
          <maml:description>
            <maml:para>Specifies A Domain Controller Fully Qualified Domain Name.</maml:para>
            <maml:para>If Omitted The CmdLet Will Run Against The Logon Server.</maml:para>
            <maml:para>This Prevents Issues Related With AD Replication.</maml:para>
            <maml:para>In Multi Domain Forests Specifying Of Domain Controller Responsible For The AD Domain Where The AD Objects Are Located Is Required.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Removes "Protect object from accidental deletion" Flag Before The Object Deletion.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: Identity -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>Identity</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>ConnectionString</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>AdsPath</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>Path</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>distinguishedName</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>objectGUID</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>objectSid</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: DomainController -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>DomainController</maml:name>
        <maml:description>
          <maml:para>Specifies A Domain Controller Fully Qualified Domain Name.</maml:para>
          <maml:para>If Omitted The CmdLet Will Run Against The Logon Server.</maml:para>
          <maml:para>This Prevents Issues Related With AD Replication.</maml:para>
          <maml:para>In Multi Domain Forests Specifying Of Domain Controller Responsible For The AD Domain Where The AD Objects Are Located Is Required.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Attempts -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Attempts</maml:name>
        <maml:description>
          <maml:para>Specifies The Number Of Attempts That Have To Be Made To Set The Specified Values To The Specified AD Attribute.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>3</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Force -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Force</maml:name>
        <maml:description>
          <maml:para>Removes "Protect object from accidental deletion" Flag Before The Object Deletion.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues>
      <!-- OutputType: SnsRemoveAdObject -->
      <command:returnValue>
        <dev:type>
          <maml:name>SnsPsModule.SnsRemoveAdObject</maml:name>
          <maml:uri />
        </dev:type>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:title></maml:title>
      <maml:alert>
        <maml:para>AUTHOR: Svetoslav Nedyalkov Savov</maml:para>
        <maml:para>THIS CODE IS MADE AVAILABLE AS IS, WITHOUT WARRANTY OF ANY KIND. THE ENTIRE RISK</maml:para>
        <maml:para>OF THE USE OR THE RESULTS FROM THE USE OF THIS CODE REMAINS WITH THE USER.</maml:para>
        <maml:para></maml:para>
        <maml:para></maml:para>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>[SnsPsModule.SnsRemoveAdObject]$objResult = Remove-SnsAdObject `
-Identity "CN=John Smith,OU=Users,DC=contoso,DC=com" -DomainController "DC01.contoso.com";</dev:code>
        <dev:remarks>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <maml:relatedLinks>
      <maml:navigationLink>
        <maml:linkText> svesavov / SnsPsModule - </maml:linkText>
        <maml:uri>https://github.com/svesavov/SnsPsModule</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText> PowerShell Gallery - </maml:linkText>
        <maml:uri>https://www.powershellgallery.com/packages/SnsPsModule/</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText> Svetoslav Savov on LinkedIn - </maml:linkText>
        <maml:uri>https://www.linkedin.com/in/svetoslavsavov</maml:uri>
      </maml:navigationLink>
    </maml:relatedLinks>
  </command:command>
  <!-- Cmdlet: Rename-SnsAdObject -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Rename-SnsAdObject</command:name>
      <command:verb>Rename</command:verb>
      <command:noun>SnsAdObject</command:noun>
      <maml:description>
        <maml:para>This CmdLet Renames Specified AD Object With Specified NewName.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This CmdLet Renames Specified AD Object With Specified NewName.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: __AllParameterSets -->
      <command:syntaxItem>
        <maml:name>Rename-SnsAdObject</maml:name>
        <!-- Parameter: Identity -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
          <maml:name>Identity</maml:name>
          <maml:description>
            <maml:para>Specifies The Identity Of An Active Directory Object To Be Renamed.</maml:para>
            <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
            <maml:para>"DistinguishedName"</maml:para>
            <maml:para>"objectGUID"</maml:para>
            <maml:para>"objectSid"</maml:para>
            <maml:para>"AdsPath"</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: NewName -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>NewName</maml:name>
          <maml:description>
            <maml:para>Specifies The Desired Name Of The Active Directory Object.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Attempts -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Attempts</maml:name>
          <maml:description>
            <maml:para>Specifies The Number Of Attempts That Have To Be Made To Set The Specified Values To The Specified AD Attribute.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>3</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: DomainController -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>DomainController</maml:name>
          <maml:description>
            <maml:para>Specifies A Domain Controller Fully Qualified Domain Name.</maml:para>
            <maml:para>If Omitted The CmdLet Will Run Against The Logon Server.</maml:para>
            <maml:para>This Prevents Issues Related With AD Replication.</maml:para>
            <maml:para>In Multi Domain Forests Specifying Of Domain Controller Responsible For The AD Domain Where The AD Objects Are Located Is Required.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: Identity -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>Identity</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Renamed.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>ConnectionString</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Renamed.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>AdsPath</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Renamed.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>Path</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Renamed.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>distinguishedName</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Renamed.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>objectGUID</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Renamed.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>objectSid</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Renamed.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: DomainController -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>DomainController</maml:name>
        <maml:description>
          <maml:para>Specifies A Domain Controller Fully Qualified Domain Name.</maml:para>
          <maml:para>If Omitted The CmdLet Will Run Against The Logon Server.</maml:para>
          <maml:para>This Prevents Issues Related With AD Replication.</maml:para>
          <maml:para>In Multi Domain Forests Specifying Of Domain Controller Responsible For The AD Domain Where The AD Objects Are Located Is Required.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: NewName -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>NewName</maml:name>
        <maml:description>
          <maml:para>Specifies The Desired Name Of The Active Directory Object.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Attempts -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Attempts</maml:name>
        <maml:description>
          <maml:para>Specifies The Number Of Attempts That Have To Be Made To Set The Specified Values To The Specified AD Attribute.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>3</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues>
      <!-- OutputType: SnsRenameAdObject -->
      <command:returnValue>
        <dev:type>
          <maml:name>SnsPsModule.SnsRenameAdObject</maml:name>
          <maml:uri />
        </dev:type>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:title></maml:title>
      <maml:alert>
        <maml:para>AUTHOR: Svetoslav Nedyalkov Savov</maml:para>
        <maml:para>THIS CODE IS MADE AVAILABLE AS IS, WITHOUT WARRANTY OF ANY KIND. THE ENTIRE RISK</maml:para>
        <maml:para>OF THE USE OR THE RESULTS FROM THE USE OF THIS CODE REMAINS WITH THE USER.</maml:para>
        <maml:para></maml:para>
        <maml:para></maml:para>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>[SnsPsModule.SnsRenameAdObject]$objResult = Rename-SnsAdObject `
-Identity "CN=John Smith,OU=Users,DC=contoso,DC=com" `
-DomainController "DC01.contoso.com" -NewName "John Maynard Smith";</dev:code>
        <dev:remarks>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <maml:relatedLinks>
      <maml:navigationLink>
        <maml:linkText> svesavov / SnsPsModule - </maml:linkText>
        <maml:uri>https://github.com/svesavov/SnsPsModule</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText> PowerShell Gallery - </maml:linkText>
        <maml:uri>https://www.powershellgallery.com/packages/SnsPsModule/</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText> Svetoslav Savov on LinkedIn - </maml:linkText>
        <maml:uri>https://www.linkedin.com/in/svetoslavsavov</maml:uri>
      </maml:navigationLink>
    </maml:relatedLinks>
  </command:command>
  <!-- Cmdlet: Search-SnsAdObject -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Search-SnsAdObject</command:name>
      <command:verb>Search</command:verb>
      <command:noun>SnsAdObject</command:noun>
      <maml:description>
        <maml:para>Performs LDAP Search Against The AD Using .NET ADSI Adapter Provider.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Performs LDAP Search Against The AD Using .NET ADSI Adapter Provider.</maml:para>
      <maml:para>Depending Of The CmdLet Arguments Are Possible 5 Scenarios:</maml:para>
      <maml:para>--Scenario 1 - Specified DcSearch Switch Specified Search Root And Specified Domain Controller. The Search Is Performed Against The Domain Partition Of The Specified Domain Controller Using The Default LDAP Ports. The Search Is Restricted To The Specified Organizational Unit Or Container Or Domain. This Is The Most Recommended Scenario For Using Of This CmdLet.</maml:para>
      <maml:para>--Scenario 2 - Specified DcSearch Switch Not Specified Search Root And Specified Domain Controller. The Search Is Performed Against The Domain Partition Of The Specified Domain Controller Using The Default LDAP Ports. However Because The Search Root Is Mandatory For .NET The CmdLet Will Assume As A DcSearch Root The Root Of The Logged On Domain And Will Specify It On Users Behalf. This Option Shall Be Used With Extra Care In MultiDomain Forests Where The Logged With In Account Might Be In Different Domain And The Search To Not Revert The Desired Results.</maml:para>
      <maml:para>--Scenario 3 - Specified DcSearch Switch Specified Search Root And Not Specified Domain Controller The Search Is Performed Against The Domain Partition Of An Automatically Chosen by .NET Domain Controller Within The Domain Used In The Specified SearchRoot Using The Default LDAP Ports. The Search Is Restricted To The Specified Organizational Unit Or Container Or Domain. Use This Scenario With Extra Care As It Might Lead To Unexpected Results Especially If You Try To Read Recent Changes Not AD Replicated Yet.</maml:para>
      <maml:para>--Scenario 4 - Specified DcSearch Switch Not Specified Search Root And Not Specified Domain Controller. Normally This Scenario Is Not Allowed However Because The DcSearch Is Specified The Function Assume That The Search Have To Be Executed Against The Root Of The Currently Logged In Domain And Specify The Domain As SearchRoot On Users Behalf. The Remaining Considerations Are The Same Like The DcSearch Without Specified Domain Controller.</maml:para>
      <maml:para>--Scenario 5 - Specified GcSearch Switch Not Specified Search Root And Specified Domain Controller. The Search Is Performed Against The Global Catalog Partition Of The Specified Domain Controller Using The Default Global Catalog Ports. The Search Is Not Restricted To Any Domain Or Organizational Unit Or Container. Use The Global Catalog Search With Extra Care It Looks Very Easy And Obvious Choice But It Might Revert Unexpected Results Especially If The LDAP Query Contains Clauses Related With AD Attributes Not Present In The Global Catalog Partition. Additionally It Does Not Revert Properties Not Present In The Global Catalog Partition Even If They Are Specified This Might Lead To Wrong Impression That Those Properties Are Empty. It Is Always Preferable To Get A List With All The Domains And Domain Controllers Responsible For The Corresponding Domains And Loop The Search Against Each Of Them Instead Using Global Catalog Search. Another Known Issue Is when The Specified Global Catalog Server For The LDAP Search Temporary Have No Connection To Some Of The Domains Then The Objects From That Domains Are Filtered. Another Known Issue Is When The Specified Global Catalog Server Is Very Remote From Some Of The Domains The Results Are Reverted Extremely Slow.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: DcSearch -->
      <command:syntaxItem>
        <maml:name>Search-SnsAdObject</maml:name>
        <!-- Parameter: LdapQuery -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByPropertyName)" position="named">
          <maml:name>LdapQuery</maml:name>
          <maml:description>
            <maml:para>Specifies A LDAP Query.</maml:para>
            <maml:para>The Query Must Comply With The Official Microsoft Recommendations https://bit.ly/2RFdUr2</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: DcSearch -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>DcSearch</maml:name>
          <maml:description>
            <maml:para>Specifies To The CmdLet To Execute Provided LDAP Query Against The Domain Partition.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: DomainController -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>DomainController</maml:name>
          <maml:description>
            <maml:para>Specifies A Domain Controller Fully Qualified Domain Name.</maml:para>
            <maml:para>If Omitted Have To Be Considered Any Delays Caused By The Active Directory Replication.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ResultSize -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ResultSize</maml:name>
          <maml:description>
            <maml:para>Specifies A Maximum Number Of Object That AD Search Reverts.</maml:para>
            <maml:para>The Restrictions From AD Side Are From 1 To 1000.</maml:para>
            <maml:para>If Omitted Will Be Used The Active Directory Default Threshold.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ReturnProperties -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ReturnProperties</maml:name>
          <maml:description>
            <maml:para>Specifies Which AD Properties Will Be Included In The Output Search Object.</maml:para>
            <maml:para>!!! Use It With Extra Care !!!</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: SearchRoot -->
        <command:parameter required="false" globbing="false" pipelineInput="true (ByPropertyName)" position="named" aliases="ConnectionString,RootConnectionString,RootAdsPath,RootPath,RootdistinguishedName,RootobjectGUID,RootobjectSid">
          <maml:name>SearchRoot</maml:name>
          <maml:description>
            <maml:para>Specifies A Root For The LDAP Search.</maml:para>
            <maml:para>For SearchRoot Can Be Provided Either Domains, Organizational Units Or Containers.</maml:para>
            <maml:para>When Omitted The LDAP Query Will Be Run Against The Current Domain.</maml:para>
            <maml:para>As SearchRoot Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
            <maml:para>"DistinguishedName"</maml:para>
            <maml:para>"objectGUID"</maml:para>
            <maml:para>"objectSid" Not Applicable When The Search Root Is Organizational Unit Or Container</maml:para>
            <maml:para>"AdsPath"</maml:para>
            <maml:para>Whenever The CmdLet Will Be Used To Search Withing Different AD Domains In Multi Domain Forest, Is Preferred To Be Used Multiple "AdsPath" With Included Domain Controllers From The Corresponding Domains.</maml:para>
            <maml:para>For Example:</maml:para>
            <maml:para>-SearchRoot `</maml:para>
            <maml:para>@(</maml:para>
            <maml:para>"LDAP://DC01.Contoso.com/DC=Contoso,DC=com",</maml:para>
            <maml:para>"LDAP://DC01.Fabricam.Contoso.com/DC=Fabricam,DC=Contoso,DC=com"</maml:para>
            <maml:para>)</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: GcSearch -->
      <command:syntaxItem>
        <maml:name>Search-SnsAdObject</maml:name>
        <!-- Parameter: GcSearch -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>GcSearch</maml:name>
          <maml:description>
            <maml:para>Specifies To The CmdLet To Execute Provided LDAP Query Against The Global Catalog Partition.</maml:para>
            <maml:para>To Avoid Unexpected Results Please Make Sure That The LDAP Query Does Not Use Attributes Not Present In The Global Catalog Partition. In Multi Domain Forest Whenever Is Need To Be Used LDAP Query With Attributes Not Present In The Global Catalog Partition The Query Shall Be Run Against The Domain Partitions On All The Domains Within The Forest. In Single Domain Forest There Is No Point Of Using Global Catalog Search At All.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: LdapQuery -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByPropertyName)" position="named">
          <maml:name>LdapQuery</maml:name>
          <maml:description>
            <maml:para>Specifies A LDAP Query.</maml:para>
            <maml:para>The Query Must Comply With The Official Microsoft Recommendations https://bit.ly/2RFdUr2</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: DomainController -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>DomainController</maml:name>
          <maml:description>
            <maml:para>Specifies A Domain Controller Fully Qualified Domain Name.</maml:para>
            <maml:para>If Omitted Have To Be Considered Any Delays Caused By The Active Directory Replication.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ResultSize -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ResultSize</maml:name>
          <maml:description>
            <maml:para>Specifies A Maximum Number Of Object That AD Search Reverts.</maml:para>
            <maml:para>The Restrictions From AD Side Are From 1 To 1000.</maml:para>
            <maml:para>If Omitted Will Be Used The Active Directory Default Threshold.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ReturnProperties -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ReturnProperties</maml:name>
          <maml:description>
            <maml:para>Specifies Which AD Properties Will Be Included In The Output Search Object.</maml:para>
            <maml:para>!!! Use It With Extra Care !!!</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: LdapQuery -->
      <command:parameter required="true" globbing="false" pipelineInput="true (ByPropertyName)" position="named">
        <maml:name>LdapQuery</maml:name>
        <maml:description>
          <maml:para>Specifies A LDAP Query.</maml:para>
          <maml:para>The Query Must Comply With The Official Microsoft Recommendations https://bit.ly/2RFdUr2</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: SearchRoot -->
      <command:parameter required="false" globbing="false" pipelineInput="true (ByPropertyName)" position="named" aliases="ConnectionString,RootConnectionString,RootAdsPath,RootPath,RootdistinguishedName,RootobjectGUID,RootobjectSid">
        <maml:name>SearchRoot</maml:name>
        <maml:description>
          <maml:para>Specifies A Root For The LDAP Search.</maml:para>
          <maml:para>For SearchRoot Can Be Provided Either Domains, Organizational Units Or Containers.</maml:para>
          <maml:para>When Omitted The LDAP Query Will Be Run Against The Current Domain.</maml:para>
          <maml:para>As SearchRoot Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid" Not Applicable When The Search Root Is Organizational Unit Or Container</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>Whenever The CmdLet Will Be Used To Search Withing Different AD Domains In Multi Domain Forest, Is Preferred To Be Used Multiple "AdsPath" With Included Domain Controllers From The Corresponding Domains.</maml:para>
          <maml:para>For Example:</maml:para>
          <maml:para>-SearchRoot `</maml:para>
          <maml:para>@(</maml:para>
          <maml:para>"LDAP://DC01.Contoso.com/DC=Contoso,DC=com",</maml:para>
          <maml:para>"LDAP://DC01.Fabricam.Contoso.com/DC=Fabricam,DC=Contoso,DC=com"</maml:para>
          <maml:para>)</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="false" globbing="false" pipelineInput="true (ByPropertyName)" position="named" aliases="ConnectionString,RootConnectionString,RootAdsPath,RootPath,RootdistinguishedName,RootobjectGUID,RootobjectSid">
        <maml:name>ConnectionString</maml:name>
        <maml:description>
          <maml:para>Specifies A Root For The LDAP Search.</maml:para>
          <maml:para>For SearchRoot Can Be Provided Either Domains, Organizational Units Or Containers.</maml:para>
          <maml:para>When Omitted The LDAP Query Will Be Run Against The Current Domain.</maml:para>
          <maml:para>As SearchRoot Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid" Not Applicable When The Search Root Is Organizational Unit Or Container</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>Whenever The CmdLet Will Be Used To Search Withing Different AD Domains In Multi Domain Forest, Is Preferred To Be Used Multiple "AdsPath" With Included Domain Controllers From The Corresponding Domains.</maml:para>
          <maml:para>For Example:</maml:para>
          <maml:para>-SearchRoot `</maml:para>
          <maml:para>@(</maml:para>
          <maml:para>"LDAP://DC01.Contoso.com/DC=Contoso,DC=com",</maml:para>
          <maml:para>"LDAP://DC01.Fabricam.Contoso.com/DC=Fabricam,DC=Contoso,DC=com"</maml:para>
          <maml:para>)</maml:para>
          <maml:para>This is an alias of the SearchRoot parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="false" globbing="false" pipelineInput="true (ByPropertyName)" position="named" aliases="ConnectionString,RootConnectionString,RootAdsPath,RootPath,RootdistinguishedName,RootobjectGUID,RootobjectSid">
        <maml:name>RootConnectionString</maml:name>
        <maml:description>
          <maml:para>Specifies A Root For The LDAP Search.</maml:para>
          <maml:para>For SearchRoot Can Be Provided Either Domains, Organizational Units Or Containers.</maml:para>
          <maml:para>When Omitted The LDAP Query Will Be Run Against The Current Domain.</maml:para>
          <maml:para>As SearchRoot Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid" Not Applicable When The Search Root Is Organizational Unit Or Container</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>Whenever The CmdLet Will Be Used To Search Withing Different AD Domains In Multi Domain Forest, Is Preferred To Be Used Multiple "AdsPath" With Included Domain Controllers From The Corresponding Domains.</maml:para>
          <maml:para>For Example:</maml:para>
          <maml:para>-SearchRoot `</maml:para>
          <maml:para>@(</maml:para>
          <maml:para>"LDAP://DC01.Contoso.com/DC=Contoso,DC=com",</maml:para>
          <maml:para>"LDAP://DC01.Fabricam.Contoso.com/DC=Fabricam,DC=Contoso,DC=com"</maml:para>
          <maml:para>)</maml:para>
          <maml:para>This is an alias of the SearchRoot parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="false" globbing="false" pipelineInput="true (ByPropertyName)" position="named" aliases="ConnectionString,RootConnectionString,RootAdsPath,RootPath,RootdistinguishedName,RootobjectGUID,RootobjectSid">
        <maml:name>RootAdsPath</maml:name>
        <maml:description>
          <maml:para>Specifies A Root For The LDAP Search.</maml:para>
          <maml:para>For SearchRoot Can Be Provided Either Domains, Organizational Units Or Containers.</maml:para>
          <maml:para>When Omitted The LDAP Query Will Be Run Against The Current Domain.</maml:para>
          <maml:para>As SearchRoot Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid" Not Applicable When The Search Root Is Organizational Unit Or Container</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>Whenever The CmdLet Will Be Used To Search Withing Different AD Domains In Multi Domain Forest, Is Preferred To Be Used Multiple "AdsPath" With Included Domain Controllers From The Corresponding Domains.</maml:para>
          <maml:para>For Example:</maml:para>
          <maml:para>-SearchRoot `</maml:para>
          <maml:para>@(</maml:para>
          <maml:para>"LDAP://DC01.Contoso.com/DC=Contoso,DC=com",</maml:para>
          <maml:para>"LDAP://DC01.Fabricam.Contoso.com/DC=Fabricam,DC=Contoso,DC=com"</maml:para>
          <maml:para>)</maml:para>
          <maml:para>This is an alias of the SearchRoot parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="false" globbing="false" pipelineInput="true (ByPropertyName)" position="named" aliases="ConnectionString,RootConnectionString,RootAdsPath,RootPath,RootdistinguishedName,RootobjectGUID,RootobjectSid">
        <maml:name>RootPath</maml:name>
        <maml:description>
          <maml:para>Specifies A Root For The LDAP Search.</maml:para>
          <maml:para>For SearchRoot Can Be Provided Either Domains, Organizational Units Or Containers.</maml:para>
          <maml:para>When Omitted The LDAP Query Will Be Run Against The Current Domain.</maml:para>
          <maml:para>As SearchRoot Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid" Not Applicable When The Search Root Is Organizational Unit Or Container</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>Whenever The CmdLet Will Be Used To Search Withing Different AD Domains In Multi Domain Forest, Is Preferred To Be Used Multiple "AdsPath" With Included Domain Controllers From The Corresponding Domains.</maml:para>
          <maml:para>For Example:</maml:para>
          <maml:para>-SearchRoot `</maml:para>
          <maml:para>@(</maml:para>
          <maml:para>"LDAP://DC01.Contoso.com/DC=Contoso,DC=com",</maml:para>
          <maml:para>"LDAP://DC01.Fabricam.Contoso.com/DC=Fabricam,DC=Contoso,DC=com"</maml:para>
          <maml:para>)</maml:para>
          <maml:para>This is an alias of the SearchRoot parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="false" globbing="false" pipelineInput="true (ByPropertyName)" position="named" aliases="ConnectionString,RootConnectionString,RootAdsPath,RootPath,RootdistinguishedName,RootobjectGUID,RootobjectSid">
        <maml:name>RootdistinguishedName</maml:name>
        <maml:description>
          <maml:para>Specifies A Root For The LDAP Search.</maml:para>
          <maml:para>For SearchRoot Can Be Provided Either Domains, Organizational Units Or Containers.</maml:para>
          <maml:para>When Omitted The LDAP Query Will Be Run Against The Current Domain.</maml:para>
          <maml:para>As SearchRoot Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid" Not Applicable When The Search Root Is Organizational Unit Or Container</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>Whenever The CmdLet Will Be Used To Search Withing Different AD Domains In Multi Domain Forest, Is Preferred To Be Used Multiple "AdsPath" With Included Domain Controllers From The Corresponding Domains.</maml:para>
          <maml:para>For Example:</maml:para>
          <maml:para>-SearchRoot `</maml:para>
          <maml:para>@(</maml:para>
          <maml:para>"LDAP://DC01.Contoso.com/DC=Contoso,DC=com",</maml:para>
          <maml:para>"LDAP://DC01.Fabricam.Contoso.com/DC=Fabricam,DC=Contoso,DC=com"</maml:para>
          <maml:para>)</maml:para>
          <maml:para>This is an alias of the SearchRoot parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="false" globbing="false" pipelineInput="true (ByPropertyName)" position="named" aliases="ConnectionString,RootConnectionString,RootAdsPath,RootPath,RootdistinguishedName,RootobjectGUID,RootobjectSid">
        <maml:name>RootobjectGUID</maml:name>
        <maml:description>
          <maml:para>Specifies A Root For The LDAP Search.</maml:para>
          <maml:para>For SearchRoot Can Be Provided Either Domains, Organizational Units Or Containers.</maml:para>
          <maml:para>When Omitted The LDAP Query Will Be Run Against The Current Domain.</maml:para>
          <maml:para>As SearchRoot Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid" Not Applicable When The Search Root Is Organizational Unit Or Container</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>Whenever The CmdLet Will Be Used To Search Withing Different AD Domains In Multi Domain Forest, Is Preferred To Be Used Multiple "AdsPath" With Included Domain Controllers From The Corresponding Domains.</maml:para>
          <maml:para>For Example:</maml:para>
          <maml:para>-SearchRoot `</maml:para>
          <maml:para>@(</maml:para>
          <maml:para>"LDAP://DC01.Contoso.com/DC=Contoso,DC=com",</maml:para>
          <maml:para>"LDAP://DC01.Fabricam.Contoso.com/DC=Fabricam,DC=Contoso,DC=com"</maml:para>
          <maml:para>)</maml:para>
          <maml:para>This is an alias of the SearchRoot parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="false" globbing="false" pipelineInput="true (ByPropertyName)" position="named" aliases="ConnectionString,RootConnectionString,RootAdsPath,RootPath,RootdistinguishedName,RootobjectGUID,RootobjectSid">
        <maml:name>RootobjectSid</maml:name>
        <maml:description>
          <maml:para>Specifies A Root For The LDAP Search.</maml:para>
          <maml:para>For SearchRoot Can Be Provided Either Domains, Organizational Units Or Containers.</maml:para>
          <maml:para>When Omitted The LDAP Query Will Be Run Against The Current Domain.</maml:para>
          <maml:para>As SearchRoot Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid" Not Applicable When The Search Root Is Organizational Unit Or Container</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>Whenever The CmdLet Will Be Used To Search Withing Different AD Domains In Multi Domain Forest, Is Preferred To Be Used Multiple "AdsPath" With Included Domain Controllers From The Corresponding Domains.</maml:para>
          <maml:para>For Example:</maml:para>
          <maml:para>-SearchRoot `</maml:para>
          <maml:para>@(</maml:para>
          <maml:para>"LDAP://DC01.Contoso.com/DC=Contoso,DC=com",</maml:para>
          <maml:para>"LDAP://DC01.Fabricam.Contoso.com/DC=Fabricam,DC=Contoso,DC=com"</maml:para>
          <maml:para>)</maml:para>
          <maml:para>This is an alias of the SearchRoot parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: DomainController -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>DomainController</maml:name>
        <maml:description>
          <maml:para>Specifies A Domain Controller Fully Qualified Domain Name.</maml:para>
          <maml:para>If Omitted Have To Be Considered Any Delays Caused By The Active Directory Replication.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: GcSearch -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>GcSearch</maml:name>
        <maml:description>
          <maml:para>Specifies To The CmdLet To Execute Provided LDAP Query Against The Global Catalog Partition.</maml:para>
          <maml:para>To Avoid Unexpected Results Please Make Sure That The LDAP Query Does Not Use Attributes Not Present In The Global Catalog Partition. In Multi Domain Forest Whenever Is Need To Be Used LDAP Query With Attributes Not Present In The Global Catalog Partition The Query Shall Be Run Against The Domain Partitions On All The Domains Within The Forest. In Single Domain Forest There Is No Point Of Using Global Catalog Search At All.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: DcSearch -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>DcSearch</maml:name>
        <maml:description>
          <maml:para>Specifies To The CmdLet To Execute Provided LDAP Query Against The Domain Partition.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: ReturnProperties -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>ReturnProperties</maml:name>
        <maml:description>
          <maml:para>Specifies Which AD Properties Will Be Included In The Output Search Object.</maml:para>
          <maml:para>!!! Use It With Extra Care !!!</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: ResultSize -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>ResultSize</maml:name>
        <maml:description>
          <maml:para>Specifies A Maximum Number Of Object That AD Search Reverts.</maml:para>
          <maml:para>The Restrictions From AD Side Are From 1 To 1000.</maml:para>
          <maml:para>If Omitted Will Be Used The Active Directory Default Threshold.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>0</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>Specifies A LDAP Query.</maml:para>
          <maml:para>The Query Must Comply With The Official Microsoft Recommendations https://bit.ly/2RFdUr2</maml:para>
        </maml:description>
      </command:inputType>
      <command:inputType>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>Specifies A Root For The LDAP Search.</maml:para>
          <maml:para>For SearchRoot Can Be Provided Either Domains, Organizational Units Or Containers.</maml:para>
          <maml:para>When Omitted The LDAP Query Will Be Run Against The Current Domain.</maml:para>
          <maml:para>As SearchRoot Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid" Not Applicable When The Search Root Is Organizational Unit Or Container</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>Whenever The CmdLet Will Be Used To Search Withing Different AD Domains In Multi Domain Forest, Is Preferred To Be Used Multiple "AdsPath" With Included Domain Controllers From The Corresponding Domains.</maml:para>
          <maml:para>For Example:</maml:para>
          <maml:para>-SearchRoot `</maml:para>
          <maml:para>@(</maml:para>
          <maml:para>"LDAP://DC01.Contoso.com/DC=Contoso,DC=com",</maml:para>
          <maml:para>"LDAP://DC01.Fabricam.Contoso.com/DC=Fabricam,DC=Contoso,DC=com"</maml:para>
          <maml:para>)</maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <!-- OutputType: SearchResultCollection -->
      <command:returnValue>
        <dev:type>
          <maml:name>System.DirectoryServices.SearchResultCollection</maml:name>
          <maml:uri />
        </dev:type>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:title></maml:title>
      <maml:alert>
        <maml:para>AUTHOR: Svetoslav Nedyalkov Savov</maml:para>
        <maml:para>THIS CODE IS MADE AVAILABLE AS IS, WITHOUT WARRANTY OF ANY KIND. THE ENTIRE RISK</maml:para>
        <maml:para>OF THE USE OR THE RESULTS FROM THE USE OF THIS CODE REMAINS WITH THE USER.</maml:para>
        <maml:para></maml:para>
        <maml:para></maml:para>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>[System.Object[]]$arrSearchResults = Search-SnsAdObject -LdapQuery $ldapQuery -DcSearch `
-DomainController "server1.contoso.com" -SearchRoot "DC=contoso,DC=com";</dev:code>
        <dev:remarks>
          <maml:para>Run LDAP Query Against The Domain Partition Of Specified Domain Controller With Specified SearchRoot.</maml:para>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 2 ----------</maml:title>
        <dev:code>[System.Object[]]$arrSearchResults = Search-SnsAdObject -LdapQuery $ldapQuery -DcSearch `
-DomainController "server1.contoso.com";</dev:code>
        <dev:remarks>
          <maml:para>Run LDAP Query Against The Domain Partition Of Specified Domain Controller Against The Current Domain.</maml:para>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 3 ----------</maml:title>
        <dev:code>[System.Object[]]$arrSearchResults = Search-SnsAdObject -LdapQuery $ldapQuery -DcSearch `
-SearchRoot "DC=contoso,DC=com";</dev:code>
        <dev:remarks>
          <maml:para>Run LDAP Query Against The Domain Partition Of Random Domain Controller With Specified SearchRoot.</maml:para>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 4 ----------</maml:title>
        <dev:code>[System.Object[]]$arrSearchResults = Search-SnsAdObject -LdapQuery $ldapQuery -DcSearch;</dev:code>
        <dev:remarks>
          <maml:para>Run LDAP Query Against The Domain Partition Of Random Domain Controller Against The Current Domain.</maml:para>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 5 ----------</maml:title>
        <dev:code>[System.Object[]]$arrSearchResults = Search-SnsAdObject -LdapQuery $ldapQuery -GcSearch `
-DomainController "server1.contoso.com";</dev:code>
        <dev:remarks>
          <maml:para>Run LDAP Query Against The Global Partition Of Specified Domain Controller.</maml:para>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <maml:relatedLinks>
      <maml:navigationLink>
        <maml:linkText> svesavov / SnsPsModule - </maml:linkText>
        <maml:uri>https://github.com/svesavov/SnsPsModule</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText> PowerShell Gallery - </maml:linkText>
        <maml:uri>https://www.powershellgallery.com/packages/SnsPsModule/</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText> Svetoslav Savov on LinkedIn - </maml:linkText>
        <maml:uri>https://www.linkedin.com/in/svetoslavsavov</maml:uri>
      </maml:navigationLink>
    </maml:relatedLinks>
  </command:command>
  <!-- Cmdlet: Reset-SnsAdPassword -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Reset-SnsAdPassword</command:name>
      <command:verb>Reset</command:verb>
      <command:noun>SnsAdPassword</command:noun>
      <maml:description>
        <maml:para>Resets The Password Of A Specified Active Directory User Account.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Resets The Password Of A Specified Active Directory User Account.</maml:para>
      <maml:para>The CmdLet Have Two Parameter Sets:</maml:para>
      <maml:para>--Password - In This Parameter Set Have To Be Specified The New Password.</maml:para>
      <maml:para>--Generate - In This Parameter Set The CmdLet Auto Generates A Password With Specified Length.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: Password -->
      <command:syntaxItem>
        <maml:name>Reset-SnsAdPassword</maml:name>
        <!-- Parameter: Identity -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
          <maml:name>Identity</maml:name>
          <maml:description>
            <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
            <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
            <maml:para>"DistinguishedName"</maml:para>
            <maml:para>"objectGUID"</maml:para>
            <maml:para>"objectSid"</maml:para>
            <maml:para>"AdsPath"</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Password -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>Password</maml:name>
          <maml:description>
            <maml:para>Specifies The Password Which Have To Be Set To The User.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Attempts -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Attempts</maml:name>
          <maml:description>
            <maml:para>Specifies The Number Of Attempts That Have To Be Made To Set The Specified Values To The Specified AD Attribute.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>3</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: DomainController -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>DomainController</maml:name>
          <maml:description>
            <maml:para>Specifies A Domain Controller Fully Qualified Domain Name.</maml:para>
            <maml:para>If Omitted The CmdLet Will Run Against The Logon Server.</maml:para>
            <maml:para>This Prevents Issues Related With AD Replication.</maml:para>
            <maml:para>In Multi Domain Forests Specifying Of Domain Controller Responsible For The AD Domain Where The AD Objects Are Located Is Required.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ResetTwice -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ResetTwice</maml:name>
          <maml:description>
            <maml:para>Specifies To Reset The Users Account Password Twice.</maml:para>
            <maml:para>In Certain Occasions There Is A Need The Password To Be Reset Twice.</maml:para>
            <maml:para>For Example: https://bit.ly/3HMsU0y</maml:para>
            <maml:para>Whenever This Feature Is Used The CmdLet Will Reset The Users Password Once With Randomly Generated Password With Length 256 Characters. Afterward Will Reset The Users Password Again As Per The Specified Parameters.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: UserMustChangePassword -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>UserMustChangePassword</maml:name>
          <maml:description>
            <maml:para>Specifies To Set "User must change password at next logon" Flag.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: AutoGenerate -->
      <command:syntaxItem>
        <maml:name>Reset-SnsAdPassword</maml:name>
        <!-- Parameter: Identity -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
          <maml:name>Identity</maml:name>
          <maml:description>
            <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
            <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
            <maml:para>"DistinguishedName"</maml:para>
            <maml:para>"objectGUID"</maml:para>
            <maml:para>"objectSid"</maml:para>
            <maml:para>"AdsPath"</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Attempts -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Attempts</maml:name>
          <maml:description>
            <maml:para>Specifies The Number Of Attempts That Have To Be Made To Set The Specified Values To The Specified AD Attribute.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>3</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: AutoGeneratePasswordWithLength -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>AutoGeneratePasswordWithLength</maml:name>
          <maml:description>
            <maml:para>Specifies To Auto Generate A Password With The Specified Length.</maml:para>
            <maml:para>If Omitted The Autogenerated Password Will Have Length 20 Characters.</maml:para>
            <maml:para>The Generated Password Will Be Reverted As Property Of The Output Object.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>20</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: DomainController -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>DomainController</maml:name>
          <maml:description>
            <maml:para>Specifies A Domain Controller Fully Qualified Domain Name.</maml:para>
            <maml:para>If Omitted The CmdLet Will Run Against The Logon Server.</maml:para>
            <maml:para>This Prevents Issues Related With AD Replication.</maml:para>
            <maml:para>In Multi Domain Forests Specifying Of Domain Controller Responsible For The AD Domain Where The AD Objects Are Located Is Required.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ResetTwice -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ResetTwice</maml:name>
          <maml:description>
            <maml:para>Specifies To Reset The Users Account Password Twice.</maml:para>
            <maml:para>In Certain Occasions There Is A Need The Password To Be Reset Twice.</maml:para>
            <maml:para>For Example: https://bit.ly/3HMsU0y</maml:para>
            <maml:para>Whenever This Feature Is Used The CmdLet Will Reset The Users Password Once With Randomly Generated Password With Length 256 Characters. Afterward Will Reset The Users Password Again As Per The Specified Parameters.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: UserMustChangePassword -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>UserMustChangePassword</maml:name>
          <maml:description>
            <maml:para>Specifies To Set "User must change password at next logon" Flag.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: Identity -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>Identity</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>ConnectionString</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>AdsPath</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>Path</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>distinguishedName</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>objectGUID</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>objectSid</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: DomainController -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>DomainController</maml:name>
        <maml:description>
          <maml:para>Specifies A Domain Controller Fully Qualified Domain Name.</maml:para>
          <maml:para>If Omitted The CmdLet Will Run Against The Logon Server.</maml:para>
          <maml:para>This Prevents Issues Related With AD Replication.</maml:para>
          <maml:para>In Multi Domain Forests Specifying Of Domain Controller Responsible For The AD Domain Where The AD Objects Are Located Is Required.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Password -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>Password</maml:name>
        <maml:description>
          <maml:para>Specifies The Password Which Have To Be Set To The User.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: AutoGeneratePasswordWithLength -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>AutoGeneratePasswordWithLength</maml:name>
        <maml:description>
          <maml:para>Specifies To Auto Generate A Password With The Specified Length.</maml:para>
          <maml:para>If Omitted The Autogenerated Password Will Have Length 20 Characters.</maml:para>
          <maml:para>The Generated Password Will Be Reverted As Property Of The Output Object.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>20</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Attempts -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Attempts</maml:name>
        <maml:description>
          <maml:para>Specifies The Number Of Attempts That Have To Be Made To Set The Specified Values To The Specified AD Attribute.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>3</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: UserMustChangePassword -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>UserMustChangePassword</maml:name>
        <maml:description>
          <maml:para>Specifies To Set "User must change password at next logon" Flag.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: ResetTwice -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>ResetTwice</maml:name>
        <maml:description>
          <maml:para>Specifies To Reset The Users Account Password Twice.</maml:para>
          <maml:para>In Certain Occasions There Is A Need The Password To Be Reset Twice.</maml:para>
          <maml:para>For Example: https://bit.ly/3HMsU0y</maml:para>
          <maml:para>Whenever This Feature Is Used The CmdLet Will Reset The Users Password Once With Randomly Generated Password With Length 256 Characters. Afterward Will Reset The Users Password Again As Per The Specified Parameters.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues>
      <!-- OutputType: SnsAdPassReset -->
      <command:returnValue>
        <dev:type>
          <maml:name>SnsPsModule.SnsAdPassReset</maml:name>
          <maml:uri />
        </dev:type>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:title></maml:title>
      <maml:alert>
        <maml:para>AUTHOR: Svetoslav Nedyalkov Savov</maml:para>
        <maml:para>THIS CODE IS MADE AVAILABLE AS IS, WITHOUT WARRANTY OF ANY KIND. THE ENTIRE RISK</maml:para>
        <maml:para>OF THE USE OR THE RESULTS FROM THE USE OF THIS CODE REMAINS WITH THE USER.</maml:para>
        <maml:para></maml:para>
        <maml:para></maml:para>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>[SnsPsModule.SnsAdPassReset]$objResult = Reset-SnsAdPassword `
-InputObject "CN=John Smith,OU=Users,DC=contoso,DC=com" `
-Password "Pa$$w0rd" -UserMustChangePassword;</dev:code>
        <dev:remarks>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 2 ----------</maml:title>
        <dev:code>[SnsPsModule.SnsAdPassReset]$objResult = Reset-SnsAdPassword `
-InputObject "CN=John Smith,OU=Users,DC=contoso,DC=com" `
-AutoGeneratePasswordWithLength 20 -UserMustChangePassword;</dev:code>
        <dev:remarks>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 3 ----------</maml:title>
        <dev:code>[SnsPsModule.SnsAdPassReset]$objResult = Reset-SnsAdPassword `
-InputObject "CN=John Smith,OU=Users,DC=contoso,DC=com" `
-UserMustChangePassword;</dev:code>
        <dev:remarks>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <maml:relatedLinks>
      <maml:navigationLink>
        <maml:linkText> svesavov / SnsPsModule - </maml:linkText>
        <maml:uri>https://github.com/svesavov/SnsPsModule</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText> PowerShell Gallery - </maml:linkText>
        <maml:uri>https://www.powershellgallery.com/packages/SnsPsModule/</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText> Svetoslav Savov on LinkedIn - </maml:linkText>
        <maml:uri>https://www.linkedin.com/in/svetoslavsavov</maml:uri>
      </maml:navigationLink>
    </maml:relatedLinks>
  </command:command>
  <!-- Cmdlet: Set-SnsAdProtectFromAccidentalDeletion -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Set-SnsAdProtectFromAccidentalDeletion</command:name>
      <command:verb>Set</command:verb>
      <command:noun>SnsAdProtectFromAccidentalDeletion</command:noun>
      <maml:description>
        <maml:para>Sets "Protect object from accidental deletion" Flag On Specified AD Objects.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Sets "Protect object from accidental deletion" Flag On Specified AD Objects.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: __AllParameterSets -->
      <command:syntaxItem>
        <maml:name>Set-SnsAdProtectFromAccidentalDeletion</maml:name>
        <!-- Parameter: Identity -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
          <maml:name>Identity</maml:name>
          <maml:description>
            <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
            <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
            <maml:para>"DistinguishedName"</maml:para>
            <maml:para>"objectGUID"</maml:para>
            <maml:para>"objectSid"</maml:para>
            <maml:para>"AdsPath"</maml:para>
            <maml:para>Whenever The CmdLet Will Be Used To Modify Multiple User Accounts In Different AD Domains In Multi Domain Forest, Must Be Used "AdsPath" With Included Domain Controller From The Domain Where The Object Is Located.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Attempts -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Attempts</maml:name>
          <maml:description>
            <maml:para>Specifies The Number Of Attempts That Have To Be Made To Set The Specified Values To The Specified AD Attribute.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>3</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: DomainController -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>DomainController</maml:name>
          <maml:description>
            <maml:para>Specifies A Domain Controller Fully Qualified Domain Name.</maml:para>
            <maml:para>If Omitted The CmdLet Will Run Against The Logon Server.</maml:para>
            <maml:para>This Prevents Issues Related With AD Replication.</maml:para>
            <maml:para>In Multi Domain Forests Specifying Of Domain Controller Responsible For The AD Domain Where The AD Objects Are Located Is Required.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Unprotect -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Unprotect</maml:name>
          <maml:description>
            <maml:para>Specifies To Remove "Protect object from accidental deletion" Flag.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: Identity -->
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>Identity</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>Whenever The CmdLet Will Be Used To Modify Multiple User Accounts In Different AD Domains In Multi Domain Forest, Must Be Used "AdsPath" With Included Domain Controller From The Domain Where The Object Is Located.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>ConnectionString</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>Whenever The CmdLet Will Be Used To Modify Multiple User Accounts In Different AD Domains In Multi Domain Forest, Must Be Used "AdsPath" With Included Domain Controller From The Domain Where The Object Is Located.</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>AdsPath</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>Whenever The CmdLet Will Be Used To Modify Multiple User Accounts In Different AD Domains In Multi Domain Forest, Must Be Used "AdsPath" With Included Domain Controller From The Domain Where The Object Is Located.</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>Path</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>Whenever The CmdLet Will Be Used To Modify Multiple User Accounts In Different AD Domains In Multi Domain Forest, Must Be Used "AdsPath" With Included Domain Controller From The Domain Where The Object Is Located.</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>distinguishedName</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>Whenever The CmdLet Will Be Used To Modify Multiple User Accounts In Different AD Domains In Multi Domain Forest, Must Be Used "AdsPath" With Included Domain Controller From The Domain Where The Object Is Located.</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>objectGUID</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>Whenever The CmdLet Will Be Used To Modify Multiple User Accounts In Different AD Domains In Multi Domain Forest, Must Be Used "AdsPath" With Included Domain Controller From The Domain Where The Object Is Located.</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>objectSid</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>Whenever The CmdLet Will Be Used To Modify Multiple User Accounts In Different AD Domains In Multi Domain Forest, Must Be Used "AdsPath" With Included Domain Controller From The Domain Where The Object Is Located.</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: DomainController -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>DomainController</maml:name>
        <maml:description>
          <maml:para>Specifies A Domain Controller Fully Qualified Domain Name.</maml:para>
          <maml:para>If Omitted The CmdLet Will Run Against The Logon Server.</maml:para>
          <maml:para>This Prevents Issues Related With AD Replication.</maml:para>
          <maml:para>In Multi Domain Forests Specifying Of Domain Controller Responsible For The AD Domain Where The AD Objects Are Located Is Required.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Unprotect -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Unprotect</maml:name>
        <maml:description>
          <maml:para>Specifies To Remove "Protect object from accidental deletion" Flag.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Attempts -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Attempts</maml:name>
        <maml:description>
          <maml:para>Specifies The Number Of Attempts That Have To Be Made To Set The Specified Values To The Specified AD Attribute.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>3</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>Whenever The CmdLet Will Be Used To Modify Multiple User Accounts In Different AD Domains In Multi Domain Forest, Must Be Used "AdsPath" With Included Domain Controller From The Domain Where The Object Is Located.</maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <!-- OutputType: SnsAdProtectFromAccidentalDeletion -->
      <command:returnValue>
        <dev:type>
          <maml:name>SnsPsModule.SnsAdProtectFromAccidentalDeletion</maml:name>
          <maml:uri />
        </dev:type>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:title></maml:title>
      <maml:alert>
        <maml:para>AUTHOR: Svetoslav Nedyalkov Savov</maml:para>
        <maml:para>THIS CODE IS MADE AVAILABLE AS IS, WITHOUT WARRANTY OF ANY KIND. THE ENTIRE RISK</maml:para>
        <maml:para>OF THE USE OR THE RESULTS FROM THE USE OF THIS CODE REMAINS WITH THE USER.</maml:para>
        <maml:para></maml:para>
        <maml:para></maml:para>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>[SnsPsModule.SnsAdProtectFromAccidentalDeletion]$objResult = Set-SnsAdProtectFromAccidentalDeletion `
-InputObject "CN=John Smith,OU=Users,DC=contoso,DC=com";</dev:code>
        <dev:remarks>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 2 ----------</maml:title>
        <dev:code>[SnsPsModule.SnsAdProtectFromAccidentalDeletion]$objResult = Set-SnsAdProtectFromAccidentalDeletion `
-InputObject "CN=John Smith,OU=Users,DC=contoso,DC=com" -Unprotect;</dev:code>
        <dev:remarks>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <maml:relatedLinks>
      <maml:navigationLink>
        <maml:linkText> svesavov / SnsPsModule - </maml:linkText>
        <maml:uri>https://github.com/svesavov/SnsPsModule</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText> PowerShell Gallery - </maml:linkText>
        <maml:uri>https://www.powershellgallery.com/packages/SnsPsModule/</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText> Svetoslav Savov on LinkedIn - </maml:linkText>
        <maml:uri>https://www.linkedin.com/in/svetoslavsavov</maml:uri>
      </maml:navigationLink>
    </maml:relatedLinks>
  </command:command>
  <!-- Cmdlet: Set-SnsAdStringAttribute -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Set-SnsAdStringAttribute</command:name>
      <command:verb>Set</command:verb>
      <command:noun>SnsAdStringAttribute</command:noun>
      <maml:description>
        <maml:para>Sets The Specified String Value In Specified AD Attribute Of Specified AD Object.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Sets The Specified String Value In Specified AD Attribute Of Specified AD Object.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: __AllParameterSets -->
      <command:syntaxItem>
        <maml:name>Set-SnsAdStringAttribute</maml:name>
        <!-- Parameter: Identity -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
          <maml:name>Identity</maml:name>
          <maml:description>
            <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
            <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
            <maml:para>"DistinguishedName"</maml:para>
            <maml:para>"objectGUID"</maml:para>
            <maml:para>"objectSid"</maml:para>
            <maml:para>"AdsPath"</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Attribute -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>Attribute</maml:name>
          <maml:description>
            <maml:para>Specifies The Attribute Which Have To Be Set As It Is Shown In ADSIEdit.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Value -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>Value</maml:name>
          <maml:description>
            <maml:para>Specifies The Value Which Have To Be Set On The Specified AD Attribute.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Attempts -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Attempts</maml:name>
          <maml:description>
            <maml:para>Specifies The Number Of Attempts That Have To Be Made To Set The Specified Values To The Specified AD Attribute.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>3</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: DomainController -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>DomainController</maml:name>
          <maml:description>
            <maml:para>Specifies A Domain Controller Fully Qualified Domain Name.</maml:para>
            <maml:para>If Omitted The CmdLet Will Run Against The Logon Server.</maml:para>
            <maml:para>This Prevents Issues Related With AD Replication.</maml:para>
            <maml:para>In Multi Domain Forests Specifying Of Domain Controller Responsible For The AD Domain Where The AD Objects Are Located Is Required.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: Identity -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>Identity</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>ConnectionString</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>AdsPath</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>Path</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>distinguishedName</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>objectGUID</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>objectSid</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: DomainController -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>DomainController</maml:name>
        <maml:description>
          <maml:para>Specifies A Domain Controller Fully Qualified Domain Name.</maml:para>
          <maml:para>If Omitted The CmdLet Will Run Against The Logon Server.</maml:para>
          <maml:para>This Prevents Issues Related With AD Replication.</maml:para>
          <maml:para>In Multi Domain Forests Specifying Of Domain Controller Responsible For The AD Domain Where The AD Objects Are Located Is Required.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Attribute -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>Attribute</maml:name>
        <maml:description>
          <maml:para>Specifies The Attribute Which Have To Be Set As It Is Shown In ADSIEdit.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Value -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>Value</maml:name>
        <maml:description>
          <maml:para>Specifies The Value Which Have To Be Set On The Specified AD Attribute.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Attempts -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Attempts</maml:name>
        <maml:description>
          <maml:para>Specifies The Number Of Attempts That Have To Be Made To Set The Specified Values To The Specified AD Attribute.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>3</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues>
      <!-- OutputType: SnsAdString -->
      <command:returnValue>
        <dev:type>
          <maml:name>SnsPsModule.SnsAdString</maml:name>
          <maml:uri />
        </dev:type>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:title></maml:title>
      <maml:alert>
        <maml:para>AUTHOR: Svetoslav Nedyalkov Savov</maml:para>
        <maml:para>THIS CODE IS MADE AVAILABLE AS IS, WITHOUT WARRANTY OF ANY KIND. THE ENTIRE RISK</maml:para>
        <maml:para>OF THE USE OR THE RESULTS FROM THE USE OF THIS CODE REMAINS WITH THE USER.</maml:para>
        <maml:para></maml:para>
        <maml:para></maml:para>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>[SnsPsModule.SnsAdString]$objResult = Set-SnsAdStringAttribute `
-Identity "CN=John Smith,OU=Users,DC=contoso,DC=com" `
-Attribute "extensionAttribute1" -Value "Test";</dev:code>
        <dev:remarks>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <maml:relatedLinks>
      <maml:navigationLink>
        <maml:linkText> svesavov / SnsPsModule - </maml:linkText>
        <maml:uri>https://github.com/svesavov/SnsPsModule</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText> PowerShell Gallery - </maml:linkText>
        <maml:uri>https://www.powershellgallery.com/packages/SnsPsModule/</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText> Svetoslav Savov on LinkedIn - </maml:linkText>
        <maml:uri>https://www.linkedin.com/in/svetoslavsavov</maml:uri>
      </maml:navigationLink>
    </maml:relatedLinks>
  </command:command>
  <!-- Cmdlet: Set-SnsAdUserMustChangePassword -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Set-SnsAdUserMustChangePassword</command:name>
      <command:verb>Set</command:verb>
      <command:noun>SnsAdUserMustChangePassword</command:noun>
      <maml:description>
        <maml:para>Sets "The user must change password at next logon" Flag On Specified Active Directory Account.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Sets "The user must change password at next logon" Flag On Specified Active Directory Account.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: __AllParameterSets -->
      <command:syntaxItem>
        <maml:name>Set-SnsAdUserMustChangePassword</maml:name>
        <!-- Parameter: Identity -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
          <maml:name>Identity</maml:name>
          <maml:description>
            <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
            <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
            <maml:para>"DistinguishedName"</maml:para>
            <maml:para>"objectGUID"</maml:para>
            <maml:para>"objectSid"</maml:para>
            <maml:para>"AdsPath"</maml:para>
            <maml:para>Whenever The CmdLet Will Be Used To Modify Multiple User Accounts In Different AD Domains In Multi Domain Forest, Must Be Used "AdsPath" With Included Domain Controller From The Domain Where The Object Is Located.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Attempts -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Attempts</maml:name>
          <maml:description>
            <maml:para>Specifies The Number Of Attempts That Have To Be Made To Set The Specified Values To The Specified AD Attribute.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>3</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: DomainController -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>DomainController</maml:name>
          <maml:description>
            <maml:para>Specifies A Domain Controller Fully Qualified Domain Name.</maml:para>
            <maml:para>If Omitted The CmdLet Will Run Against The Logon Server.</maml:para>
            <maml:para>This Prevents Issues Related With AD Replication.</maml:para>
            <maml:para>In Multi Domain Forests Specifying Of Domain Controller Responsible For The AD Domain Where The AD Objects Are Located Is Required.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Unset -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Unset</maml:name>
          <maml:description>
            <maml:para>Specifies To Remove "The user must change password at next logon" Flag.</maml:para>
            <maml:para>Use It With Consciousness.</maml:para>
            <maml:para>If You Have Rights To Do So, Most Probably You'll Be Responsible This To Never Happens.</maml:para>
            <maml:para>At Least You'll Be Aware Of The Consequences.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: Identity -->
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>Identity</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>Whenever The CmdLet Will Be Used To Modify Multiple User Accounts In Different AD Domains In Multi Domain Forest, Must Be Used "AdsPath" With Included Domain Controller From The Domain Where The Object Is Located.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>ConnectionString</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>Whenever The CmdLet Will Be Used To Modify Multiple User Accounts In Different AD Domains In Multi Domain Forest, Must Be Used "AdsPath" With Included Domain Controller From The Domain Where The Object Is Located.</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>AdsPath</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>Whenever The CmdLet Will Be Used To Modify Multiple User Accounts In Different AD Domains In Multi Domain Forest, Must Be Used "AdsPath" With Included Domain Controller From The Domain Where The Object Is Located.</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>Path</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>Whenever The CmdLet Will Be Used To Modify Multiple User Accounts In Different AD Domains In Multi Domain Forest, Must Be Used "AdsPath" With Included Domain Controller From The Domain Where The Object Is Located.</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>distinguishedName</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>Whenever The CmdLet Will Be Used To Modify Multiple User Accounts In Different AD Domains In Multi Domain Forest, Must Be Used "AdsPath" With Included Domain Controller From The Domain Where The Object Is Located.</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>objectGUID</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>Whenever The CmdLet Will Be Used To Modify Multiple User Accounts In Different AD Domains In Multi Domain Forest, Must Be Used "AdsPath" With Included Domain Controller From The Domain Where The Object Is Located.</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="0" aliases="ConnectionString,AdsPath,Path,distinguishedName,objectGUID,objectSid">
        <maml:name>objectSid</maml:name>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>Whenever The CmdLet Will Be Used To Modify Multiple User Accounts In Different AD Domains In Multi Domain Forest, Must Be Used "AdsPath" With Included Domain Controller From The Domain Where The Object Is Located.</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: DomainController -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>DomainController</maml:name>
        <maml:description>
          <maml:para>Specifies A Domain Controller Fully Qualified Domain Name.</maml:para>
          <maml:para>If Omitted The CmdLet Will Run Against The Logon Server.</maml:para>
          <maml:para>This Prevents Issues Related With AD Replication.</maml:para>
          <maml:para>In Multi Domain Forests Specifying Of Domain Controller Responsible For The AD Domain Where The AD Objects Are Located Is Required.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Unset -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Unset</maml:name>
        <maml:description>
          <maml:para>Specifies To Remove "The user must change password at next logon" Flag.</maml:para>
          <maml:para>Use It With Consciousness.</maml:para>
          <maml:para>If You Have Rights To Do So, Most Probably You'll Be Responsible This To Never Happens.</maml:para>
          <maml:para>At Least You'll Be Aware Of The Consequences.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Attempts -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Attempts</maml:name>
        <maml:description>
          <maml:para>Specifies The Number Of Attempts That Have To Be Made To Set The Specified Values To The Specified AD Attribute.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>3</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>Specifies The Identity Of An Active Directory Object To Be Modified.</maml:para>
          <maml:para>As Identity Can Be Used The Value In One Of The Following AD Attributes:</maml:para>
          <maml:para>"DistinguishedName"</maml:para>
          <maml:para>"objectGUID"</maml:para>
          <maml:para>"objectSid"</maml:para>
          <maml:para>"AdsPath"</maml:para>
          <maml:para>Whenever The CmdLet Will Be Used To Modify Multiple User Accounts In Different AD Domains In Multi Domain Forest, Must Be Used "AdsPath" With Included Domain Controller From The Domain Where The Object Is Located.</maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <!-- OutputType: SnsAdUsrMustChangePass -->
      <command:returnValue>
        <dev:type>
          <maml:name>SnsPsModule.SnsAdUsrMustChangePass</maml:name>
          <maml:uri />
        </dev:type>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:title></maml:title>
      <maml:alert>
        <maml:para>AUTHOR: Svetoslav Nedyalkov Savov</maml:para>
        <maml:para>THIS CODE IS MADE AVAILABLE AS IS, WITHOUT WARRANTY OF ANY KIND. THE ENTIRE RISK</maml:para>
        <maml:para>OF THE USE OR THE RESULTS FROM THE USE OF THIS CODE REMAINS WITH THE USER.</maml:para>
        <maml:para></maml:para>
        <maml:para></maml:para>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>[SnsPsModule.SnsAdUsrMustChangePass]$objResult = Set-SnsAdUserMustChangePassword `
-InputObject "CN=John Smith,OU=Users,DC=contoso,DC=com";</dev:code>
        <dev:remarks>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <maml:relatedLinks>
      <maml:navigationLink>
        <maml:linkText> svesavov / SnsPsModule - </maml:linkText>
        <maml:uri>https://github.com/svesavov/SnsPsModule</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText> PowerShell Gallery - </maml:linkText>
        <maml:uri>https://www.powershellgallery.com/packages/SnsPsModule/</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText> Svetoslav Savov on LinkedIn - </maml:linkText>
        <maml:uri>https://www.linkedin.com/in/svetoslavsavov</maml:uri>
      </maml:navigationLink>
    </maml:relatedLinks>
  </command:command>
  <!-- Cmdlet: New-SnsChart -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>New-SnsChart</command:name>
      <command:verb>New</command:verb>
      <command:noun>SnsChart</command:noun>
      <maml:description>
        <maml:para>This CmdLet Creates A Chart Object Based On The Specified Statistical Or Raw Data And Exports It On A File.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This CmdLet Creates A Chart Object Based On The Specified Statistical Or Raw Data And Exports It On A File.</maml:para>
      <maml:para>PowerShell Is A Scripting Language And It Does Not Need To Have Any Kind Of Forms, And Objects Used Within Forms As The Command Need No Graphical Interface. The PowerShell Is Intended To Be Used As A Language For Writing Of Automation Scripts. Sometime Those Automation Scripts Produce Reports Which Need To Be Sent On Emails. If The Reports Needs To Be Provided To Other System That Visualize The Output Is Better The Data To Be Inserted In A DataBase And The Other systems To Access The Data From There Or To Be Exported On .CSV Files And Provided To Those Systems. Whenever The Reports Data Have To Be Send On Humans Over Emails Or Some Other Channels Is Better The Data To Be Presented In Charts Than To Be Provided Data On .CSV Files Which Are Not Human Friendly. Here Comes The Need Of This CmdLet To Present Information On Human Friendly Way In Form Of Charts And Exports Those Charts On Common Recognizable Picture Formats, So They To Be Easily Embedded Into Emails, Webpages And etc. The .NET Chart Objects Normally Can Be Used Within Graphical In Interface Forms.</maml:para>
      <maml:para>The CmdLet Has Two Parameter Sets:</maml:para>
      <maml:para>Parameter Set "InputObject": In This Parameter Set The CmdLet Requires To Be Specified Already Processed Statistical Data And The CmdLet Will Prepare Only The Chart Visualization. The Input Objects Have To Be From Type PSObject Or PSCustomObject, Where The Property Names Have To Be The Values In The AxisX And The Values Within Those Properties Have To Be The AxisY Values. The CmdLet Requires The AxisY Values To Be From Type Double Or To Be Possible Explicit Casting To Type Double. If You Are Running The CmdLet In PowerShell 5 And Above, The Input Tables Can Be HashTables And The PowerShell Natively Will Convert Them To PSObject Type. However The HashTables Do Not Keep Track Of The Pairs Order Which Might Lead To Unexpected Results As For Example The Dots On AxisX To Be Not Properly Ordered. In This Parameter Set The User Have Greater Control On The Chart Visualization. For More Details Refer To Parameters Section Of This Document.</maml:para>
      <maml:para>Parameter Set "RawData": In This Parameter The CmdLet Will Require A Collection Of Type PSObject Or PSCustomObject With The RawData Which Have To Be Analyzed. The CmdLet Have Basic Analyze Functionalities. In This Parameter Set The CmdLet Will Require To Be Specified The Column In The RawData Which Have The Values That Identifies The Data Series (The Lines In The Chart), To Be Specified The Column Which Identifies The AxisX Values, And The Column That Will Be Used To Calculate The AxisY Values. It Might Sound Complicated But Giving An Example Will Clarify It. For Example If We Have A Collection With Objects That Have Properties "Severity", "Date" And "Message" We Can Specify To The CmdLet To Use The Column "Severity" As "SeriesColumn" Which Will Make Different Series (Lines Or Bar Series) For Each Value Present In The Column "Severity". For Example A Line For "Information Event" A Line For "Warning" And A Line For "Error". Then We Specify The Property / Column "Date" As "AxisXColumn" And The Produced Chart Will Have Bars Or Dots In A Line For Each Of The Dates Present In The "Date" Column. Then We Specify The Property / Column "Message" As "AxisYColumn" And The CmdLet Will Make Lines / Bars For With The Counts Of Information, Warning And Error Events For Each Date. The CmdLet Can Only Count The Occurrences Of The Values In The Specified Column "Messages". Whenever Average, Total Or Some Other Statistical Processing Is Needed The, Processing Have To Happen Outside The CmdLet And The Processed Data Have To Be Provided With "InputObject" Parameter Set.</maml:para>
      <maml:para>The "RawData" Parameter Set Is Limited From Visualization Options. For Example As The Data Series Are Taken From A Column In The Raw Data. The Colors for The Data Series Cannot Be Specified By The User. Normally The User Have To Analyze The Data To Identify The Data Series And To Specify Color For Each Data Serie. Which Makes No Sense To Leave The CmdLet To Analyze The Data. From That Perspective Other Than Automatic Color Generation Is Pointless In "RawData" Parameter Set, Because Without Analyze In Advance Is Not Clear The Number Of Series, Therefore The Number Of Colors That Are Needed. More Over It Might Happen That Some Of The Series Are Not Present Within The RawData, And Their Series To Be Not Created. For Example It Might Happen The Raw Data To Not Have Any "Error" Events Which Will Create A Chart Without Line For The Errors, Then The Specified Colors Will Not Match The Number Of Data Series. For More Details About Which Visualization Options Are Available In "RawData" Parameter Set Please Refer To Parameter Section Of This Document.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: InputObject -->
      <command:syntaxItem>
        <maml:name>New-SnsChart</maml:name>
        <!-- Parameter: InputObject -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named" aliases="Input,Series">
          <maml:name>InputObject</maml:name>
          <maml:description>
            <maml:para>Specifies Data Series Which Have To Be Visualized.</maml:para>
          </maml:description>
          <command:parameterValue required="true">PSObject[]</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.PSObject[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Path -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="FilePath,File">
          <maml:name>Path</maml:name>
          <maml:description>
            <maml:para>Specifies The File Where The Chart Will Be Exported.</maml:para>
            <maml:para>The File Extension Must Be Either ".png" Or ".jpg".</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: AddTotal -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>AddTotal</maml:name>
          <maml:description>
            <maml:para>Specifies To Add Sum Of The Serie Value In The Serie Entry Into The Chart Legend.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: AxisXTitle -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>AxisXTitle</maml:name>
          <maml:description>
            <maml:para>Specifies Axis "X" Title.</maml:para>
            <maml:para>Axis "X" Is The Horizontal Axis.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: AxisYTitle -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>AxisYTitle</maml:name>
          <maml:description>
            <maml:para>Specifies Axis "Y" Title.</maml:para>
            <maml:para>Axis "Y" Is The Vertical Axis.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ChartType -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ChartType</maml:name>
          <maml:description>
            <maml:para>Specifies Chart Type.</maml:para>
            <maml:para>Allowed Chart Types Are:</maml:para>
            <maml:para>"Column", "RangeColumn", "StackedColumn", "Bar", "RangeBar", "StackedBar", "Line", "FastLine", "StepLine", "Spline", "SplineRange", "Area", "SplineArea", "StackedArea", "Range"</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>Column</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Colors -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="EntryColor,SeriesColor">
          <maml:name>Colors</maml:name>
          <maml:description>
            <maml:para>Specifies Colors Of The Series.</maml:para>
            <maml:para>When Specified The Number And Order Of Colors Must Match The Number And Order Of The Input Objects.</maml:para>
            <maml:para>The Named Colors Can Be Specified By Their Name.</maml:para>
            <maml:para>For More Details: https://bit.ly/2LDgXSw</maml:para>
            <maml:para>If Omitted Will Be Used Random Colors From Bright Pastel Palette.</maml:para>
          </maml:description>
          <command:parameterValue required="true">Color[]</command:parameterValue>
          <dev:type>
            <maml:name>System.Drawing.Color[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Enable3D -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Enable3D</maml:name>
          <maml:description>
            <maml:para>Specifies To Create 3 Dimensional Chart.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: LegendTitle -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>LegendTitle</maml:name>
          <maml:description>
            <maml:para>Specifies Legend Title.</maml:para>
            <maml:para>If Omitted The Chart Legend Will Be Not Created.</maml:para>
            <maml:para>And The Chart Area Will Expand To The Width Of The File.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: PassThru -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>PassThru</maml:name>
          <maml:description>
            <maml:para>Specifies To The CmdLet To Revert A String Object.</maml:para>
            <maml:para>The Reverted String Is The Full Absolute UNC File Path To The Created Picture File.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: SeriesTitle -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>SeriesTitle</maml:name>
          <maml:description>
            <maml:para>Specifies Titles Of The Specified Data Series.</maml:para>
            <maml:para>When Specified The Number And Order Of Titles Must Match The Number And Order Of The Input Objects.</maml:para>
            <maml:para>If Omitted The Chart Legend Will Be Not Created.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Title -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="ChartTitle">
          <maml:name>Title</maml:name>
          <maml:description>
            <maml:para>Specifies The Chart Title.</maml:para>
            <maml:para>If Omitted The Chart Will Have No Title.</maml:para>
            <maml:para>And The Chart Area Will Expand To The High Of The File.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: RawData -->
      <command:syntaxItem>
        <maml:name>New-SnsChart</maml:name>
        <!-- Parameter: AxisXColumn -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>AxisXColumn</maml:name>
          <maml:description>
            <maml:para>Specifies A Column Name Within The RawData Which Identifies The AxisX Values.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: AxisYColumn -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>AxisYColumn</maml:name>
          <maml:description>
            <maml:para>Specifies A Column Within The RawData Which Identifies The Values Which Have To Be Analyzed / Counted And Output Set As AxisY Values.</maml:para>
            <maml:para>Normally That Would Be A Non Nullable Column Or The Objects Unique Identity / Primary Key.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Path -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="FilePath,File">
          <maml:name>Path</maml:name>
          <maml:description>
            <maml:para>Specifies The File Where The Chart Will Be Exported.</maml:para>
            <maml:para>The File Extension Must Be Either ".png" Or ".jpg".</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: RawData -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>RawData</maml:name>
          <maml:description>
            <maml:para>Specifies The RawData Which Have To Be Analized And Visualized.</maml:para>
          </maml:description>
          <command:parameterValue required="true">PSObject[]</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.PSObject[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: SeriesColumn -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>SeriesColumn</maml:name>
          <maml:description>
            <maml:para>Specifies A Column Name Within The RawData Which Identifies The Data Series.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: AddTotal -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>AddTotal</maml:name>
          <maml:description>
            <maml:para>Specifies To Add Sum Of The Serie Value In The Serie Entry Into The Chart Legend.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: AxisXTitle -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>AxisXTitle</maml:name>
          <maml:description>
            <maml:para>Specifies Axis "X" Title.</maml:para>
            <maml:para>Axis "X" Is The Horizontal Axis.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: AxisYTitle -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>AxisYTitle</maml:name>
          <maml:description>
            <maml:para>Specifies Axis "Y" Title.</maml:para>
            <maml:para>Axis "Y" Is The Vertical Axis.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ChartType -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ChartType</maml:name>
          <maml:description>
            <maml:para>Specifies Chart Type.</maml:para>
            <maml:para>Allowed Chart Types Are:</maml:para>
            <maml:para>"Column", "RangeColumn", "StackedColumn", "Bar", "RangeBar", "StackedBar", "Line", "FastLine", "StepLine", "Spline", "SplineRange", "Area", "SplineArea", "StackedArea", "Range"</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>Column</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Enable3D -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Enable3D</maml:name>
          <maml:description>
            <maml:para>Specifies To Create 3 Dimensional Chart.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: LegendTitle -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>LegendTitle</maml:name>
          <maml:description>
            <maml:para>Specifies Legend Title.</maml:para>
            <maml:para>If Omitted The Chart Legend Will Be Not Created.</maml:para>
            <maml:para>And The Chart Area Will Expand To The Width Of The File.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: PassThru -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>PassThru</maml:name>
          <maml:description>
            <maml:para>Specifies To The CmdLet To Revert A String Object.</maml:para>
            <maml:para>The Reverted String Is The Full Absolute UNC File Path To The Created Picture File.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Title -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="ChartTitle">
          <maml:name>Title</maml:name>
          <maml:description>
            <maml:para>Specifies The Chart Title.</maml:para>
            <maml:para>If Omitted The Chart Will Have No Title.</maml:para>
            <maml:para>And The Chart Area Will Expand To The High Of The File.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: Path -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="FilePath,File">
        <maml:name>Path</maml:name>
        <maml:description>
          <maml:para>Specifies The File Where The Chart Will Be Exported.</maml:para>
          <maml:para>The File Extension Must Be Either ".png" Or ".jpg".</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="FilePath,File">
        <maml:name>FilePath</maml:name>
        <maml:description>
          <maml:para>Specifies The File Where The Chart Will Be Exported.</maml:para>
          <maml:para>The File Extension Must Be Either ".png" Or ".jpg".</maml:para>
          <maml:para>This is an alias of the Path parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="FilePath,File">
        <maml:name>File</maml:name>
        <maml:description>
          <maml:para>Specifies The File Where The Chart Will Be Exported.</maml:para>
          <maml:para>The File Extension Must Be Either ".png" Or ".jpg".</maml:para>
          <maml:para>This is an alias of the Path parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Title -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="ChartTitle">
        <maml:name>Title</maml:name>
        <maml:description>
          <maml:para>Specifies The Chart Title.</maml:para>
          <maml:para>If Omitted The Chart Will Have No Title.</maml:para>
          <maml:para>And The Chart Area Will Expand To The High Of The File.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="ChartTitle">
        <maml:name>ChartTitle</maml:name>
        <maml:description>
          <maml:para>Specifies The Chart Title.</maml:para>
          <maml:para>If Omitted The Chart Will Have No Title.</maml:para>
          <maml:para>And The Chart Area Will Expand To The High Of The File.</maml:para>
          <maml:para>This is an alias of the Title parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: LegendTitle -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>LegendTitle</maml:name>
        <maml:description>
          <maml:para>Specifies Legend Title.</maml:para>
          <maml:para>If Omitted The Chart Legend Will Be Not Created.</maml:para>
          <maml:para>And The Chart Area Will Expand To The Width Of The File.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: AxisXTitle -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>AxisXTitle</maml:name>
        <maml:description>
          <maml:para>Specifies Axis "X" Title.</maml:para>
          <maml:para>Axis "X" Is The Horizontal Axis.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: AxisYTitle -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>AxisYTitle</maml:name>
        <maml:description>
          <maml:para>Specifies Axis "Y" Title.</maml:para>
          <maml:para>Axis "Y" Is The Vertical Axis.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Enable3D -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Enable3D</maml:name>
        <maml:description>
          <maml:para>Specifies To Create 3 Dimensional Chart.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: AddTotal -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>AddTotal</maml:name>
        <maml:description>
          <maml:para>Specifies To Add Sum Of The Serie Value In The Serie Entry Into The Chart Legend.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: ChartType -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>ChartType</maml:name>
        <maml:description>
          <maml:para>Specifies Chart Type.</maml:para>
          <maml:para>Allowed Chart Types Are:</maml:para>
          <maml:para>"Column", "RangeColumn", "StackedColumn", "Bar", "RangeBar", "StackedBar", "Line", "FastLine", "StepLine", "Spline", "SplineRange", "Area", "SplineArea", "StackedArea", "Range"</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>Column</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: PassThru -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>PassThru</maml:name>
        <maml:description>
          <maml:para>Specifies To The CmdLet To Revert A String Object.</maml:para>
          <maml:para>The Reverted String Is The Full Absolute UNC File Path To The Created Picture File.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: InputObject -->
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named" aliases="Input,Series">
        <maml:name>InputObject</maml:name>
        <maml:description>
          <maml:para>Specifies Data Series Which Have To Be Visualized.</maml:para>
        </maml:description>
        <command:parameterValue required="true">PSObject[]</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.PSObject[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named" aliases="Input,Series">
        <maml:name>Input</maml:name>
        <maml:description>
          <maml:para>Specifies Data Series Which Have To Be Visualized.</maml:para>
          <maml:para>This is an alias of the InputObject parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">PSObject[]</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.PSObject[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named" aliases="Input,Series">
        <maml:name>Series</maml:name>
        <maml:description>
          <maml:para>Specifies Data Series Which Have To Be Visualized.</maml:para>
          <maml:para>This is an alias of the InputObject parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">PSObject[]</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.PSObject[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: SeriesTitle -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>SeriesTitle</maml:name>
        <maml:description>
          <maml:para>Specifies Titles Of The Specified Data Series.</maml:para>
          <maml:para>When Specified The Number And Order Of Titles Must Match The Number And Order Of The Input Objects.</maml:para>
          <maml:para>If Omitted The Chart Legend Will Be Not Created.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Colors -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="EntryColor,SeriesColor">
        <maml:name>Colors</maml:name>
        <maml:description>
          <maml:para>Specifies Colors Of The Series.</maml:para>
          <maml:para>When Specified The Number And Order Of Colors Must Match The Number And Order Of The Input Objects.</maml:para>
          <maml:para>The Named Colors Can Be Specified By Their Name.</maml:para>
          <maml:para>For More Details: https://bit.ly/2LDgXSw</maml:para>
          <maml:para>If Omitted Will Be Used Random Colors From Bright Pastel Palette.</maml:para>
        </maml:description>
        <command:parameterValue required="true">Color[]</command:parameterValue>
        <dev:type>
          <maml:name>System.Drawing.Color[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="EntryColor,SeriesColor">
        <maml:name>EntryColor</maml:name>
        <maml:description>
          <maml:para>Specifies Colors Of The Series.</maml:para>
          <maml:para>When Specified The Number And Order Of Colors Must Match The Number And Order Of The Input Objects.</maml:para>
          <maml:para>The Named Colors Can Be Specified By Their Name.</maml:para>
          <maml:para>For More Details: https://bit.ly/2LDgXSw</maml:para>
          <maml:para>If Omitted Will Be Used Random Colors From Bright Pastel Palette.</maml:para>
          <maml:para>This is an alias of the Colors parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">Color[]</command:parameterValue>
        <dev:type>
          <maml:name>System.Drawing.Color[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="EntryColor,SeriesColor">
        <maml:name>SeriesColor</maml:name>
        <maml:description>
          <maml:para>Specifies Colors Of The Series.</maml:para>
          <maml:para>When Specified The Number And Order Of Colors Must Match The Number And Order Of The Input Objects.</maml:para>
          <maml:para>The Named Colors Can Be Specified By Their Name.</maml:para>
          <maml:para>For More Details: https://bit.ly/2LDgXSw</maml:para>
          <maml:para>If Omitted Will Be Used Random Colors From Bright Pastel Palette.</maml:para>
          <maml:para>This is an alias of the Colors parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">Color[]</command:parameterValue>
        <dev:type>
          <maml:name>System.Drawing.Color[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: RawData -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>RawData</maml:name>
        <maml:description>
          <maml:para>Specifies The RawData Which Have To Be Analized And Visualized.</maml:para>
        </maml:description>
        <command:parameterValue required="true">PSObject[]</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.PSObject[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: SeriesColumn -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>SeriesColumn</maml:name>
        <maml:description>
          <maml:para>Specifies A Column Name Within The RawData Which Identifies The Data Series.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: AxisXColumn -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>AxisXColumn</maml:name>
        <maml:description>
          <maml:para>Specifies A Column Name Within The RawData Which Identifies The AxisX Values.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: AxisYColumn -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>AxisYColumn</maml:name>
        <maml:description>
          <maml:para>Specifies A Column Within The RawData Which Identifies The Values Which Have To Be Analyzed / Counted And Output Set As AxisY Values.</maml:para>
          <maml:para>Normally That Would Be A Non Nullable Column Or The Objects Unique Identity / Primary Key.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.Management.Automation.PSObject[]</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>Specifies Data Series Which Have To Be Visualized.</maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <!-- OutputType: String[] -->
      <command:returnValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:title>Warning</maml:title>
      <maml:alert>
        <maml:para>Whenever The Values In AxisX Are System.DateTime Objects The User Have To Pay Extra Attention As Unexpected Results Might Be Produced, Because Of The Precision Of The Struct. For Example Wanted Chart With Type Column And Columns Per Day, And The Produced Chart To Have Columns For Each Millisecond With Height 1. In That Case The Raw Data Have To Be Modified In Advance In A Way So The Values In AxisX To Be Grouped As Per The Desired Output. For Example If The Chart Have To Present The Data Per Day, The Information About The Hours, Minutes, Seconds And etc. Have To Be Stripped Out From The Date Column.</maml:para>
        <maml:para></maml:para>
        <maml:para></maml:para>
        <maml:para></maml:para>
      </maml:alert>
      <maml:title>AUTHOR</maml:title>
      <maml:alert>
        <maml:para>AUTHOR: Svetoslav Nedyalkov Savov</maml:para>
        <maml:para>THIS CODE IS MADE AVAILABLE AS IS, WITHOUT WARRANTY OF ANY KIND. THE ENTIRE RISK</maml:para>
        <maml:para>OF THE USE OR THE RESULTS FROM THE USE OF THIS CODE REMAINS WITH THE USER.</maml:para>
        <maml:para></maml:para>
        <maml:para></maml:para>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>$arrInput | New-SnsChart -Path 'C:\Cha.png' -ChartType "Column" -AxisXTitle "Date" -AxisYTitle "Events Number" `
-LegendTitle "Event Severity" -SeriesColor @("Green", "Yellow", "Red") -Title "Events Per Date" `
-SeriesTitle @("Information Events", "Warning Events", "Error Events");</dev:code>
        <dev:remarks>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 2 ----------</maml:title>
        <dev:code>New-SnsChart -Path 'C:\Cha.jpg' -ChartType "Column" -RawData $rrInput -AxisXColumn "Date" -AxisYColumn "Message" `
-SeriesColumn "Severity" -AxisXTitle "Date" -AxisYTitle "Events Number" -LegendTitle "Event Severity" -Enable3D `
-Title "Events Per Date";</dev:code>
        <dev:remarks>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <maml:relatedLinks>
      <maml:navigationLink>
        <maml:linkText> svesavov / SnsPsModule - </maml:linkText>
        <maml:uri>https://github.com/svesavov/SnsPsModule</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText> PowerShell Gallery - </maml:linkText>
        <maml:uri>https://www.powershellgallery.com/packages/SnsPsModule/</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText> Svetoslav Savov on LinkedIn - </maml:linkText>
        <maml:uri>https://www.linkedin.com/in/svetoslavsavov</maml:uri>
      </maml:navigationLink>
    </maml:relatedLinks>
  </command:command>
  <!-- Cmdlet: New-SnsHtmlHeader -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>New-SnsHtmlHeader</command:name>
      <command:verb>New</command:verb>
      <command:noun>SnsHtmlHeader</command:noun>
      <maml:description>
        <maml:para>Creates XHTML 1.0 Strict Web Page Header And CSS3 Template.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Creates XHTML 1.0 Strict Web Page Header And CSS3 Template.</maml:para>
      <maml:para>Depending Of The Specified Parameters HTML Document Declaration Is Made As C# ASP.NET XHTML 1.0 Strict Document Or Normal XHTML 1.0 Strict HTML Document.</maml:para>
      <maml:para>In The HTML Header Section Are Prepared Place Holder Sections About ASP.NET C# Code Behind And JavaScript Functions Depending Of The Specified Parameters.</maml:para>
      <maml:para>The Paragraph Style With Class "Mail" Mimic Exactly The Outlook Font Size And Color For Replying And Forwarding Of Email Messages.</maml:para>
      <maml:para>The CmdLet Have Aliases CreateHtmlHeader And Create-HtmlHeader.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: ExternalCss -->
      <command:syntaxItem>
        <maml:name>New-SnsHtmlHeader</maml:name>
        <!-- Parameter: CssLink -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>CssLink</maml:name>
          <maml:description>
            <maml:para>Specifies To The CmdLet To Create A Link To The External CSS3 Style File.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ScriptName -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>ScriptName</maml:name>
          <maml:description>
            <maml:para>Specifies A Script Name.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: AdditionalStyle -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>AdditionalStyle</maml:name>
          <maml:description>
            <maml:para>Specifies To The CmdLet Any Additional CSS3 Style.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Author -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Author</maml:name>
          <maml:description>
            <maml:para>Specifies Author Of The HTML Document.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>Svetoslav Nedyalkov Savov</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: AutoRefresh -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>AutoRefresh</maml:name>
          <maml:description>
            <maml:para>Specifies The HTML AutoRefresh Time Interval In Seconds.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: CascadeTableRows -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>CascadeTableRows</maml:name>
          <maml:description>
            <maml:para>Specifies To Make Table Rows In Different Color Zebra Like.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: CssFilePath -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>CssFilePath</maml:name>
          <maml:description>
            <maml:para>Specifies To The CmdLet To Export The CSS3 Style On A File.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Doctype -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Doctype</maml:name>
          <maml:description>
            <maml:para>Specifies HTML Doctype.</maml:para>
            <maml:para>Values: "XHTML1.0Strict", "HTML4.01Strict" And "XHTML1.0Transitional".</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>XHTML1.0Transitional</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: LinksInheritStyle -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>LinksInheritStyle</maml:name>
          <maml:description>
            <maml:para>Specifies To Format The Links In Way To Inherit The Stile From Their Parent In Order To Look Like Regular Text.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>True</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: MouseHover -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>MouseHover</maml:name>
          <maml:description>
            <maml:para>Specifies To Table Cells To Change Their Color On Mouse Hover.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: UsingAspx -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>UsingAspx</maml:name>
          <maml:description>
            <maml:para>Specifies To The CmdLet To Declare The Web Document As C# ASP.NET One And Insert C# Code Behind Place Holder.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: UsingJavaScript -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>UsingJavaScript</maml:name>
          <maml:description>
            <maml:para>Specifies To The CmdLet To Insert JavaScript Place Holder.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: InnerCss -->
      <command:syntaxItem>
        <maml:name>New-SnsHtmlHeader</maml:name>
        <!-- Parameter: ScriptName -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>ScriptName</maml:name>
          <maml:description>
            <maml:para>Specifies A Script Name.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: AdditionalStyle -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>AdditionalStyle</maml:name>
          <maml:description>
            <maml:para>Specifies To The CmdLet Any Additional CSS3 Style.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Author -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Author</maml:name>
          <maml:description>
            <maml:para>Specifies Author Of The HTML Document.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>Svetoslav Nedyalkov Savov</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: AutoRefresh -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>AutoRefresh</maml:name>
          <maml:description>
            <maml:para>Specifies The HTML AutoRefresh Time Interval In Seconds.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>0</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: CascadeTableRows -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>CascadeTableRows</maml:name>
          <maml:description>
            <maml:para>Specifies To Make Table Rows In Different Color Zebra Like.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Doctype -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Doctype</maml:name>
          <maml:description>
            <maml:para>Specifies HTML Doctype.</maml:para>
            <maml:para>Values: "XHTML1.0Strict", "HTML4.01Strict" And "XHTML1.0Transitional".</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>XHTML1.0Transitional</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: InnerCss -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>InnerCss</maml:name>
          <maml:description>
            <maml:para>Specifies To The CmdLet To Include The CSS3 Style Inside The HTML Document Header.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>True</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: LinksInheritStyle -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>LinksInheritStyle</maml:name>
          <maml:description>
            <maml:para>Specifies To Format The Links In Way To Inherit The Stile From Their Parent In Order To Look Like Regular Text.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>True</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: MouseHover -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>MouseHover</maml:name>
          <maml:description>
            <maml:para>Specifies To Table Cells To Change Their Color On Mouse Hover.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: RedEmail -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>RedEmail</maml:name>
          <maml:description>
            <maml:para>Specifies To Be Changed The Background Color And Font Color To Red Ones.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: UsingAspx -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>UsingAspx</maml:name>
          <maml:description>
            <maml:para>Specifies To The CmdLet To Declare The Web Document As C# ASP.NET One And Insert C# Code Behind Place Holder.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: UsingJavaScript -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>UsingJavaScript</maml:name>
          <maml:description>
            <maml:para>Specifies To The CmdLet To Insert JavaScript Place Holder.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: ScriptName -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>ScriptName</maml:name>
        <maml:description>
          <maml:para>Specifies A Script Name.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Author -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Author</maml:name>
        <maml:description>
          <maml:para>Specifies Author Of The HTML Document.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>Svetoslav Nedyalkov Savov</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Doctype -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Doctype</maml:name>
        <maml:description>
          <maml:para>Specifies HTML Doctype.</maml:para>
          <maml:para>Values: "XHTML1.0Strict", "HTML4.01Strict" And "XHTML1.0Transitional".</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>XHTML1.0Transitional</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: AutoRefresh -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>AutoRefresh</maml:name>
        <maml:description>
          <maml:para>Specifies The HTML AutoRefresh Time Interval In Seconds.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>0</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: CssFilePath -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>CssFilePath</maml:name>
        <maml:description>
          <maml:para>Specifies To The CmdLet To Export The CSS3 Style On A File.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: CssLink -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>CssLink</maml:name>
        <maml:description>
          <maml:para>Specifies To The CmdLet To Create A Link To The External CSS3 Style File.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: InnerCss -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>InnerCss</maml:name>
        <maml:description>
          <maml:para>Specifies To The CmdLet To Include The CSS3 Style Inside The HTML Document Header.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>True</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: UsingAspx -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>UsingAspx</maml:name>
        <maml:description>
          <maml:para>Specifies To The CmdLet To Declare The Web Document As C# ASP.NET One And Insert C# Code Behind Place Holder.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: UsingJavaScript -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>UsingJavaScript</maml:name>
        <maml:description>
          <maml:para>Specifies To The CmdLet To Insert JavaScript Place Holder.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: AdditionalStyle -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>AdditionalStyle</maml:name>
        <maml:description>
          <maml:para>Specifies To The CmdLet Any Additional CSS3 Style.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: CascadeTableRows -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>CascadeTableRows</maml:name>
        <maml:description>
          <maml:para>Specifies To Make Table Rows In Different Color Zebra Like.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: MouseHover -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>MouseHover</maml:name>
        <maml:description>
          <maml:para>Specifies To Table Cells To Change Their Color On Mouse Hover.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: RedEmail -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>RedEmail</maml:name>
        <maml:description>
          <maml:para>Specifies To Be Changed The Background Color And Font Color To Red Ones.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: LinksInheritStyle -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>LinksInheritStyle</maml:name>
        <maml:description>
          <maml:para>Specifies To Format The Links In Way To Inherit The Stile From Their Parent In Order To Look Like Regular Text.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>True</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues>
      <!-- OutputType: String -->
      <command:returnValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:title></maml:title>
      <maml:alert>
        <maml:para>AUTHOR: Svetoslav Nedyalkov Savov</maml:para>
        <maml:para>THIS CODE IS MADE AVAILABLE AS IS, WITHOUT WARRANTY OF ANY KIND. THE ENTIRE RISK</maml:para>
        <maml:para>OF THE USE OR THE RESULTS FROM THE USE OF THIS CODE REMAINS WITH THE USER.</maml:para>
        <maml:para></maml:para>
        <maml:para></maml:para>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>[System.String]$strMessageBody = New-SnsHtmlHeader -ScriptName "$($Configuration.ScriptName)";</dev:code>
        <dev:remarks>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 2 ----------</maml:title>
        <dev:code>[System.String]$strMessageBody = New-SnsHtmlHeader -ScriptName "$($Configuration.ScriptName)" `
-CssLink "Styles.css" -CssFilePath "C:\inetpub\wwwroot\Styles.css"</dev:code>
        <dev:remarks>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <maml:relatedLinks>
      <maml:navigationLink>
        <maml:linkText> svesavov / SnsPsModule - </maml:linkText>
        <maml:uri>https://github.com/svesavov/SnsPsModule</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText> PowerShell Gallery - </maml:linkText>
        <maml:uri>https://www.powershellgallery.com/packages/SnsPsModule/</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText> Svetoslav Savov on LinkedIn - </maml:linkText>
        <maml:uri>https://www.linkedin.com/in/svetoslavsavov</maml:uri>
      </maml:navigationLink>
    </maml:relatedLinks>
  </command:command>
  <!-- Cmdlet: ConvertFrom-SnsIADsLargeInteger -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>ConvertFrom-SnsIADsLargeInteger</command:name>
      <command:verb>ConvertFrom</command:verb>
      <command:noun>SnsIADsLargeInteger</command:noun>
      <maml:description>
        <maml:para>Converts AD Specific IADsLargeInteger Objects To Regular System.Int64 Struct.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Converts AD Specific IADsLargeInteger Objects To Regular System.Int64 Struct.</maml:para>
      <maml:para>NOTE: The IADsLargeInteger Values Usually Cannot Be Taken Directly From The AD Object Property Which Contains IADsLargeInteger Value Type. Normally Those AD Properties Are Presented As COM Objects, Which Have "Value" Property. The Command-Let Will Expect The Value Taken From The "Value" Property Of The AD Object Property. Please Refer To The Example Below.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: __AllParameterSets -->
      <command:syntaxItem>
        <maml:name>ConvertFrom-SnsIADsLargeInteger</maml:name>
        <!-- Parameter: IADsLargeIntegerValue -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="0" aliases="AdsLargeInteger">
          <maml:name>IADsLargeIntegerValue</maml:name>
          <maml:description>
            <maml:para>Specifies An Active Directory IADsLargeInteger Value.</maml:para>
            <maml:para>Keep In Mind That ADSI Properties Are Hash Tables And Value Property Shall Be Used.</maml:para>
            <maml:para>like $objAdsiAccount.pwdLastSet.Value</maml:para>
          </maml:description>
          <command:parameterValue required="true">object[]</command:parameterValue>
          <dev:type>
            <maml:name>System.Object[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: IADsLargeIntegerValue -->
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="0" aliases="AdsLargeInteger">
        <maml:name>IADsLargeIntegerValue</maml:name>
        <maml:description>
          <maml:para>Specifies An Active Directory IADsLargeInteger Value.</maml:para>
          <maml:para>Keep In Mind That ADSI Properties Are Hash Tables And Value Property Shall Be Used.</maml:para>
          <maml:para>like $objAdsiAccount.pwdLastSet.Value</maml:para>
        </maml:description>
        <command:parameterValue required="true">object[]</command:parameterValue>
        <dev:type>
          <maml:name>System.Object[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="0" aliases="AdsLargeInteger">
        <maml:name>AdsLargeInteger</maml:name>
        <maml:description>
          <maml:para>Specifies An Active Directory IADsLargeInteger Value.</maml:para>
          <maml:para>Keep In Mind That ADSI Properties Are Hash Tables And Value Property Shall Be Used.</maml:para>
          <maml:para>like $objAdsiAccount.pwdLastSet.Value</maml:para>
          <maml:para>This is an alias of the IADsLargeIntegerValue parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">object[]</command:parameterValue>
        <dev:type>
          <maml:name>System.Object[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.Object[]</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>Specifies An Active Directory IADsLargeInteger Value.</maml:para>
          <maml:para>Keep In Mind That ADSI Properties Are Hash Tables And Value Property Shall Be Used.</maml:para>
          <maml:para>like $objAdsiAccount.pwdLastSet.Value</maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <!-- OutputType: Int64 -->
      <command:returnValue>
        <dev:type>
          <maml:name>System.Int64</maml:name>
          <maml:uri />
        </dev:type>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:title></maml:title>
      <maml:alert>
        <maml:para>AUTHOR: Svetoslav Nedyalkov Savov</maml:para>
        <maml:para>THIS CODE IS MADE AVAILABLE AS IS, WITHOUT WARRANTY OF ANY KIND. THE ENTIRE RISK</maml:para>
        <maml:para>OF THE USE OR THE RESULTS FROM THE USE OF THIS CODE REMAINS WITH THE USER.</maml:para>
        <maml:para></maml:para>
        <maml:para></maml:para>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>[System.Int64[]]$intPwdLastSet = ConvertFrom-SnsIADsLargeInteger $AdsiUser.pwdLastSet.Value;</dev:code>
        <dev:remarks>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 2 ----------</maml:title>
        <dev:code>[System.DateTime]$datPwdLastSet = [System.DateTime]::FromFileTime($(ConvertFrom-SnsIADsLargeInteger $([ADSI]"LDAP://$($strDN)").pwdLastSet.Value));</dev:code>
        <dev:remarks>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 3 ----------</maml:title>
        <dev:code>[System.DateTime]$datPwdLastSet = ([System.DateTime]'1601-01-01').AddTicks($(ConvertFrom-SnsIADsLargeInteger $AdsiUser.pwdLastSet.Value)).ToLocalTime();</dev:code>
        <dev:remarks>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <maml:relatedLinks>
      <maml:navigationLink>
        <maml:linkText> svesavov / SnsPsModule - </maml:linkText>
        <maml:uri>https://github.com/svesavov/SnsPsModule</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText> PowerShell Gallery - </maml:linkText>
        <maml:uri>https://www.powershellgallery.com/packages/SnsPsModule/</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText> Svetoslav Savov on LinkedIn - </maml:linkText>
        <maml:uri>https://www.linkedin.com/in/svetoslavsavov</maml:uri>
      </maml:navigationLink>
    </maml:relatedLinks>
  </command:command>
  <!-- Cmdlet: ConvertFrom-SnsIpAddressString -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>ConvertFrom-SnsIpAddressString</command:name>
      <command:verb>ConvertFrom</command:verb>
      <command:noun>SnsIpAddressString</command:noun>
      <maml:description>
        <maml:para>Converts IP V4 Address String To System.UInt32</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Converts IP V4 Address String To System.UInt32</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: __AllParameterSets -->
      <command:syntaxItem>
        <maml:name>ConvertFrom-SnsIpAddressString</maml:name>
        <!-- Parameter: IpAddress -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="0">
          <maml:name>IpAddress</maml:name>
          <maml:description>
            <maml:para>Specifies IP V4 String.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: IpAddress -->
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="0">
        <maml:name>IpAddress</maml:name>
        <maml:description>
          <maml:para>Specifies IP V4 String.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>Specifies IP V4 String.</maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <!-- OutputType: UInt32[] -->
      <command:returnValue>
        <dev:type>
          <maml:name>System.UInt32[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:title></maml:title>
      <maml:alert>
        <maml:para>AUTHOR: Svetoslav Nedyalkov Savov</maml:para>
        <maml:para>THIS CODE IS MADE AVAILABLE AS IS, WITHOUT WARRANTY OF ANY KIND. THE ENTIRE RISK</maml:para>
        <maml:para>OF THE USE OR THE RESULTS FROM THE USE OF THIS CODE REMAINS WITH THE USER.</maml:para>
        <maml:para></maml:para>
        <maml:para></maml:para>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>[System.UInt32[]]$IpNumeric = ConvertFrom-SnsIpAddressString -IpAddress '192.168.1.1';</dev:code>
        <dev:remarks>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <maml:relatedLinks>
      <maml:navigationLink>
        <maml:linkText> svesavov / SnsPsModule - </maml:linkText>
        <maml:uri>https://github.com/svesavov/SnsPsModule</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText> PowerShell Gallery - </maml:linkText>
        <maml:uri>https://www.powershellgallery.com/packages/SnsPsModule/</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText> Svetoslav Savov on LinkedIn - </maml:linkText>
        <maml:uri>https://www.linkedin.com/in/svetoslavsavov</maml:uri>
      </maml:navigationLink>
    </maml:relatedLinks>
  </command:command>
  <!-- Cmdlet: Invoke-SnsParallelRunSpaces -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Invoke-SnsParallelRunSpaces</command:name>
      <command:verb>Invoke</command:verb>
      <command:noun>SnsParallelRunSpaces</command:noun>
      <maml:description>
        <maml:para>This CmdLet Creates And Manages PowerShell Runspaces Thru Their Lifecycle To Have Multi-Threading Like Experience.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>This CmdLet Creates And Manages PowerShell Runspaces Thru Their Lifecycle To Have Multi-Threading Like Experience.</maml:para>
      <maml:para>The Default PowerShell Session Is Single-Threaded. It Runs One Command And When It Finishes, It Moves To The Next Command. This Is Nice As It Keeps Everything Repeatable And Does Not Use Many Resources. But What If The Actions It Is Performing Are Not Dependent On One Another And You Have The CPU Resources To Spare? In That Case, It Is Time To Start Thinking About Multi-Threading.</maml:para>
      <maml:para>Multithreading Is A Way To Run More Than One Command At A Time. The Primary Benefit Of Multi-Threading Is To Decrease The Runtime Of The Code. This Time Decrease Is At The Tradeoff A Higher Processing Power Requirement. When Multi-Threading, Many Actions Are Being Performed At Once Thus Requiring More System Resources.</maml:para>
      <maml:para>When Using Multi-Threading Have To Be Considered:</maml:para>
      <maml:para>-- Code Optimization - Using A Code Which Is Not Performance Optimized Will Cause Excessive System Resource Usage. The Effect Is Being Multiplied By The Number Of Threads Running In Parallel. Let Us Explain This With An Example:</maml:para>
      <maml:para>Get-Process | Where-Object {$_.ProcessName -eq "PowerShell"}</maml:para>
      <maml:para>Will Require Much More Resources And Time To Complete Than</maml:para>
      <maml:para>Get-Process -Name "PowerShell"</maml:para>
      <maml:para>Because The First Command Have To Enumerate All The System Processes, Process The Output And Send It To The Pipeline Then The Second Command Have To Filter Out All The Processes Except "PowerShell", While In The Second Example The Get-Process Command Will Enumerate Only System Processes With Name "PowerShell". The Same Result Is Achieved With Less System Resources And Much Faster. In Case That Is Run In Multiple Threads This Will Be Multiplied By Their Number.</maml:para>
      <maml:para>-- Thread-Safe Code - The Code Run Within Multiple Threads Must Be Adapted For That. In Case Multiple Threads Write To The Same File Or A DataBase Not Optimized For Handling Of The DataBase Locks Like Most Of The Free Serverless DataBase Solutions, Might Lead To File Or DataBase Locks And Failure Of The Code Within The Threads And Data Loss. In All The Cases The Updates In Those Files / DataBases Will Be Scrambled Because The Threads Run Asynchronously And There Is No Guarantee That They Will Finish In The Order They Are Started. Writing Into A Single Destination Is Considered As Thread-Unsafe Action, While Reading Is Considered As Thread-Safe Because All The Threads Will Receive The Same Input. Dependency Of The Asynchronously Run Threads On Each Other Is Considered As Thread-Unsafe As Well. This Ruins The Whole Point And Benefit Of Multi-Threading In Case A Thread Waits Another Thread To Finish To Receive Its Output We Have No Gain In The Code Runtime The Code Is Executed Like In A Single Thread One Command At A Time And The Next Is Run After The First One Finishes.</maml:para>
      <maml:para>-- Performance Considerations - When Multi-Threading The Consumed System Resources Are Multiplied By The Number Of Threads And Resources Are Used For The Threads Management Too. Running Multiple Threads Simultaneously Might Quickly Consume The System Resources And Cause The System To Crash. To Prevent That The Number Of Simultaneously Run Threads Have To Be Limited. According To The Best Practices The Number Of Threads Running In Parallel Should Not Exceed The Number Of CPU Cores. When Exceeded We Have No Real Performance Gain As A CPU Have To Switch Between The Threads. At The End, The Code Runtime Will Be Even Higher In Comparison With Limiting The Number Of Parallel Running Threads.</maml:para>
      <maml:para>We Can Have Multi-Threading In PowerShell In One Of Two Ways: Via Using PowerShell Jobs And Using PowerShell Run Spaces. Each Of Those Represent A Single PowerShell Session And Is Single Threaded, However We Can Have Multiple Of Those Managed From A Single PowerShell Session. Both Ways Multi-Threading Requires Complex Logic For Creation, Monitoring, Output Extraction, Error Extraction And Disposal Of The Threads. Management Of PowerShell Jobs Is Quite Different Than The Managing Of The PowerShell Run Spaces. The PowerShell Jobs And PowerShell Run Spaces Have Their Advantages And Disadvantages. The PowerShell Spaces Cannot Be Managed Via PowerShell Directly, They Are Managed From Within.NET, Which Makes Them Lighter Faster And Easier For Management. From Other Hand The PowerShell Jobs Are Managed Using CmdLets Present In "Microsoft.PowerShell.Core" Module Distributed With The PowerShell Since PowerShell v3.0. Although The PowerShell Jobs Are More Complicated In Comparison With The PowerShell Run Spaces, Their Advantage Is That Multiple PowerShell CmdLets Can Automatically Make PowerShell Jobs On Your Behalf. The PowerShell Job Still Remain On The Machine Where The Job Is Created, But The Job Itself Is Used Only To Manage The Remote Session And Exchange Data Between The Job And The Remote Machine Such Like Sending Script Block And Receiving Output.</maml:para>
      <maml:para>Invoke-SnsParallelRunSpaces CmdLet Is Intended To Automatically Manage PowerShell Run Spaces, Thus Simplifying The PowerShell Multi-Threading Without Need To Care, About Run Spaces Creation, Number Of Simultaneously Running Run Spaces, Sending Of The Run Spaces Code, Receiving Run Spaces Output And Errors And Run Spaces Disposal.</maml:para>
      <maml:para>Invoke-SnsParallelRunSpaces CmdLet Allows A Single Script Block To Be Specified To Multiple Threads, It Cannot Work With Individual ScriptBlocks For The Treads. However It Allows Providing Individual Arguments To The Threads. Since The ScriptBlock Is Specified By The User At The CmdLet Run Time, At The CmdLet Write Time Cannot Be Estimated The Number Of, The Parameter Names And Parameter Types. Therefore It Is Not Possible They To Be Included Into The CmdLet As CmdLet Parameters. The Way The Arguments Are Send To The Job, Is Using Splatting Hashtable. For More Details How The Splatting Works Please Refer To The PowerShell Documentation "about_Splatting" Article:</maml:para>
      <maml:para>https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_splatting</maml:para>
      <maml:para>There Is No Need The Arguments Send To The Run Space To Be Reflected In The Thread Command Using Splatting. The CmdLet Will Do So On Your Behalf. For Example:</maml:para>
      <maml:para>$a = @{ "Name" = "powershell"; "Verbose" = $true; };</maml:para>
      <maml:para>Invoke-SnsParallelRunSpaces -ThreadCommand "Get-Process" -Identity @(0..49) -Local -ThreadArguments $a;</maml:para>
      <maml:para>To Complete More Complex Tasks, When Only A Single Command Can Be Send To A Thread, The Thread Code Must Be Provided In A Function Or A CmdLet In "InitializationScript" Parameter And Then To Call That Function In "ThreadCommand" Parameter With The Required Arguments. The Same Applies Whenever Within The Thread Have To Be Run A Single CmdLet, But The CmdLet Belongs To A PowerShell Module Which Have To Be Imported In The Run Space. When The Threads Are Run On Remote Machine All Used PowerShell Modules Must Be Available On The Destination Machine. For More Details Please Refer To Examples Section.</maml:para>
      <maml:para>It Is Useful To Verify Whether The Remote Session Is Established On The Intended Destination Before To Do Anything. Especially When The Destination Is A Workstation. It Is Quite Common Those Days The Users To Work Remotely Connecting To The Corporate Environment Using VPNs. In Certain Scenarios You Might Connect To A Different Than The Intended Machine. When Connected Via VPN A Machine Will Register Its Internal IP Address On The DNS Servers. On The Following Day, The Same IP Address Might Be Assigned To Another Machine. If The Machine Where You Want To Connect To, Does Not Connect To The VPN On The Following Day, Or You Try To Connect To The Machine Before The VPN Is Started, Its DNS Entry Will Have Value The IP Address From The Previous Day, Which Is Now Given To Another Machine. In This Case When Establish A Remote Session To Specific Machine Using FQDN, The DNS Server Reverts The IP Address Of Another Machine, The Remote Session Will Be Established Against Wrong One. If You Do Not Make A Verification Within Your Code, You Will Make Changes On The Wrong Machine, Or The Received Output Will Be Irrelevant. This Is Not An Issue Or Bug In The CmdLet Itself. A Friend Of Mine Did That Recently Connecting With Remote Desktop Connection To A Different Than The Expected Machine Using Neither This Module Nor This CmdLet.</maml:para>
      <maml:para>Important Consideration To Keep In Mind Is That The PowerShell Environment Variables Will Be Not Available, And The PowerShell Automatic Modules Import Will Not Work. For The Environment Variables Can Be Used .NET Ones Whenever They Corresponds To The Needed One. To Address The Lack Of Automatic Modules Load, You Shall Always Import Explicitly The Modules That Contain The Commands You Need, Even Those That Are Distributed With PowerShell Itself, This Might Vary Depending On The Destination Machine Operating System And PowerShell Version.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: RemoteExecution -->
      <command:syntaxItem>
        <maml:name>Invoke-SnsParallelRunSpaces</maml:name>
        <!-- Parameter: Identity -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByPropertyName)" position="named" aliases="ThreadName,JobName,Name">
          <maml:name>Identity</maml:name>
          <maml:description>
            <maml:para>Specifies Unique Identities Of Each Thread.</maml:para>
            <maml:para>Treads Might Complete Faster Than Others In Asynchronous Multi-Threading. The Output Objects Order Depends On The Order Of The Threads Completion, Rather Than The Input Objects Order. Thread Identity Is Used To Identify The Output Of The Threads.</maml:para>
            <maml:para>In "Remote" Threads Execution The Thread Identities Must Be The Remote Machine FQDN’s (Fully Qualified Domain Name) Where Each Tread Must Be Run. This Does Allow The Same Peace Of Code To Be Run Remotely On Multiple Machines, And Once Finished The Output From The Threads Is Reverted To The Invoking Machine. Quite Useful Whenever Have To Be Made Health Check On Multiple Machines.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Remote -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>Remote</maml:name>
          <maml:description>
            <maml:para>Specifies To The CmdLet To Run The Threads On Remote Machines.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ThreadCommand -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="Command,Statement,ThreadStatement">
          <maml:name>ThreadCommand</maml:name>
          <maml:description>
            <maml:para>Specifies A Single PowerShell Statement To Be Run Within The Parallel Thread.</maml:para>
            <maml:para>The Thread Command Can Be Provided In Type Of ScriptBlock Or String.</maml:para>
            <maml:para>The Parameter Accepts A Single Statement. Thus Requires Considering Of The Way That The Thread Code And Any Arguments Are Provided To The Thread. The Already Loaded Code And Any Defined Variables Within The Main PowerShell Runspace Will Be Not Accessible Within The Isolated One. The Thread Code Can Be Send To The Thread Using "InitializationScript" Parameter Or Imported From A File Within The "InitializationScript". In Case The Thread Is Run On A Remote Machine The Imported Script File Must Be Located On The Remote Machine. The Isolated Remote Runspace Does Not Have Any Network Capabilities, Accessing A Script File Via Network Share Is Not Possible.</maml:para>
          </maml:description>
          <command:parameterValue required="true">object</command:parameterValue>
          <dev:type>
            <maml:name>System.Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Credential -->
        <command:parameter required="false" globbing="false" pipelineInput="true (ByPropertyName)" position="named">
          <maml:name>Credential</maml:name>
          <maml:description>
            <maml:para>Specifies PSCredential Object For Each Remote Thread.</maml:para>
            <maml:para>The Credential Object Must Belong To An Account With Local/Domain Administrator Access Rights On The Remote Machine.</maml:para>
            <maml:para>If Omitted The Remote Threads Will Be Run Under Current User Security Context.</maml:para>
            <maml:para>The Parameter Accepts Either Single Credential Object Used For All Of The Threads, Or Multiple Credential Objects Corresponding To Each Of The Threads.</maml:para>
            <maml:para>Specifying Credential Objects Which Do Not Correspond To The Specified Thread Identities Will Lead To Terminating Errors.</maml:para>
            <maml:para>It Is Recommended The Credential Objects To Be Tested In Advance, Especially In The Cases Where Single Credential Object Is Used And The Number Of Threads Is Above The "Account Lockout Threshold". In That Case Running The Command With Wrong Credentials Guarantee The Account Lockout.</maml:para>
          </maml:description>
          <command:parameterValue required="true">PSCredential[]</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.PSCredential[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: InitializationScript -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="InitialScript,InitialScriptText,InitialScriptBlock">
          <maml:name>InitializationScript</maml:name>
          <maml:description>
            <maml:para>Specifies A Function Or Script To Be Preloaded Into The Remote Runspace.</maml:para>
            <maml:para>Most Often When Multithreading Will Be Need To Be Run Multiple Commands Within The Threads, When Single CmdLet Is Used, It Most Probably Will Require A PowerShell Module To Be Imported. To Make This Possible "InitializationScript" Parameter Comes In Handy, Having In Mind The Limitation Of "ThreadCommand" Parameter To Be Specified A Single CmdLet. All The Thread Code Can Be Provided In An "InitializationScript" In Form Of A Function, And That Function To Be Called In "ThreadCommand" Parameter. This Does Allow Complex Code To Be Run Within Isolated Multiple Threads Including Remote Ones.</maml:para>
            <maml:para>The Function Provided To "InitializationScript" Parameter Must Accept The Arguments Provided With "ThreadArguments" Parameter And Revert Any Output That Have To Be Send Back To The Calling PowerShell Runspace.</maml:para>
            <maml:para>For Example:</maml:para>
            <maml:para>$initScr = @'</maml:para>
            <maml:para>Function Get-SnsProcess()</maml:para>
            <maml:para>{</maml:para>
            <maml:para>Param( $Name)</maml:para>
            <maml:para>Write-Information "Write-Information";</maml:para>
            <maml:para>Write-Warning "Write-Warning";</maml:para>
            <maml:para>Write-Verbose "Write-Verbose";</maml:para>
            <maml:para>Write-Host "Write-Host";</maml:para>
            <maml:para>Write-Error "Write-Error";</maml:para>
            <maml:para>Import-Module -Name "SnsPsModule";</maml:para>
            <maml:para>Start-Sleep -Seconds 1;</maml:para>
            <maml:para>return Get-Process -Name $Name;</maml:para>
            <maml:para>}</maml:para>
            <maml:para>'@;</maml:para>
            <maml:para>$ar = @{ "Name" = "powershell"; };</maml:para>
            <maml:para>Invoke-SnsParallelRunSpaces -InitializationScript $initScr -ThreadCommand "Get-SnsProcess" `</maml:para>
            <maml:para>-Identity @(0..29) -Local -ThreadArguments $ar -Verbose;</maml:para>
          </maml:description>
          <command:parameterValue required="true">object</command:parameterValue>
          <dev:type>
            <maml:name>System.Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: MaxDuration -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>MaxDuration</maml:name>
          <maml:description>
            <maml:para>Specifies A Threshold For Maximum Running Time Of The Remote Threads In Minutes.</maml:para>
            <maml:para>At The End Of The Period All Not Completed Threads Are Forcefully Terminated And Output Is Not Reverted.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>40</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: MaxThreads -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>MaxThreads</maml:name>
          <maml:description>
            <maml:para>Specifies A Threshold About Maximum Number Of Running Threads At Any Given Time. The Threads Above The Threshold Will Wait Previous Threads To Complete.</maml:para>
            <maml:para>When Omitted The CmdLet Will Automatically Assign Threshold Based On The Number Of CPU Cores On The Machine. The Automatically Assigned Threshold Is Displayed In The Verbose Stream.</maml:para>
          </maml:description>
          <command:parameterValue required="true">short</command:parameterValue>
          <dev:type>
            <maml:name>System.Int16</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ThreadArguments -->
        <command:parameter required="false" globbing="false" pipelineInput="true (ByPropertyName)" position="named" aliases="Arguments,ArgumentList">
          <maml:name>ThreadArguments</maml:name>
          <maml:description>
            <maml:para>Specifies A Hashtable Collection With The Arguments Which To Be Provided To The Isolated Threads.</maml:para>
            <maml:para>The Number Of Input Objects Must Be Either Equal To The Number Of Parallel Jobs Or A Single Hashtable Which Will Be Sent To All Threads.</maml:para>
            <maml:para>When Omitted No Arguments Will Be Send To The Threads.</maml:para>
            <maml:para>An Hashtable With Arguments For A Single Thread Must Be Similar To A Splatting Hashtable, Where The Hashtable Keys Are The Parameter Names, And The HashTable Values Are The Parameter Values. The Parameter Names Must Correspond To The CmdLet Specified In "ThreadCommand" Parameter.</maml:para>
            <maml:para>For Example:</maml:para>
            <maml:para>$a = @{ "Name" = "powershell"; "Verbose" = $true; };</maml:para>
            <maml:para>Invoke-SnsParallelRunSpaces -ThreadCommand "Get-Process" -Identity @(0..49) -Local -ThreadArguments $a;</maml:para>
          </maml:description>
          <command:parameterValue required="true">Hashtable[]</command:parameterValue>
          <dev:type>
            <maml:name>System.Collections.Hashtable[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: LocalExecution -->
      <command:syntaxItem>
        <maml:name>Invoke-SnsParallelRunSpaces</maml:name>
        <!-- Parameter: Identity -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByPropertyName)" position="named" aliases="ThreadName,JobName,Name">
          <maml:name>Identity</maml:name>
          <maml:description>
            <maml:para>Specifies Unique Identities Of Each Thread.</maml:para>
            <maml:para>Treads Might Complete Faster Than Others In Asynchronous Multi-Threading. The Output Objects Order Depends On The Order Of The Threads Completion, Rather Than The Input Objects Order. Thread Identity Is Used To Identify The Output Of The Threads.</maml:para>
            <maml:para>In "Remote" Threads Execution The Thread Identities Must Be The Remote Machine FQDN’s (Fully Qualified Domain Name) Where Each Tread Must Be Run. This Does Allow The Same Peace Of Code To Be Run Remotely On Multiple Machines, And Once Finished The Output From The Threads Is Reverted To The Invoking Machine. Quite Useful Whenever Have To Be Made Health Check On Multiple Machines.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Local -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>Local</maml:name>
          <maml:description>
            <maml:para>Specifies To The CmdLet To Run The Threads Locally.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ThreadCommand -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="Command,Statement,ThreadStatement">
          <maml:name>ThreadCommand</maml:name>
          <maml:description>
            <maml:para>Specifies A Single PowerShell Statement To Be Run Within The Parallel Thread.</maml:para>
            <maml:para>The Thread Command Can Be Provided In Type Of ScriptBlock Or String.</maml:para>
            <maml:para>The Parameter Accepts A Single Statement. Thus Requires Considering Of The Way That The Thread Code And Any Arguments Are Provided To The Thread. The Already Loaded Code And Any Defined Variables Within The Main PowerShell Runspace Will Be Not Accessible Within The Isolated One. The Thread Code Can Be Send To The Thread Using "InitializationScript" Parameter Or Imported From A File Within The "InitializationScript". In Case The Thread Is Run On A Remote Machine The Imported Script File Must Be Located On The Remote Machine. The Isolated Remote Runspace Does Not Have Any Network Capabilities, Accessing A Script File Via Network Share Is Not Possible.</maml:para>
          </maml:description>
          <command:parameterValue required="true">object</command:parameterValue>
          <dev:type>
            <maml:name>System.Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: InitializationScript -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="InitialScript,InitialScriptText,InitialScriptBlock">
          <maml:name>InitializationScript</maml:name>
          <maml:description>
            <maml:para>Specifies A Function Or Script To Be Preloaded Into The Remote Runspace.</maml:para>
            <maml:para>Most Often When Multithreading Will Be Need To Be Run Multiple Commands Within The Threads, When Single CmdLet Is Used, It Most Probably Will Require A PowerShell Module To Be Imported. To Make This Possible "InitializationScript" Parameter Comes In Handy, Having In Mind The Limitation Of "ThreadCommand" Parameter To Be Specified A Single CmdLet. All The Thread Code Can Be Provided In An "InitializationScript" In Form Of A Function, And That Function To Be Called In "ThreadCommand" Parameter. This Does Allow Complex Code To Be Run Within Isolated Multiple Threads Including Remote Ones.</maml:para>
            <maml:para>The Function Provided To "InitializationScript" Parameter Must Accept The Arguments Provided With "ThreadArguments" Parameter And Revert Any Output That Have To Be Send Back To The Calling PowerShell Runspace.</maml:para>
            <maml:para>For Example:</maml:para>
            <maml:para>$initScr = @'</maml:para>
            <maml:para>Function Get-SnsProcess()</maml:para>
            <maml:para>{</maml:para>
            <maml:para>Param( $Name)</maml:para>
            <maml:para>Write-Information "Write-Information";</maml:para>
            <maml:para>Write-Warning "Write-Warning";</maml:para>
            <maml:para>Write-Verbose "Write-Verbose";</maml:para>
            <maml:para>Write-Host "Write-Host";</maml:para>
            <maml:para>Write-Error "Write-Error";</maml:para>
            <maml:para>Import-Module -Name "SnsPsModule";</maml:para>
            <maml:para>Start-Sleep -Seconds 1;</maml:para>
            <maml:para>return Get-Process -Name $Name;</maml:para>
            <maml:para>}</maml:para>
            <maml:para>'@;</maml:para>
            <maml:para>$ar = @{ "Name" = "powershell"; };</maml:para>
            <maml:para>Invoke-SnsParallelRunSpaces -InitializationScript $initScr -ThreadCommand "Get-SnsProcess" `</maml:para>
            <maml:para>-Identity @(0..29) -Local -ThreadArguments $ar -Verbose;</maml:para>
          </maml:description>
          <command:parameterValue required="true">object</command:parameterValue>
          <dev:type>
            <maml:name>System.Object</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: MaxThreads -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>MaxThreads</maml:name>
          <maml:description>
            <maml:para>Specifies A Threshold About Maximum Number Of Running Threads At Any Given Time. The Threads Above The Threshold Will Wait Previous Threads To Complete.</maml:para>
            <maml:para>When Omitted The CmdLet Will Automatically Assign Threshold Based On The Number Of CPU Cores On The Machine. The Automatically Assigned Threshold Is Displayed In The Verbose Stream.</maml:para>
          </maml:description>
          <command:parameterValue required="true">short</command:parameterValue>
          <dev:type>
            <maml:name>System.Int16</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>1</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ThreadArguments -->
        <command:parameter required="false" globbing="false" pipelineInput="true (ByPropertyName)" position="named" aliases="Arguments,ArgumentList">
          <maml:name>ThreadArguments</maml:name>
          <maml:description>
            <maml:para>Specifies A Hashtable Collection With The Arguments Which To Be Provided To The Isolated Threads.</maml:para>
            <maml:para>The Number Of Input Objects Must Be Either Equal To The Number Of Parallel Jobs Or A Single Hashtable Which Will Be Sent To All Threads.</maml:para>
            <maml:para>When Omitted No Arguments Will Be Send To The Threads.</maml:para>
            <maml:para>An Hashtable With Arguments For A Single Thread Must Be Similar To A Splatting Hashtable, Where The Hashtable Keys Are The Parameter Names, And The HashTable Values Are The Parameter Values. The Parameter Names Must Correspond To The CmdLet Specified In "ThreadCommand" Parameter.</maml:para>
            <maml:para>For Example:</maml:para>
            <maml:para>$a = @{ "Name" = "powershell"; "Verbose" = $true; };</maml:para>
            <maml:para>Invoke-SnsParallelRunSpaces -ThreadCommand "Get-Process" -Identity @(0..49) -Local -ThreadArguments $a;</maml:para>
          </maml:description>
          <command:parameterValue required="true">Hashtable[]</command:parameterValue>
          <dev:type>
            <maml:name>System.Collections.Hashtable[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: ThreadCommand -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="Command,Statement,ThreadStatement">
        <maml:name>ThreadCommand</maml:name>
        <maml:description>
          <maml:para>Specifies A Single PowerShell Statement To Be Run Within The Parallel Thread.</maml:para>
          <maml:para>The Thread Command Can Be Provided In Type Of ScriptBlock Or String.</maml:para>
          <maml:para>The Parameter Accepts A Single Statement. Thus Requires Considering Of The Way That The Thread Code And Any Arguments Are Provided To The Thread. The Already Loaded Code And Any Defined Variables Within The Main PowerShell Runspace Will Be Not Accessible Within The Isolated One. The Thread Code Can Be Send To The Thread Using "InitializationScript" Parameter Or Imported From A File Within The "InitializationScript". In Case The Thread Is Run On A Remote Machine The Imported Script File Must Be Located On The Remote Machine. The Isolated Remote Runspace Does Not Have Any Network Capabilities, Accessing A Script File Via Network Share Is Not Possible.</maml:para>
        </maml:description>
        <command:parameterValue required="true">object</command:parameterValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="Command,Statement,ThreadStatement">
        <maml:name>Command</maml:name>
        <maml:description>
          <maml:para>Specifies A Single PowerShell Statement To Be Run Within The Parallel Thread.</maml:para>
          <maml:para>The Thread Command Can Be Provided In Type Of ScriptBlock Or String.</maml:para>
          <maml:para>The Parameter Accepts A Single Statement. Thus Requires Considering Of The Way That The Thread Code And Any Arguments Are Provided To The Thread. The Already Loaded Code And Any Defined Variables Within The Main PowerShell Runspace Will Be Not Accessible Within The Isolated One. The Thread Code Can Be Send To The Thread Using "InitializationScript" Parameter Or Imported From A File Within The "InitializationScript". In Case The Thread Is Run On A Remote Machine The Imported Script File Must Be Located On The Remote Machine. The Isolated Remote Runspace Does Not Have Any Network Capabilities, Accessing A Script File Via Network Share Is Not Possible.</maml:para>
          <maml:para>This is an alias of the ThreadCommand parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">object</command:parameterValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="Command,Statement,ThreadStatement">
        <maml:name>Statement</maml:name>
        <maml:description>
          <maml:para>Specifies A Single PowerShell Statement To Be Run Within The Parallel Thread.</maml:para>
          <maml:para>The Thread Command Can Be Provided In Type Of ScriptBlock Or String.</maml:para>
          <maml:para>The Parameter Accepts A Single Statement. Thus Requires Considering Of The Way That The Thread Code And Any Arguments Are Provided To The Thread. The Already Loaded Code And Any Defined Variables Within The Main PowerShell Runspace Will Be Not Accessible Within The Isolated One. The Thread Code Can Be Send To The Thread Using "InitializationScript" Parameter Or Imported From A File Within The "InitializationScript". In Case The Thread Is Run On A Remote Machine The Imported Script File Must Be Located On The Remote Machine. The Isolated Remote Runspace Does Not Have Any Network Capabilities, Accessing A Script File Via Network Share Is Not Possible.</maml:para>
          <maml:para>This is an alias of the ThreadCommand parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">object</command:parameterValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="Command,Statement,ThreadStatement">
        <maml:name>ThreadStatement</maml:name>
        <maml:description>
          <maml:para>Specifies A Single PowerShell Statement To Be Run Within The Parallel Thread.</maml:para>
          <maml:para>The Thread Command Can Be Provided In Type Of ScriptBlock Or String.</maml:para>
          <maml:para>The Parameter Accepts A Single Statement. Thus Requires Considering Of The Way That The Thread Code And Any Arguments Are Provided To The Thread. The Already Loaded Code And Any Defined Variables Within The Main PowerShell Runspace Will Be Not Accessible Within The Isolated One. The Thread Code Can Be Send To The Thread Using "InitializationScript" Parameter Or Imported From A File Within The "InitializationScript". In Case The Thread Is Run On A Remote Machine The Imported Script File Must Be Located On The Remote Machine. The Isolated Remote Runspace Does Not Have Any Network Capabilities, Accessing A Script File Via Network Share Is Not Possible.</maml:para>
          <maml:para>This is an alias of the ThreadCommand parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">object</command:parameterValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: ThreadArguments -->
      <command:parameter required="false" globbing="false" pipelineInput="true (ByPropertyName)" position="named" aliases="Arguments,ArgumentList">
        <maml:name>ThreadArguments</maml:name>
        <maml:description>
          <maml:para>Specifies A Hashtable Collection With The Arguments Which To Be Provided To The Isolated Threads.</maml:para>
          <maml:para>The Number Of Input Objects Must Be Either Equal To The Number Of Parallel Jobs Or A Single Hashtable Which Will Be Sent To All Threads.</maml:para>
          <maml:para>When Omitted No Arguments Will Be Send To The Threads.</maml:para>
          <maml:para>An Hashtable With Arguments For A Single Thread Must Be Similar To A Splatting Hashtable, Where The Hashtable Keys Are The Parameter Names, And The HashTable Values Are The Parameter Values. The Parameter Names Must Correspond To The CmdLet Specified In "ThreadCommand" Parameter.</maml:para>
          <maml:para>For Example:</maml:para>
          <maml:para>$a = @{ "Name" = "powershell"; "Verbose" = $true; };</maml:para>
          <maml:para>Invoke-SnsParallelRunSpaces -ThreadCommand "Get-Process" -Identity @(0..49) -Local -ThreadArguments $a;</maml:para>
        </maml:description>
        <command:parameterValue required="true">Hashtable[]</command:parameterValue>
        <dev:type>
          <maml:name>System.Collections.Hashtable[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="false" globbing="false" pipelineInput="true (ByPropertyName)" position="named" aliases="Arguments,ArgumentList">
        <maml:name>Arguments</maml:name>
        <maml:description>
          <maml:para>Specifies A Hashtable Collection With The Arguments Which To Be Provided To The Isolated Threads.</maml:para>
          <maml:para>The Number Of Input Objects Must Be Either Equal To The Number Of Parallel Jobs Or A Single Hashtable Which Will Be Sent To All Threads.</maml:para>
          <maml:para>When Omitted No Arguments Will Be Send To The Threads.</maml:para>
          <maml:para>An Hashtable With Arguments For A Single Thread Must Be Similar To A Splatting Hashtable, Where The Hashtable Keys Are The Parameter Names, And The HashTable Values Are The Parameter Values. The Parameter Names Must Correspond To The CmdLet Specified In "ThreadCommand" Parameter.</maml:para>
          <maml:para>For Example:</maml:para>
          <maml:para>$a = @{ "Name" = "powershell"; "Verbose" = $true; };</maml:para>
          <maml:para>Invoke-SnsParallelRunSpaces -ThreadCommand "Get-Process" -Identity @(0..49) -Local -ThreadArguments $a;</maml:para>
          <maml:para>This is an alias of the ThreadArguments parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">Hashtable[]</command:parameterValue>
        <dev:type>
          <maml:name>System.Collections.Hashtable[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="false" globbing="false" pipelineInput="true (ByPropertyName)" position="named" aliases="Arguments,ArgumentList">
        <maml:name>ArgumentList</maml:name>
        <maml:description>
          <maml:para>Specifies A Hashtable Collection With The Arguments Which To Be Provided To The Isolated Threads.</maml:para>
          <maml:para>The Number Of Input Objects Must Be Either Equal To The Number Of Parallel Jobs Or A Single Hashtable Which Will Be Sent To All Threads.</maml:para>
          <maml:para>When Omitted No Arguments Will Be Send To The Threads.</maml:para>
          <maml:para>An Hashtable With Arguments For A Single Thread Must Be Similar To A Splatting Hashtable, Where The Hashtable Keys Are The Parameter Names, And The HashTable Values Are The Parameter Values. The Parameter Names Must Correspond To The CmdLet Specified In "ThreadCommand" Parameter.</maml:para>
          <maml:para>For Example:</maml:para>
          <maml:para>$a = @{ "Name" = "powershell"; "Verbose" = $true; };</maml:para>
          <maml:para>Invoke-SnsParallelRunSpaces -ThreadCommand "Get-Process" -Identity @(0..49) -Local -ThreadArguments $a;</maml:para>
          <maml:para>This is an alias of the ThreadArguments parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">Hashtable[]</command:parameterValue>
        <dev:type>
          <maml:name>System.Collections.Hashtable[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: InitializationScript -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="InitialScript,InitialScriptText,InitialScriptBlock">
        <maml:name>InitializationScript</maml:name>
        <maml:description>
          <maml:para>Specifies A Function Or Script To Be Preloaded Into The Remote Runspace.</maml:para>
          <maml:para>Most Often When Multithreading Will Be Need To Be Run Multiple Commands Within The Threads, When Single CmdLet Is Used, It Most Probably Will Require A PowerShell Module To Be Imported. To Make This Possible "InitializationScript" Parameter Comes In Handy, Having In Mind The Limitation Of "ThreadCommand" Parameter To Be Specified A Single CmdLet. All The Thread Code Can Be Provided In An "InitializationScript" In Form Of A Function, And That Function To Be Called In "ThreadCommand" Parameter. This Does Allow Complex Code To Be Run Within Isolated Multiple Threads Including Remote Ones.</maml:para>
          <maml:para>The Function Provided To "InitializationScript" Parameter Must Accept The Arguments Provided With "ThreadArguments" Parameter And Revert Any Output That Have To Be Send Back To The Calling PowerShell Runspace.</maml:para>
          <maml:para>For Example:</maml:para>
          <maml:para>$initScr = @'</maml:para>
          <maml:para>Function Get-SnsProcess()</maml:para>
          <maml:para>{</maml:para>
          <maml:para>Param( $Name)</maml:para>
          <maml:para>Write-Information "Write-Information";</maml:para>
          <maml:para>Write-Warning "Write-Warning";</maml:para>
          <maml:para>Write-Verbose "Write-Verbose";</maml:para>
          <maml:para>Write-Host "Write-Host";</maml:para>
          <maml:para>Write-Error "Write-Error";</maml:para>
          <maml:para>Import-Module -Name "SnsPsModule";</maml:para>
          <maml:para>Start-Sleep -Seconds 1;</maml:para>
          <maml:para>return Get-Process -Name $Name;</maml:para>
          <maml:para>}</maml:para>
          <maml:para>'@;</maml:para>
          <maml:para>$ar = @{ "Name" = "powershell"; };</maml:para>
          <maml:para>Invoke-SnsParallelRunSpaces -InitializationScript $initScr -ThreadCommand "Get-SnsProcess" `</maml:para>
          <maml:para>-Identity @(0..29) -Local -ThreadArguments $ar -Verbose;</maml:para>
        </maml:description>
        <command:parameterValue required="true">object</command:parameterValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="InitialScript,InitialScriptText,InitialScriptBlock">
        <maml:name>InitialScript</maml:name>
        <maml:description>
          <maml:para>Specifies A Function Or Script To Be Preloaded Into The Remote Runspace.</maml:para>
          <maml:para>Most Often When Multithreading Will Be Need To Be Run Multiple Commands Within The Threads, When Single CmdLet Is Used, It Most Probably Will Require A PowerShell Module To Be Imported. To Make This Possible "InitializationScript" Parameter Comes In Handy, Having In Mind The Limitation Of "ThreadCommand" Parameter To Be Specified A Single CmdLet. All The Thread Code Can Be Provided In An "InitializationScript" In Form Of A Function, And That Function To Be Called In "ThreadCommand" Parameter. This Does Allow Complex Code To Be Run Within Isolated Multiple Threads Including Remote Ones.</maml:para>
          <maml:para>The Function Provided To "InitializationScript" Parameter Must Accept The Arguments Provided With "ThreadArguments" Parameter And Revert Any Output That Have To Be Send Back To The Calling PowerShell Runspace.</maml:para>
          <maml:para>For Example:</maml:para>
          <maml:para>$initScr = @'</maml:para>
          <maml:para>Function Get-SnsProcess()</maml:para>
          <maml:para>{</maml:para>
          <maml:para>Param( $Name)</maml:para>
          <maml:para>Write-Information "Write-Information";</maml:para>
          <maml:para>Write-Warning "Write-Warning";</maml:para>
          <maml:para>Write-Verbose "Write-Verbose";</maml:para>
          <maml:para>Write-Host "Write-Host";</maml:para>
          <maml:para>Write-Error "Write-Error";</maml:para>
          <maml:para>Import-Module -Name "SnsPsModule";</maml:para>
          <maml:para>Start-Sleep -Seconds 1;</maml:para>
          <maml:para>return Get-Process -Name $Name;</maml:para>
          <maml:para>}</maml:para>
          <maml:para>'@;</maml:para>
          <maml:para>$ar = @{ "Name" = "powershell"; };</maml:para>
          <maml:para>Invoke-SnsParallelRunSpaces -InitializationScript $initScr -ThreadCommand "Get-SnsProcess" `</maml:para>
          <maml:para>-Identity @(0..29) -Local -ThreadArguments $ar -Verbose;</maml:para>
          <maml:para>This is an alias of the InitializationScript parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">object</command:parameterValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="InitialScript,InitialScriptText,InitialScriptBlock">
        <maml:name>InitialScriptText</maml:name>
        <maml:description>
          <maml:para>Specifies A Function Or Script To Be Preloaded Into The Remote Runspace.</maml:para>
          <maml:para>Most Often When Multithreading Will Be Need To Be Run Multiple Commands Within The Threads, When Single CmdLet Is Used, It Most Probably Will Require A PowerShell Module To Be Imported. To Make This Possible "InitializationScript" Parameter Comes In Handy, Having In Mind The Limitation Of "ThreadCommand" Parameter To Be Specified A Single CmdLet. All The Thread Code Can Be Provided In An "InitializationScript" In Form Of A Function, And That Function To Be Called In "ThreadCommand" Parameter. This Does Allow Complex Code To Be Run Within Isolated Multiple Threads Including Remote Ones.</maml:para>
          <maml:para>The Function Provided To "InitializationScript" Parameter Must Accept The Arguments Provided With "ThreadArguments" Parameter And Revert Any Output That Have To Be Send Back To The Calling PowerShell Runspace.</maml:para>
          <maml:para>For Example:</maml:para>
          <maml:para>$initScr = @'</maml:para>
          <maml:para>Function Get-SnsProcess()</maml:para>
          <maml:para>{</maml:para>
          <maml:para>Param( $Name)</maml:para>
          <maml:para>Write-Information "Write-Information";</maml:para>
          <maml:para>Write-Warning "Write-Warning";</maml:para>
          <maml:para>Write-Verbose "Write-Verbose";</maml:para>
          <maml:para>Write-Host "Write-Host";</maml:para>
          <maml:para>Write-Error "Write-Error";</maml:para>
          <maml:para>Import-Module -Name "SnsPsModule";</maml:para>
          <maml:para>Start-Sleep -Seconds 1;</maml:para>
          <maml:para>return Get-Process -Name $Name;</maml:para>
          <maml:para>}</maml:para>
          <maml:para>'@;</maml:para>
          <maml:para>$ar = @{ "Name" = "powershell"; };</maml:para>
          <maml:para>Invoke-SnsParallelRunSpaces -InitializationScript $initScr -ThreadCommand "Get-SnsProcess" `</maml:para>
          <maml:para>-Identity @(0..29) -Local -ThreadArguments $ar -Verbose;</maml:para>
          <maml:para>This is an alias of the InitializationScript parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">object</command:parameterValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="InitialScript,InitialScriptText,InitialScriptBlock">
        <maml:name>InitialScriptBlock</maml:name>
        <maml:description>
          <maml:para>Specifies A Function Or Script To Be Preloaded Into The Remote Runspace.</maml:para>
          <maml:para>Most Often When Multithreading Will Be Need To Be Run Multiple Commands Within The Threads, When Single CmdLet Is Used, It Most Probably Will Require A PowerShell Module To Be Imported. To Make This Possible "InitializationScript" Parameter Comes In Handy, Having In Mind The Limitation Of "ThreadCommand" Parameter To Be Specified A Single CmdLet. All The Thread Code Can Be Provided In An "InitializationScript" In Form Of A Function, And That Function To Be Called In "ThreadCommand" Parameter. This Does Allow Complex Code To Be Run Within Isolated Multiple Threads Including Remote Ones.</maml:para>
          <maml:para>The Function Provided To "InitializationScript" Parameter Must Accept The Arguments Provided With "ThreadArguments" Parameter And Revert Any Output That Have To Be Send Back To The Calling PowerShell Runspace.</maml:para>
          <maml:para>For Example:</maml:para>
          <maml:para>$initScr = @'</maml:para>
          <maml:para>Function Get-SnsProcess()</maml:para>
          <maml:para>{</maml:para>
          <maml:para>Param( $Name)</maml:para>
          <maml:para>Write-Information "Write-Information";</maml:para>
          <maml:para>Write-Warning "Write-Warning";</maml:para>
          <maml:para>Write-Verbose "Write-Verbose";</maml:para>
          <maml:para>Write-Host "Write-Host";</maml:para>
          <maml:para>Write-Error "Write-Error";</maml:para>
          <maml:para>Import-Module -Name "SnsPsModule";</maml:para>
          <maml:para>Start-Sleep -Seconds 1;</maml:para>
          <maml:para>return Get-Process -Name $Name;</maml:para>
          <maml:para>}</maml:para>
          <maml:para>'@;</maml:para>
          <maml:para>$ar = @{ "Name" = "powershell"; };</maml:para>
          <maml:para>Invoke-SnsParallelRunSpaces -InitializationScript $initScr -ThreadCommand "Get-SnsProcess" `</maml:para>
          <maml:para>-Identity @(0..29) -Local -ThreadArguments $ar -Verbose;</maml:para>
          <maml:para>This is an alias of the InitializationScript parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">object</command:parameterValue>
        <dev:type>
          <maml:name>System.Object</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Identity -->
      <command:parameter required="true" globbing="false" pipelineInput="true (ByPropertyName)" position="named" aliases="ThreadName,JobName,Name">
        <maml:name>Identity</maml:name>
        <maml:description>
          <maml:para>Specifies Unique Identities Of Each Thread.</maml:para>
          <maml:para>Treads Might Complete Faster Than Others In Asynchronous Multi-Threading. The Output Objects Order Depends On The Order Of The Threads Completion, Rather Than The Input Objects Order. Thread Identity Is Used To Identify The Output Of The Threads.</maml:para>
          <maml:para>In "Remote" Threads Execution The Thread Identities Must Be The Remote Machine FQDN’s (Fully Qualified Domain Name) Where Each Tread Must Be Run. This Does Allow The Same Peace Of Code To Be Run Remotely On Multiple Machines, And Once Finished The Output From The Threads Is Reverted To The Invoking Machine. Quite Useful Whenever Have To Be Made Health Check On Multiple Machines.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="true (ByPropertyName)" position="named" aliases="ThreadName,JobName,Name">
        <maml:name>ThreadName</maml:name>
        <maml:description>
          <maml:para>Specifies Unique Identities Of Each Thread.</maml:para>
          <maml:para>Treads Might Complete Faster Than Others In Asynchronous Multi-Threading. The Output Objects Order Depends On The Order Of The Threads Completion, Rather Than The Input Objects Order. Thread Identity Is Used To Identify The Output Of The Threads.</maml:para>
          <maml:para>In "Remote" Threads Execution The Thread Identities Must Be The Remote Machine FQDN’s (Fully Qualified Domain Name) Where Each Tread Must Be Run. This Does Allow The Same Peace Of Code To Be Run Remotely On Multiple Machines, And Once Finished The Output From The Threads Is Reverted To The Invoking Machine. Quite Useful Whenever Have To Be Made Health Check On Multiple Machines.</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="true (ByPropertyName)" position="named" aliases="ThreadName,JobName,Name">
        <maml:name>JobName</maml:name>
        <maml:description>
          <maml:para>Specifies Unique Identities Of Each Thread.</maml:para>
          <maml:para>Treads Might Complete Faster Than Others In Asynchronous Multi-Threading. The Output Objects Order Depends On The Order Of The Threads Completion, Rather Than The Input Objects Order. Thread Identity Is Used To Identify The Output Of The Threads.</maml:para>
          <maml:para>In "Remote" Threads Execution The Thread Identities Must Be The Remote Machine FQDN’s (Fully Qualified Domain Name) Where Each Tread Must Be Run. This Does Allow The Same Peace Of Code To Be Run Remotely On Multiple Machines, And Once Finished The Output From The Threads Is Reverted To The Invoking Machine. Quite Useful Whenever Have To Be Made Health Check On Multiple Machines.</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="true (ByPropertyName)" position="named" aliases="ThreadName,JobName,Name">
        <maml:name>Name</maml:name>
        <maml:description>
          <maml:para>Specifies Unique Identities Of Each Thread.</maml:para>
          <maml:para>Treads Might Complete Faster Than Others In Asynchronous Multi-Threading. The Output Objects Order Depends On The Order Of The Threads Completion, Rather Than The Input Objects Order. Thread Identity Is Used To Identify The Output Of The Threads.</maml:para>
          <maml:para>In "Remote" Threads Execution The Thread Identities Must Be The Remote Machine FQDN’s (Fully Qualified Domain Name) Where Each Tread Must Be Run. This Does Allow The Same Peace Of Code To Be Run Remotely On Multiple Machines, And Once Finished The Output From The Threads Is Reverted To The Invoking Machine. Quite Useful Whenever Have To Be Made Health Check On Multiple Machines.</maml:para>
          <maml:para>This is an alias of the Identity parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Credential -->
      <command:parameter required="false" globbing="false" pipelineInput="true (ByPropertyName)" position="named">
        <maml:name>Credential</maml:name>
        <maml:description>
          <maml:para>Specifies PSCredential Object For Each Remote Thread.</maml:para>
          <maml:para>The Credential Object Must Belong To An Account With Local/Domain Administrator Access Rights On The Remote Machine.</maml:para>
          <maml:para>If Omitted The Remote Threads Will Be Run Under Current User Security Context.</maml:para>
          <maml:para>The Parameter Accepts Either Single Credential Object Used For All Of The Threads, Or Multiple Credential Objects Corresponding To Each Of The Threads.</maml:para>
          <maml:para>Specifying Credential Objects Which Do Not Correspond To The Specified Thread Identities Will Lead To Terminating Errors.</maml:para>
          <maml:para>It Is Recommended The Credential Objects To Be Tested In Advance, Especially In The Cases Where Single Credential Object Is Used And The Number Of Threads Is Above The "Account Lockout Threshold". In That Case Running The Command With Wrong Credentials Guarantee The Account Lockout.</maml:para>
        </maml:description>
        <command:parameterValue required="true">PSCredential[]</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.PSCredential[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: MaxDuration -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>MaxDuration</maml:name>
        <maml:description>
          <maml:para>Specifies A Threshold For Maximum Running Time Of The Remote Threads In Minutes.</maml:para>
          <maml:para>At The End Of The Period All Not Completed Threads Are Forcefully Terminated And Output Is Not Reverted.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>40</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: MaxThreads -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>MaxThreads</maml:name>
        <maml:description>
          <maml:para>Specifies A Threshold About Maximum Number Of Running Threads At Any Given Time. The Threads Above The Threshold Will Wait Previous Threads To Complete.</maml:para>
          <maml:para>When Omitted The CmdLet Will Automatically Assign Threshold Based On The Number Of CPU Cores On The Machine. The Automatically Assigned Threshold Is Displayed In The Verbose Stream.</maml:para>
        </maml:description>
        <command:parameterValue required="true">short</command:parameterValue>
        <dev:type>
          <maml:name>System.Int16</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>1</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Local -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>Local</maml:name>
        <maml:description>
          <maml:para>Specifies To The CmdLet To Run The Threads Locally.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Remote -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>Remote</maml:name>
        <maml:description>
          <maml:para>Specifies To The CmdLet To Run The Threads On Remote Machines.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.Collections.Hashtable[]</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>Specifies A Hashtable Collection With The Arguments Which To Be Provided To The Isolated Threads.</maml:para>
          <maml:para>The Number Of Input Objects Must Be Either Equal To The Number Of Parallel Jobs Or A Single Hashtable Which Will Be Sent To All Threads.</maml:para>
          <maml:para>When Omitted No Arguments Will Be Send To The Threads.</maml:para>
          <maml:para>An Hashtable With Arguments For A Single Thread Must Be Similar To A Splatting Hashtable, Where The Hashtable Keys Are The Parameter Names, And The HashTable Values Are The Parameter Values. The Parameter Names Must Correspond To The CmdLet Specified In "ThreadCommand" Parameter.</maml:para>
          <maml:para>For Example:</maml:para>
          <maml:para>$a = @{ "Name" = "powershell"; "Verbose" = $true; };</maml:para>
          <maml:para>Invoke-SnsParallelRunSpaces -ThreadCommand "Get-Process" -Identity @(0..49) -Local -ThreadArguments $a;</maml:para>
        </maml:description>
      </command:inputType>
      <command:inputType>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>Specifies Unique Identities Of Each Thread.</maml:para>
          <maml:para>Treads Might Complete Faster Than Others In Asynchronous Multi-Threading. The Output Objects Order Depends On The Order Of The Threads Completion, Rather Than The Input Objects Order. Thread Identity Is Used To Identify The Output Of The Threads.</maml:para>
          <maml:para>In "Remote" Threads Execution The Thread Identities Must Be The Remote Machine FQDN’s (Fully Qualified Domain Name) Where Each Tread Must Be Run. This Does Allow The Same Peace Of Code To Be Run Remotely On Multiple Machines, And Once Finished The Output From The Threads Is Reverted To The Invoking Machine. Quite Useful Whenever Have To Be Made Health Check On Multiple Machines.</maml:para>
        </maml:description>
      </command:inputType>
      <command:inputType>
        <dev:type>
          <maml:name>System.Management.Automation.PSCredential[]</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>Specifies PSCredential Object For Each Remote Thread.</maml:para>
          <maml:para>The Credential Object Must Belong To An Account With Local/Domain Administrator Access Rights On The Remote Machine.</maml:para>
          <maml:para>If Omitted The Remote Threads Will Be Run Under Current User Security Context.</maml:para>
          <maml:para>The Parameter Accepts Either Single Credential Object Used For All Of The Threads, Or Multiple Credential Objects Corresponding To Each Of The Threads.</maml:para>
          <maml:para>Specifying Credential Objects Which Do Not Correspond To The Specified Thread Identities Will Lead To Terminating Errors.</maml:para>
          <maml:para>It Is Recommended The Credential Objects To Be Tested In Advance, Especially In The Cases Where Single Credential Object Is Used And The Number Of Threads Is Above The "Account Lockout Threshold". In That Case Running The Command With Wrong Credentials Guarantee The Account Lockout.</maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <!-- OutputType: SnsThread -->
      <command:returnValue>
        <dev:type>
          <maml:name>SnsPsModule.SnsThread</maml:name>
          <maml:uri />
        </dev:type>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:title></maml:title>
      <maml:alert>
        <maml:para>AUTHOR: Svetoslav Nedyalkov Savov</maml:para>
        <maml:para>THIS CODE IS MADE AVAILABLE AS IS, WITHOUT WARRANTY OF ANY KIND. THE ENTIRE RISK</maml:para>
        <maml:para>OF THE USE OR THE RESULTS FROM THE USE OF THIS CODE REMAINS WITH THE USER.</maml:para>
        <maml:para></maml:para>
        <maml:para></maml:para>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>$a = @{ "Name" = "powershell"; "Verbose" = $true; };</dev:code>
        <dev:remarks>
          <maml:para>Initializes A Hashtable Variable With Keys That Corresponds To "Get-Process" Parameter Names And Values That Corresponds To The Arguments Which Will Be Provided To The Used Parameters.</maml:para>
          <maml:para>(Invoke-SnsParallelRunSpaces -ThreadCommand "Get-Process" -Identity @(0..49) -Local -ThreadArguments $a).Output;</maml:para>
          <maml:para>Runs "Get-Process" CmdLet Within 50 Local Parallel Run Spaces. From The Reverted Output Objects Collection Is Taken The "Output" Property.</maml:para>
          <maml:para>The Output Object Contains Properties For The Run Space Name, PowerShell Run Space Status And All PowerShell Streams Extracted From The Run Space. In Sometimes Specific Streams Extraction Will Revert No Results. In This Specific Case The Verbose Stream Will Be Empty, Because "Get-Process" CmdLet Does Not Revert Any Verbose Messages.</maml:para>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 2 ----------</maml:title>
        <dev:code>$strBlock =
@'
Function Invoke-SnsThreadCode()
{
[CmdletBinding(PositionalBinding = $false)]
Param(
    [Parameter(Mandatory = $true, ValueFromPipeline = $false, ValueFromPipelineByPropertyName = $false)]
    [ValidateNotNullOrEmpty()][System.String]$Path,
    [Parameter(Mandatory = $true, ValueFromPipeline = $false, ValueFromPipelineByPropertyName = $false)]
    [ValidateNotNullOrEmpty()][System.String]$Name
)
    Begin
    {
        Import-Module -FullyQualifiedName `
            "C:\Program Files\WindowsPowerShell\Modules\SnsPsModule\1.0.1.2\SnsPsModule.psd1";
        Write-Verbose "$($Name)";
        Return New-SnsZipArchive -Path "$($Path)" -PassThru -Force -Keep -Verbose:$Verbose.IsPresent;
    }
}
'@;</dev:code>
        <dev:remarks>
          <maml:para>Assigns On A String Variable The Code Of An Explicitly Specified As CmdLet Function. The Function Does Not Need To Be Defined As A CmdLet, But It Helps, Because The Code Requirements Are Stricter And Any Code Error Will Be Not Tolerated. Within The Function Is Loaded The Current Module Using Its Path. Lead Using Module Name Might Not Work Depending On The PowerShell Version. In Case A Module Is Installed With Scope "All Users" It Will Be Located At "C:\Program Files\WindowsPowerShell\Modules" The Remaining Part Of The Path Is Module And Version Specific. The Function Is Intended To ZIP A Specific File Using "New-SnsZipArchive" From The Current PSModule. Depending On The PowerShell Version The Automatic PSModule Import Might Not Work Within The Nested Run Spaces. It Is A Good Practice The Modules To Be Explicitly Imported.</maml:para>
          <maml:para>$files = Get-ChildItem -Path "C:\MyFolder";</maml:para>
          <maml:para>Enumerates All Files Within Folder "MyFolder".</maml:para>
          <maml:para>$a = $files | ForEach { Return @{ "Name" = "$($_.Name)"; "Path" = "$($_.FullName)"; "Verbose" = $true; } };</maml:para>
          <maml:para>Process Each Of The Enumerated Files And Creates A Hashtable Collection With Member Hashtables Corresponding To Each Of The Enumerated Files. Each Hashtable With Keys "Name", "Path" And "Verbose". Please Notice That Our CmdLet Defined In The Beginning Have No Verbose Parameter Defined. This Parameter Is Defined Automatically And Cannot Be Defined Manually When The Function Is Defined As CmdLet.</maml:para>
          <maml:para>$b = Invoke-SnsParallelRunSpaces -InitializationScript $strBlock -ThreadCommand "Invoke-SnsThreadCode" -Identity $a.Name -Local -ThreadArguments $a -Verbose;</maml:para>
          <maml:para>Runs The Defined In The Beginning CmdLet In Local Parallel Run Spaces To Archive Each Individual File Into ZIP File. The Maximum Number Of Running Run Spaces At Any Moment Is Automatically Enumerated Using The Logical CPU Cores Available On The Machine. The Output Is Assigned To A Variable.</maml:para>
          <maml:para>Because The Parallel Threads Are Named With The File Name The Extraction Of The Required Output From The Output Collection Is Easier.</maml:para>
          <maml:para>$b | ft Identity, State, Output;</maml:para>
          <maml:para>Displays The Threads Output On The Console Window.</maml:para>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 3 ----------</maml:title>
        <dev:code>$strBlock =
@'
Function Get-SnsProcess()
{
[CmdletBinding(PositionalBinding = $false)]
Param(
    [Parameter(Mandatory = $true, ValueFromPipeline = $false, ValueFromPipelineByPropertyName = $false)]
    [ValidateNotNullOrEmpty()][System.String]$Name
)
    Begin
    {
        Write-Information "Write-Information 1";
        Write-Warning "Write-Warning 1";
        Write-Verbose "Write-Verbose 1";
        Write-Host "Write-Host 1";
        Write-Error "Write-Error 1";
        Start-Sleep -Seconds 1;
        Write-Information "Write-Information 2";
        Write-Warning "Write-Warning 2";
        Write-Verbose "Write-Verbose 2";
        Write-Host "Write-Host 2";
        Write-Error "Write-Error 2";
        return Get-Process -Name $Name;
    }
}
'@;</dev:code>
        <dev:remarks>
          <maml:para>Assigns On A String Variable The Code Of An Explicitly Specified As CmdLet Function. The Function Does Not Need To Be Defined As A CmdLet, But It Helps, Because The Code Requirements Are Stricter And Any Code Error Will Be Not Tolerated. Defining The Function As CmdLet Does Provide Us With The CmdLet Common Parameters Without The Need To Define Them.</maml:para>
          <maml:para>$a = @{ "Name" = "powershell"; "Verbose" = $true; };</maml:para>
          <maml:para>Defines A Single Hashtable Object And Assign It On A Variable. The Hashtable Keys Corresponds To The Defined In The Beginning Function. "Verbose" Parameter Is Not Defined In The Function But It Is Available Automatically Along With All CmdLet Common Parameters Because The Function Is Defined As CmdLet.</maml:para>
          <maml:para>$b = @( "computer1.contoso.local", "computer2.contoso.local", "computer3.contoso.local" );</maml:para>
          <maml:para>Defines A String Collection With List Of Computer Fully Qualified Domain Names (FQDN) And Assign It To A Variable.</maml:para>
          <maml:para>$c = Import-SnsCredentialFile -FilePath "C:\Creds\CONTOSO@@Administrator.ini"</maml:para>
          <maml:para>Imports And Assigns To A Variable Single Credential Object From An Encrypted File.</maml:para>
          <maml:para>For More Information About Importing From Encrypted Files Run: "Get-Help Import-SnsCredentialFile -Full;"</maml:para>
          <maml:para>For More Information About Exporting To Encrypted Files Run: "Get-Help Export-SnsCredentialFile -Full;"</maml:para>
          <maml:para>$d = Invoke-SnsParallelRunSpaces -InitializationScript $scrBlock -ThreadCommand "Get-SnsProcess" -Identity $b -Remote -ThreadArguments $a -MaxDuration 1 -Credential $c -Verbose;</maml:para>
          <maml:para>Runs The Specified In The Beginning Function On All Remote Computers. The Number Of Running Run Spaces At Any Given Moment Is Automatically Defined And Depends On The Available CPU Cores On The Machine Multiplied By Four. Since The Machine That Is Running The Command Have Only The Tasks To Manage The Run Spaces And The Threads Code Is Run Remotely, The CmdLet Evaluates Larger Number Of Simultaneously Running Run Spaces In Comparison With The Local Execution.</maml:para>
          <maml:para>In "RemoteExecution" Parameter Set We Are Required To Specify Machines Fully Qualified Domain Names (FQDNS) To "Identity" Parameter.</maml:para>
          <maml:para>In "ThreadArguments" Parameter We Specify Single Hashtable About The Arguments Send To The Custom Function. If We Need Different Arguments To Be Send To The Threads, Must Be Specified A Hashtable Array With Members Corresponding To Each Thread. Lets Say For Example We Need To Enumerate Processes With Name "PowerShell" Running On Computer1, Processes With Name "Notepad" Running On Computer2 And Process With Name "Idle" On Server3.</maml:para>
          <maml:para>In "Credential" Parameter We Specify Single Credential Object To Authenticate Against All Of The Remote Machines. If We Need To Authenticate With Different Credentials On The Remote Machines, Must Be Specified A Credential Array With Members Corresponding To Each Remote Machine.</maml:para>
          <maml:para>In "MaxDuration" Parameter We Specify That All Run Spaces Must Run For A Duration Of One Minute. In The End Of The Duration Period All Not Completed Threads Will Be Cancelled.</maml:para>
          <maml:para>Because The Parallel Threads Are Named With The Remote Machines FQDN The Extraction Of The Required Output From The Output Collection Is Easier.</maml:para>
          <maml:para>$d | ft Identity, State, Output;</maml:para>
          <maml:para>Displays The Threads Output On The Console Window.</maml:para>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 4 ----------</maml:title>
        <dev:code>$strBlock =
@'
Function Get-SnsCpuUsage()
{
[CmdletBinding()]
Param()
    Begin
    {
        return Get-WmiObject Win32_Processor | `
            Measure-Object -Property "LoadPercentage" -Average | `
            Select-Object -ExpandProperty Average;
    }
}
'@;</dev:code>
        <dev:remarks>
          <maml:para>Assigns On A String Variable The Code Of An Explicitly Specified As CmdLet Function. The Function Does Not Need To Be Defined As A CmdLet, But It Helps, Because The Code Requirements Are Stricter And Any Code Error Will Be Not Tolerated. Defining The Function As CmdLet Does Provide Us With The CmdLet Common Parameters Without The Need To Define Them. In This Case We Need Not To Have Any Parameters. During The Remote Execution Of The Function We Will Send No Arguments To The Remote Machines.</maml:para>
          <maml:para>$arr = @();</maml:para>
          <maml:para>Initializes An Empty Array Variable.</maml:para>
          <maml:para>[System.Object]$obj = New-Object -TypeName "System.Object";</maml:para>
          <maml:para>Initializes An Empty Object Variable.</maml:para>
          <maml:para>$obj | Add-Member -Force:$true -MemberType "NoteProperty" -Name "Identity" -Value "computer1.contoso.local";</maml:para>
          <maml:para>Adds Property "Identity" To The Previously Initialized Object. The Property Name Is Matching The CmdLet’s "Identity" Parameter Name.</maml:para>
          <maml:para>$obj | Add-Member -Force:$true -MemberType "NoteProperty" -Name "Credential" -Value ( $(Import-SnsCredentialFile -FilePath "C:\Creds\CONTOSO@@Administrator.ini") );</maml:para>
          <maml:para>Adds Property "Credential" To The Previously Initialized Object. The Property Name Is Matching The CmdLet’s "Credential" Parameter Name. The Value Is The Imported Credential Object To Authenticate To "computer1.contoso.local".</maml:para>
          <maml:para>$arr += $obj;</maml:para>
          <maml:para>Adds The Custom Object Into The Previously Initialized Array.</maml:para>
          <maml:para>[System.Object]$obj = New-Object -TypeName "System.Object";</maml:para>
          <maml:para>Initializes New Empty Object Variable.</maml:para>
          <maml:para>$obj | Add-Member -Force:$true -MemberType "NoteProperty" -Name "Identity" -Value "computer1.fabricam.local";</maml:para>
          <maml:para>Adds Property "Identity" To The Previously Initialized Object. The Property Name Is Matching The CmdLet’s "Identity" Parameter Name. Notice The Remote Computer FQDN Is Different.</maml:para>
          <maml:para>$obj | Add-Member -Force:$true -MemberType "NoteProperty" -Name "Credential" -Value ( $(Import-SnsCredentialFile -FilePath "C:\Creds\FABRICAM@@Administrator.ini") );</maml:para>
          <maml:para>Adds Property "Credential" To The Previously Initialized Object. The Property Name Is Matching The CmdLet’s "Credential" Parameter Name. The Value Is The Imported Credential Object To Authenticate To "computer1.fabricam.local".</maml:para>
          <maml:para>$arr += $obj;</maml:para>
          <maml:para>Adds The Custom Object Into The Previously Initialized Array.</maml:para>
          <maml:para>$a = $arr | Invoke-SnsParallelRunSpaces -InitializationScript $strBlock -ThreadCommand "Get-SnsCpuUsage" -Remote -MaxDuration 1 -Verbose;</maml:para>
          <maml:para>Working With Pipeline Example. Here We Are Sending To The Pipeline Custom Objects With Properties Matching The CmdLet Parameters Which Accept Pipeline Input Via "ValueFromPipelineByPropertyName" Method. No Arguments Are Send To The Remote Jobs Because Our Function Does Not Need Any. In Case They Are Needed Can Be Either Added As Properties To The Custom Objects Sent To The Pipeline Or Specified To The CmdLet "ThreadArguments" Parameter.</maml:para>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 5 ----------</maml:title>
        <dev:code>$a = Get-ChildItem -Path "C:\MyFolder" | ForEach { Return @{ "Path" = "$($_.FullName)"; "PassThru" = $true; "Force" = $true; "Keep" = $true; } };</dev:code>
        <dev:remarks>
          <maml:para>Whenever The PowerShell Version Is High Enough And The PowerShell Modules Auto Loading Is Working, The Parallel Archive Looks Like A Breeze. Here We Just Enumerate All The Items In The Folder And Create Thread Arguments Hashtable Corresponding To Each File.</maml:para>
          <maml:para>$b = Invoke-SnsParallelRunSpaces -ThreadCommand "New-SnsZipArchive" -Identity $a.Path -Local -ThreadArguments $a -Verbose;</maml:para>
          <maml:para>And Here We Just Run "Invoke-SnsParallelRunSpaces" To ZIP All Files. There Is No Need Of "InitializationScript" Because We Are Running A Single CmdLet And We Call That CmdLet In "ThreadCommand" Parameter. The Automatic PSModule Load Will Take Care To Load The Current Module Within Each Of The Run Spaces.</maml:para>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <maml:relatedLinks>
      <maml:navigationLink>
        <maml:linkText> svesavov / SnsPsModule - </maml:linkText>
        <maml:uri>https://github.com/svesavov/SnsPsModule</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText> PowerShell Gallery - </maml:linkText>
        <maml:uri>https://www.powershellgallery.com/packages/SnsPsModule/</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText> Svetoslav Savov on LinkedIn - </maml:linkText>
        <maml:uri>https://www.linkedin.com/in/svetoslavsavov</maml:uri>
      </maml:navigationLink>
    </maml:relatedLinks>
  </command:command>
  <!-- Cmdlet: New-SnsPassword -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>New-SnsPassword</command:name>
      <command:verb>New</command:verb>
      <command:noun>SnsPassword</command:noun>
      <maml:description>
        <maml:para>Command Line Random Password Generator.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Command Line Random Password Generator.</maml:para>
      <maml:para>The Password Generators Available In Internet Does Not Have Command Line Interface. Scripts Related With User Provisioning Needs Command Line Interface To Generate Passwords. It Is Required To Avoid Setting A Generic Passwords To The New Users. Generic Passwords Approach Definitely Will Lead To Situation When All The Users Will Know The Generic Password And Might Log With The New Users Accounts. Using Password Generator Will Ensure That Each New User Have Unique Password.</maml:para>
      <maml:para>The Generated Password Meets The Following Requirements:</maml:para>
      <maml:para>- At Least One Random Special Character At Random Position - The List With The Special Characters Is Generated Using The Special Characters Available In US Keyboard Layout.</maml:para>
      <maml:para>- At Least One Random Digit At Random Position.</maml:para>
      <maml:para>- At Least One Random English Lower Letter At Random Position.</maml:para>
      <maml:para>- At Least One Random English Capital Letter At Random Position - Except "O" and "I" To Be Not Mistaken Respectively With "0" And Lower "L".</maml:para>
      <maml:para>- The Remaining Characters Are Generated Random From The Lists From Above.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: __AllParameterSets -->
      <command:syntaxItem>
        <maml:name>New-SnsPassword</maml:name>
        <!-- Parameter: PasswordLength -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="0">
          <maml:name>PasswordLength</maml:name>
          <maml:description>
            <maml:para>Specifies The Required Password Length.</maml:para>
            <maml:para>If Omitted The CmdLet Will Generate Password With Length 20 Characters.</maml:para>
            <maml:para>If Specified Value Less Than 5 It Will Be Ignored.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>20</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: PasswordLength -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="0">
        <maml:name>PasswordLength</maml:name>
        <maml:description>
          <maml:para>Specifies The Required Password Length.</maml:para>
          <maml:para>If Omitted The CmdLet Will Generate Password With Length 20 Characters.</maml:para>
          <maml:para>If Specified Value Less Than 5 It Will Be Ignored.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>20</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues>
      <!-- OutputType: String -->
      <command:returnValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:title></maml:title>
      <maml:alert>
        <maml:para>AUTHOR: Svetoslav Nedyalkov Savov</maml:para>
        <maml:para>THIS CODE IS MADE AVAILABLE AS IS, WITHOUT WARRANTY OF ANY KIND. THE ENTIRE RISK</maml:para>
        <maml:para>OF THE USE OR THE RESULTS FROM THE USE OF THIS CODE REMAINS WITH THE USER.</maml:para>
        <maml:para></maml:para>
        <maml:para></maml:para>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>[System.String]$Password = New-SnsPassword -PasswordLength 15;</dev:code>
        <dev:remarks>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <maml:relatedLinks>
      <maml:navigationLink>
        <maml:linkText> svesavov / SnsPsModule - </maml:linkText>
        <maml:uri>https://github.com/svesavov/SnsPsModule</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText> PowerShell Gallery - </maml:linkText>
        <maml:uri>https://www.powershellgallery.com/packages/SnsPsModule/</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText> Svetoslav Savov on LinkedIn - </maml:linkText>
        <maml:uri>https://www.linkedin.com/in/svetoslavsavov</maml:uri>
      </maml:navigationLink>
    </maml:relatedLinks>
  </command:command>
  <!-- Cmdlet: New-SnsPieChart -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>New-SnsPieChart</command:name>
      <command:verb>New</command:verb>
      <command:noun>SnsPieChart</command:noun>
      <maml:description>
        <maml:para>Creates A Chart Based On The Specified Statistical Or Raw Data And Exports It On A File.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Creates A Chart Based On The Specified Statistical Or Raw Data And Exports It On A File.</maml:para>
      <maml:para>PowerShell Is A Scripting Language And It Does Not Need To Have Any Kind Of Forms, And Objects Used Within Forms As The Command Need No Graphical Interface. The PowerShell Is Intended To Be Used As A Language For Writing Of Automation Scripts. Sometimes Those Automation Scripts Produce Reports Which Need To Be Sent On Emails. If The Reports Needs To Be Provided To Other Systems That Visualize The Output Is Better The Data To Be Inserted In A DataBase And The Other Systems To Access The Data From There Or To Be Exported On .CSV Files And Provided To Those Systems. Whenever The Reports Data Have To Be Send On Humans Over Emails Or Some Other Channels Is Better The Data To Be Presented In Charts Than To Be Provided Data On .CSV Files Which Are Not Human Friendly. Here Comes The Need Of This CmdLet To Present Information On Human Friendly Way In Form Of Charts And Exports Those Charts On Common Recognizable Picture Formats, So They To Be Easily Embedded Into Emails, Webpages And etc. The .NET Chart Objects Normally Can Be Used Within Graphical Interface Forms And Are Not Available Natively In PowerShell.</maml:para>
      <maml:para>The CmdLet Has Two Parameter Sets:</maml:para>
      <maml:para>Parameter Set "InputObject": In This Parameter Set The CmdLet Requires To Be Specified Already Processed Statistical Data And The CmdLet Will Prepare Only The Chart Visualization. The Input Objects Have To Be From Type PSObject Or PSCustomObject, Where The Property Names Have To Be The Values In The AxisX And The Values Within Those Properties Have To Be The AxisY Values. The CmdLet Requires The AxisY Values To Be From Type Double Or To Be Possible Explicit Casting To Type Double. If You Are Running The CmdLet In PowerShell 5 And Above, The Input Tables Can Be HashTables And The PowerShell Natively Will Convert Them To PSObject Type. However The HashTables Do Not Keep Track Of The Pairs Order Which Might Lead To Unexpected Results As For Example The Dots On AxisX To Be Not Properly Ordered. In This Parameter Set The User Have Greater Control On The Chart Visualization. For More Details Refer To Parameters Section Of This Document.</maml:para>
      <maml:para>Parameter Set "RawData": In This Parameter Set The CmdLet Will Require A Collection Of Type PSObject Or PSCustomObject With The RawData Which Have To Be Analyzed. The CmdLet Have Basic Analyze Functionalities. In This Parameter Set The CmdLet Will Require To Be Specified The Column In The RawData Which Have The Values That Identifies The Data Series (The Segments In The Chart), And The Column That Will Be Used To Calculate The AxisY Values.</maml:para>
      <maml:para>The "RawData" Parameter Set Is Limited From Visualization Options. For Example As The Data Series Are Taken From A Column In The Raw Data. The Colors for The Data Series Cannot Be Specified By The User. Normally The User Have To Analyze The Data To Identify The Data Series And To Specify Color For Each Data Serie. Which Makes No Sense To Leave The CmdLet To Analyze The Data. From That Perspective Other Than Automatic Color Generation Is Pointless In "RawData" Parameter Set. For More Details About Which Visualization Options Are Available In "RawData" Parameter Set Please Refer To Parameter Section Of This Document.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: InputObject -->
      <command:syntaxItem>
        <maml:name>New-SnsPieChart</maml:name>
        <!-- Parameter: InputObject -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named" aliases="Input,Series">
          <maml:name>InputObject</maml:name>
          <maml:description>
            <maml:para>Specifies Data Serie Which Have To Be Visualized.</maml:para>
            <maml:para>It Can Be Only One Serie Because Of The Pie Chart Specific.</maml:para>
          </maml:description>
          <command:parameterValue required="true">PSObject</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.PSObject</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Path -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="FilePath,File">
          <maml:name>Path</maml:name>
          <maml:description>
            <maml:para>Specifies The File Where The Chart Will Be Exported.</maml:para>
            <maml:para>The File Extension Must Be Either ".png" Or ".jpg".</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: AddYValue -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>AddYValue</maml:name>
          <maml:description>
            <maml:para>Specifies To Add The Y Values To The Serie Entry In The Chart Legend.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Colors -->
        <command:parameter required="false" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named" aliases="EntryColor,SeriesColor">
          <maml:name>Colors</maml:name>
          <maml:description>
            <maml:para>Specifies Colors Of The Segments In The Pie Chart.</maml:para>
            <maml:para>When Specified The Number And Order Of Colors Must Match The Number And Order Of The InputObject Properties.</maml:para>
            <maml:para>The Named Colors Can Be Specified By Their Name.</maml:para>
            <maml:para>For More Details: https://bit.ly/2LDgXSw</maml:para>
            <maml:para>If Omitted Will Be Used Random Colors From Bright Pastel Palette.</maml:para>
          </maml:description>
          <command:parameterValue required="true">Color[]</command:parameterValue>
          <dev:type>
            <maml:name>System.Drawing.Color[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Enable3D -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Enable3D</maml:name>
          <maml:description>
            <maml:para>Specifies To Create 3 Dimensional Chart.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: LegendTitle -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>LegendTitle</maml:name>
          <maml:description>
            <maml:para>Specifies Legend Title.</maml:para>
            <maml:para>If Omitted The Chart Legend Will Be Not Created.</maml:para>
            <maml:para>And The Chart Area Will Expand To The Width Of The File.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: PassThru -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>PassThru</maml:name>
          <maml:description>
            <maml:para>Specifies To The CmdLet To Revert A String Object.</maml:para>
            <maml:para>The Reverted String Is The Full Absolute UNC File Path To The Created Picture File.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>True</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ShowPercent -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ShowPercent</maml:name>
          <maml:description>
            <maml:para>Specifies To Display The Percentage As Text In The Chart Area.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Title -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="ChartTitle">
          <maml:name>Title</maml:name>
          <maml:description>
            <maml:para>Specifies The Chart Title.</maml:para>
            <maml:para>If Omitted The Chart Will Have No Title.</maml:para>
            <maml:para>And The Chart Area Will Expand To The High Of The File.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: RawData -->
      <command:syntaxItem>
        <maml:name>New-SnsPieChart</maml:name>
        <!-- Parameter: AxisXColumn -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>AxisXColumn</maml:name>
          <maml:description>
            <maml:para>Specifies A Column Within The RawData Which Identifies The AxisX Values.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: AxisYColumn -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>AxisYColumn</maml:name>
          <maml:description>
            <maml:para>Specifies A Column Within The RawData Which Identifies The Values Which Have To Be Analyzed / Counted And Output Set As AxisY Values.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Path -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="FilePath,File">
          <maml:name>Path</maml:name>
          <maml:description>
            <maml:para>Specifies The File Where The Chart Will Be Exported.</maml:para>
            <maml:para>The File Extension Must Be Either ".png" Or ".jpg".</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: RawData -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>RawData</maml:name>
          <maml:description>
            <maml:para>Specifies The RawData Which Have To Be Analyzed And Visualized.</maml:para>
          </maml:description>
          <command:parameterValue required="true">PSObject[]</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.PSObject[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: AddYValue -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>AddYValue</maml:name>
          <maml:description>
            <maml:para>Specifies To Add The Y Values To The Serie Entry In The Chart Legend.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Enable3D -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Enable3D</maml:name>
          <maml:description>
            <maml:para>Specifies To Create 3 Dimensional Chart.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: LegendTitle -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>LegendTitle</maml:name>
          <maml:description>
            <maml:para>Specifies Legend Title.</maml:para>
            <maml:para>If Omitted The Chart Legend Will Be Not Created.</maml:para>
            <maml:para>And The Chart Area Will Expand To The Width Of The File.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: PassThru -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>PassThru</maml:name>
          <maml:description>
            <maml:para>Specifies To The CmdLet To Revert A String Object.</maml:para>
            <maml:para>The Reverted String Is The Full Absolute UNC File Path To The Created Picture File.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>True</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: ShowPercent -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>ShowPercent</maml:name>
          <maml:description>
            <maml:para>Specifies To Display The Percentage As Text In The Chart Area.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Title -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="ChartTitle">
          <maml:name>Title</maml:name>
          <maml:description>
            <maml:para>Specifies The Chart Title.</maml:para>
            <maml:para>If Omitted The Chart Will Have No Title.</maml:para>
            <maml:para>And The Chart Area Will Expand To The High Of The File.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: Path -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="FilePath,File">
        <maml:name>Path</maml:name>
        <maml:description>
          <maml:para>Specifies The File Where The Chart Will Be Exported.</maml:para>
          <maml:para>The File Extension Must Be Either ".png" Or ".jpg".</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="FilePath,File">
        <maml:name>FilePath</maml:name>
        <maml:description>
          <maml:para>Specifies The File Where The Chart Will Be Exported.</maml:para>
          <maml:para>The File Extension Must Be Either ".png" Or ".jpg".</maml:para>
          <maml:para>This is an alias of the Path parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named" aliases="FilePath,File">
        <maml:name>File</maml:name>
        <maml:description>
          <maml:para>Specifies The File Where The Chart Will Be Exported.</maml:para>
          <maml:para>The File Extension Must Be Either ".png" Or ".jpg".</maml:para>
          <maml:para>This is an alias of the Path parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Title -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="ChartTitle">
        <maml:name>Title</maml:name>
        <maml:description>
          <maml:para>Specifies The Chart Title.</maml:para>
          <maml:para>If Omitted The Chart Will Have No Title.</maml:para>
          <maml:para>And The Chart Area Will Expand To The High Of The File.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named" aliases="ChartTitle">
        <maml:name>ChartTitle</maml:name>
        <maml:description>
          <maml:para>Specifies The Chart Title.</maml:para>
          <maml:para>If Omitted The Chart Will Have No Title.</maml:para>
          <maml:para>And The Chart Area Will Expand To The High Of The File.</maml:para>
          <maml:para>This is an alias of the Title parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: LegendTitle -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>LegendTitle</maml:name>
        <maml:description>
          <maml:para>Specifies Legend Title.</maml:para>
          <maml:para>If Omitted The Chart Legend Will Be Not Created.</maml:para>
          <maml:para>And The Chart Area Will Expand To The Width Of The File.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Enable3D -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Enable3D</maml:name>
        <maml:description>
          <maml:para>Specifies To Create 3 Dimensional Chart.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: AddYValue -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>AddYValue</maml:name>
        <maml:description>
          <maml:para>Specifies To Add The Y Values To The Serie Entry In The Chart Legend.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: ShowPercent -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>ShowPercent</maml:name>
        <maml:description>
          <maml:para>Specifies To Display The Percentage As Text In The Chart Area.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: PassThru -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>PassThru</maml:name>
        <maml:description>
          <maml:para>Specifies To The CmdLet To Revert A String Object.</maml:para>
          <maml:para>The Reverted String Is The Full Absolute UNC File Path To The Created Picture File.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>True</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: InputObject -->
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named" aliases="Input,Series">
        <maml:name>InputObject</maml:name>
        <maml:description>
          <maml:para>Specifies Data Serie Which Have To Be Visualized.</maml:para>
          <maml:para>It Can Be Only One Serie Because Of The Pie Chart Specific.</maml:para>
        </maml:description>
        <command:parameterValue required="true">PSObject</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.PSObject</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named" aliases="Input,Series">
        <maml:name>Input</maml:name>
        <maml:description>
          <maml:para>Specifies Data Serie Which Have To Be Visualized.</maml:para>
          <maml:para>It Can Be Only One Serie Because Of The Pie Chart Specific.</maml:para>
          <maml:para>This is an alias of the InputObject parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">PSObject</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.PSObject</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named" aliases="Input,Series">
        <maml:name>Series</maml:name>
        <maml:description>
          <maml:para>Specifies Data Serie Which Have To Be Visualized.</maml:para>
          <maml:para>It Can Be Only One Serie Because Of The Pie Chart Specific.</maml:para>
          <maml:para>This is an alias of the InputObject parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">PSObject</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.PSObject</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Colors -->
      <command:parameter required="false" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named" aliases="EntryColor,SeriesColor">
        <maml:name>Colors</maml:name>
        <maml:description>
          <maml:para>Specifies Colors Of The Segments In The Pie Chart.</maml:para>
          <maml:para>When Specified The Number And Order Of Colors Must Match The Number And Order Of The InputObject Properties.</maml:para>
          <maml:para>The Named Colors Can Be Specified By Their Name.</maml:para>
          <maml:para>For More Details: https://bit.ly/2LDgXSw</maml:para>
          <maml:para>If Omitted Will Be Used Random Colors From Bright Pastel Palette.</maml:para>
        </maml:description>
        <command:parameterValue required="true">Color[]</command:parameterValue>
        <dev:type>
          <maml:name>System.Drawing.Color[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="false" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named" aliases="EntryColor,SeriesColor">
        <maml:name>EntryColor</maml:name>
        <maml:description>
          <maml:para>Specifies Colors Of The Segments In The Pie Chart.</maml:para>
          <maml:para>When Specified The Number And Order Of Colors Must Match The Number And Order Of The InputObject Properties.</maml:para>
          <maml:para>The Named Colors Can Be Specified By Their Name.</maml:para>
          <maml:para>For More Details: https://bit.ly/2LDgXSw</maml:para>
          <maml:para>If Omitted Will Be Used Random Colors From Bright Pastel Palette.</maml:para>
          <maml:para>This is an alias of the Colors parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">Color[]</command:parameterValue>
        <dev:type>
          <maml:name>System.Drawing.Color[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="false" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named" aliases="EntryColor,SeriesColor">
        <maml:name>SeriesColor</maml:name>
        <maml:description>
          <maml:para>Specifies Colors Of The Segments In The Pie Chart.</maml:para>
          <maml:para>When Specified The Number And Order Of Colors Must Match The Number And Order Of The InputObject Properties.</maml:para>
          <maml:para>The Named Colors Can Be Specified By Their Name.</maml:para>
          <maml:para>For More Details: https://bit.ly/2LDgXSw</maml:para>
          <maml:para>If Omitted Will Be Used Random Colors From Bright Pastel Palette.</maml:para>
          <maml:para>This is an alias of the Colors parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">Color[]</command:parameterValue>
        <dev:type>
          <maml:name>System.Drawing.Color[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: RawData -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>RawData</maml:name>
        <maml:description>
          <maml:para>Specifies The RawData Which Have To Be Analyzed And Visualized.</maml:para>
        </maml:description>
        <command:parameterValue required="true">PSObject[]</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.PSObject[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: AxisXColumn -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>AxisXColumn</maml:name>
        <maml:description>
          <maml:para>Specifies A Column Within The RawData Which Identifies The AxisX Values.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: AxisYColumn -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>AxisYColumn</maml:name>
        <maml:description>
          <maml:para>Specifies A Column Within The RawData Which Identifies The Values Which Have To Be Analyzed / Counted And Output Set As AxisY Values.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.Management.Automation.PSObject</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>Specifies Data Serie Which Have To Be Visualized.</maml:para>
          <maml:para>It Can Be Only One Serie Because Of The Pie Chart Specific.</maml:para>
        </maml:description>
      </command:inputType>
      <command:inputType>
        <dev:type>
          <maml:name>System.Drawing.Color[]</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>Specifies Colors Of The Segments In The Pie Chart.</maml:para>
          <maml:para>When Specified The Number And Order Of Colors Must Match The Number And Order Of The InputObject Properties.</maml:para>
          <maml:para>The Named Colors Can Be Specified By Their Name.</maml:para>
          <maml:para>For More Details: https://bit.ly/2LDgXSw</maml:para>
          <maml:para>If Omitted Will Be Used Random Colors From Bright Pastel Palette.</maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <!-- OutputType: String[] -->
      <command:returnValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:title>Warning</maml:title>
      <maml:alert>
        <maml:para>Whenever The Values In AxisX Are System.DateTime Objects The User Have To Pay Extra Attention As Unexpected Results Might Be Produced, Because Of The Precision Of The Struct. For Example The Produced Chart To Have Segments For Each Millisecond. In That Case The Raw Data Have To Be Modified In Advance In A Way So The Values In AxisX To Be Grouped As Per The Desired Output. For Example If The Chart Have To Present The Data Per Day, The Information About The Hours, Minutes, Seconds And etc. Must Be Stripped Out From The Date Column.</maml:para>
        <maml:para></maml:para>
        <maml:para></maml:para>
        <maml:para></maml:para>
      </maml:alert>
      <maml:title>AUTHOR</maml:title>
      <maml:alert>
        <maml:para>AUTHOR: Svetoslav Nedyalkov Savov</maml:para>
        <maml:para>THIS CODE IS MADE AVAILABLE AS IS, WITHOUT WARRANTY OF ANY KIND. THE ENTIRE RISK</maml:para>
        <maml:para>OF THE USE OR THE RESULTS FROM THE USE OF THIS CODE REMAINS WITH THE USER.</maml:para>
        <maml:para></maml:para>
        <maml:para></maml:para>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>$rrInput | New-SnsPieChart -Path 'C:\Chart.png' -Title "Actions" -LegendTitle "Completed Actions" -Enable3D `
-AddYValue -ShowPercent -PassThru -EntryColor @("Green", "Yellow", "Red")";</dev:code>
        <dev:remarks>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 2 ----------</maml:title>
        <dev:code>New-SnsPieChart -Path 'C:\Chart.jpg' -Title "Actions" -LegendTitle "Completed Actions" -Enable3D -AddYValue `
-ShowPercent -PassThru -RawData $rrInput -AxisXColumn "Message" -AxisYColumn "Date";</dev:code>
        <dev:remarks>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <maml:relatedLinks>
      <maml:navigationLink>
        <maml:linkText> svesavov / SnsPsModule - </maml:linkText>
        <maml:uri>https://github.com/svesavov/SnsPsModule</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText> PowerShell Gallery - </maml:linkText>
        <maml:uri>https://www.powershellgallery.com/packages/SnsPsModule/</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText> Svetoslav Savov on LinkedIn - </maml:linkText>
        <maml:uri>https://www.linkedin.com/in/svetoslavsavov</maml:uri>
      </maml:navigationLink>
    </maml:relatedLinks>
  </command:command>
  <!-- Cmdlet: Set-SnsRegistry -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Set-SnsRegistry</command:name>
      <command:verb>Set</command:verb>
      <command:noun>SnsRegistry</command:noun>
      <maml:description>
        <maml:para>Modifies Or Creates Registry Key Values.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Modifies Or Creates Registry Key Values.</maml:para>
      <maml:para>The CmdLet Requires The Run Space To Be Executed In Elevated Mode.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: __AllParameterSets -->
      <command:syntaxItem>
        <maml:name>Set-SnsRegistry</maml:name>
        <!-- Parameter: RegistryName -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByPropertyName)" position="named">
          <maml:name>RegistryName</maml:name>
          <maml:description>
            <maml:para>Specifies The Name Of The Registry Key.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: RegistryPath -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByPropertyName)" position="named">
          <maml:name>RegistryPath</maml:name>
          <maml:description>
            <maml:para>Specifies The Full Absolute UNC Registry Path.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: RegistryType -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByPropertyName)" position="named">
          <maml:name>RegistryType</maml:name>
          <maml:description>
            <maml:para>Specifies The Type Of The Registry Key.</maml:para>
            <maml:para>Possible values: String, ExpandString, Binary, DWord, MultiString, QWord, Unknown, None</maml:para>
          </maml:description>
          <command:parameterValue required="true">RegistryValueKind</command:parameterValue>
          <dev:type>
            <maml:name>Microsoft.Win32.RegistryValueKind</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>Unknown</dev:defaultValue>
          <command:parameterValueGroup>
            <command:parameterValue required="false" variableLength="false">String</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">ExpandString</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Binary</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">DWord</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">MultiString</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">QWord</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">Unknown</command:parameterValue>
            <command:parameterValue required="false" variableLength="false">None</command:parameterValue>
          </command:parameterValueGroup>
        </command:parameter>
        <!-- Parameter: RegistryValue -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByPropertyName)" position="named">
          <maml:name>RegistryValue</maml:name>
          <maml:description>
            <maml:para>Specifies The Value Of The Registry Key.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Attempts -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Attempts</maml:name>
          <maml:description>
            <maml:para>Specifies The Number Of Attempts That The CmdLet Have To Make Before To Consider The Fulfilment As Failed.</maml:para>
          </maml:description>
          <command:parameterValue required="true">int</command:parameterValue>
          <dev:type>
            <maml:name>System.Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>3</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Forces The CmdLet To Create The Registry Key Value In Case Does Not Exist.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: PassThru -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>PassThru</maml:name>
          <maml:description>
            <maml:para>Specify The Parameter Whenever You Need The Function To Revert Output Object.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: RegistryPath -->
      <command:parameter required="true" globbing="false" pipelineInput="true (ByPropertyName)" position="named">
        <maml:name>RegistryPath</maml:name>
        <maml:description>
          <maml:para>Specifies The Full Absolute UNC Registry Path.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: RegistryName -->
      <command:parameter required="true" globbing="false" pipelineInput="true (ByPropertyName)" position="named">
        <maml:name>RegistryName</maml:name>
        <maml:description>
          <maml:para>Specifies The Name Of The Registry Key.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: RegistryType -->
      <command:parameter required="true" globbing="false" pipelineInput="true (ByPropertyName)" position="named">
        <maml:name>RegistryType</maml:name>
        <maml:description>
          <maml:para>Specifies The Type Of The Registry Key.</maml:para>
          <maml:para>Possible values: String, ExpandString, Binary, DWord, MultiString, QWord, Unknown, None</maml:para>
        </maml:description>
        <command:parameterValue required="true">RegistryValueKind</command:parameterValue>
        <dev:type>
          <maml:name>Microsoft.Win32.RegistryValueKind</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>Unknown</dev:defaultValue>
        <command:parameterValueGroup>
          <command:parameterValue required="false" variableLength="false">String</command:parameterValue>
          <command:parameterValue required="false" variableLength="false">ExpandString</command:parameterValue>
          <command:parameterValue required="false" variableLength="false">Binary</command:parameterValue>
          <command:parameterValue required="false" variableLength="false">DWord</command:parameterValue>
          <command:parameterValue required="false" variableLength="false">MultiString</command:parameterValue>
          <command:parameterValue required="false" variableLength="false">QWord</command:parameterValue>
          <command:parameterValue required="false" variableLength="false">Unknown</command:parameterValue>
          <command:parameterValue required="false" variableLength="false">None</command:parameterValue>
        </command:parameterValueGroup>
      </command:parameter>
      <!-- Parameter: RegistryValue -->
      <command:parameter required="true" globbing="false" pipelineInput="true (ByPropertyName)" position="named">
        <maml:name>RegistryValue</maml:name>
        <maml:description>
          <maml:para>Specifies The Value Of The Registry Key.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Attempts -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Attempts</maml:name>
        <maml:description>
          <maml:para>Specifies The Number Of Attempts That The CmdLet Have To Make Before To Consider The Fulfilment As Failed.</maml:para>
        </maml:description>
        <command:parameterValue required="true">int</command:parameterValue>
        <dev:type>
          <maml:name>System.Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>3</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Force -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Force</maml:name>
        <maml:description>
          <maml:para>Forces The CmdLet To Create The Registry Key Value In Case Does Not Exist.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: PassThru -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>PassThru</maml:name>
        <maml:description>
          <maml:para>Specify The Parameter Whenever You Need The Function To Revert Output Object.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>Specifies The Full Absolute UNC Registry Path.</maml:para>
        </maml:description>
      </command:inputType>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>Specifies The Name Of The Registry Key.</maml:para>
        </maml:description>
      </command:inputType>
      <command:inputType>
        <dev:type>
          <maml:name>Microsoft.Win32.RegistryValueKind</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>Specifies The Type Of The Registry Key.</maml:para>
        </maml:description>
      </command:inputType>
      <command:inputType>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>Specifies The Value Of The Registry Key.</maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <!-- OutputType: SnsRegistryValue[] -->
      <command:returnValue>
        <dev:type>
          <maml:name>SnsPsModule.SnsRegistryValue[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:title></maml:title>
      <maml:alert>
        <maml:para>AUTHOR: Svetoslav Nedyalkov Savov</maml:para>
        <maml:para>THIS CODE IS MADE AVAILABLE AS IS, WITHOUT WARRANTY OF ANY KIND. THE ENTIRE RISK</maml:para>
        <maml:para>OF THE USE OR THE RESULTS FROM THE USE OF THIS CODE REMAINS WITH THE USER.</maml:para>
        <maml:para></maml:para>
        <maml:para></maml:para>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>[System.Boolean[]]$bolSetRegistry = Set-Registry `
-RegistryPath 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\WinRM\Client' `
-RegistryName 'AllowBasic' -RegistryType 'DWord' -RegistryValue 1;</dev:code>
        <dev:remarks>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 2 ----------</maml:title>
        <dev:code>[System.Object[]]$objObject = Set-Registry `
-RegistryPath 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\WinRM\Client' `
-RegistryName 'AllowBasic' -RegistryType 'DWord' -RegistryValue 1 -PassThru;</dev:code>
        <dev:remarks>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <maml:relatedLinks>
      <maml:navigationLink>
        <maml:linkText> svesavov / SnsPsModule - </maml:linkText>
        <maml:uri>https://github.com/svesavov/SnsPsModule</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText> PowerShell Gallery - </maml:linkText>
        <maml:uri>https://www.powershellgallery.com/packages/SnsPsModule/</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText> Svetoslav Savov on LinkedIn - </maml:linkText>
        <maml:uri>https://www.linkedin.com/in/svetoslavsavov</maml:uri>
      </maml:navigationLink>
    </maml:relatedLinks>
  </command:command>
  <!-- Cmdlet: Get-SnsWebPage -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>Get-SnsWebPage</command:name>
      <command:verb>Get</command:verb>
      <command:noun>SnsWebPage</command:noun>
      <maml:description>
        <maml:para>Extracts HTML Content From A Web Page As A String.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Extracts HTML Content From A Web Page As A String.</maml:para>
      <maml:para>The Main Reason This Command-Let To Be Developed Is The Fact That Invoke-WebRequest Native PowerShell Command Is Running Within Own Run Space Which Does Not Inherit The Parent Run Space Settings. Invoke-WebRequest Command Does Not Have Parameters To Skip The Certificates Checks Before PowerShell 6.0. With Other Words On Machines With PowerShell Before 6.0 Without External Internet Access On HTTP Protocol Cannot Be Verified The Revocation Lists Of The HTTPS Certificates.</maml:para>
      <maml:para>The Get-WebPage Command-Let Can Connect To Web Pages With Or Without Authentication. In Order This To Be Possible The Command-Let Was Developed With 3 ParameterSets.</maml:para>
      <maml:para>--ParameterSet "Anonymous" - This ParameterSet Is Used For Webpage Which Does Not Require Authentication. The User Will Need To Provide Only The WebPage URL.</maml:para>
      <maml:para>--ParameterSet "Credential" - In This ParameterSet The User Have To Provide WebPage URL, A Valid PSCredential Object, Login URL, The Name Of The UserName And Password Textboxes As They Are Named In The Login Form Of The Destination WebPage.</maml:para>
      <maml:para>--ParameterSet "UserAndPass" - In This ParameterSet The User Have To Provide WebPage URL, UserName, Password In Clear Text, Login URL, The Name Of The UserName And Password Textboxes As They Are Named In The Login Form Of The Destination WebPage. Providing The Password In Clear Text Is Not A Security Concern As It Is Not Stored Anywhere On The Computer. The Password Is Kept Into The Computer Memory For The Duration Of The Command Run And Then Is Destroyed. However Usage In That Parameter Set In Scripts Can Be Security Concern As Long As The Password Have To Be Sored Unencrypted Somewhere And Provided To The Command-Let.</maml:para>
      <maml:para>At The Very Beginning The Command-Let Connects To The Provided LoginUrl And Extracts From There An Access Cookie Which Is Used Afterward To Be Accessed The WebPage URL. The Access Cookie Is Preserved In The Computers Memory For The Duration Of The Command-Let Run And Can Be Used For Accessing Of Multiple Pages That Can Accept This Cookie, As Long As The WebPage URL's Are Provided As Collection. The Output Strings Collection Is Reverted In The Same Order As The Webpage URL's Are Provided.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: Anonymous -->
      <command:syntaxItem>
        <maml:name>Get-SnsWebPage</maml:name>
        <!-- Parameter: Url -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named">
          <maml:name>Url</maml:name>
          <maml:description>
            <maml:para>Specifies The WebPage Universal Resource Locator.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Anonymous -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Anonymous</maml:name>
          <maml:description>
            <maml:para>Specifies That The WebPage Does Not Require Authentication And Shall Be Accessed Directly.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: Credential -->
      <command:syntaxItem>
        <maml:name>Get-SnsWebPage</maml:name>
        <!-- Parameter: Credential -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>Credential</maml:name>
          <maml:description>
            <maml:para>Specifies The WebPage Credential Object.</maml:para>
          </maml:description>
          <command:parameterValue required="true">PSCredential</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.PSCredential</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: FormPasswordField -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>FormPasswordField</maml:name>
          <maml:description>
            <maml:para>Specifies The WebPage Password Textbox Name As It Is Named In The Login Page Form.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>os_password</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: FormUserNameField -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>FormUserNameField</maml:name>
          <maml:description>
            <maml:para>Specifies The WebPage Username Textbox Name As It Is Named In The Login Page Form.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>os_username</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: LoginUrl -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>LoginUrl</maml:name>
          <maml:description>
            <maml:para>Specifies The WebPage LoginUrl.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Url -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named">
          <maml:name>Url</maml:name>
          <maml:description>
            <maml:para>Specifies The WebPage Universal Resource Locator.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
      </command:syntaxItem>
      <!-- Parameter set: UserAndPass -->
      <command:syntaxItem>
        <maml:name>Get-SnsWebPage</maml:name>
        <!-- Parameter: FormPasswordField -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>FormPasswordField</maml:name>
          <maml:description>
            <maml:para>Specifies The WebPage Password Textbox Name As It Is Named In The Login Page Form.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>os_password</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: FormUserNameField -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>FormUserNameField</maml:name>
          <maml:description>
            <maml:para>Specifies The WebPage Username Textbox Name As It Is Named In The Login Page Form.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>os_username</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: LoginUrl -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>LoginUrl</maml:name>
          <maml:description>
            <maml:para>Specifies The WebPage LoginUrl.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Password -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>Password</maml:name>
          <maml:description>
            <maml:para>Specifies The WebPage Password In Clear Text.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Url -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named">
          <maml:name>Url</maml:name>
          <maml:description>
            <maml:para>Specifies The WebPage Universal Resource Locator.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: UserName -->
        <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
          <maml:name>UserName</maml:name>
          <maml:description>
            <maml:para>Specifies The WebPage Username In Clear Text.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string</command:parameterValue>
          <dev:type>
            <maml:name>System.String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue></dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: Url -->
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named">
        <maml:name>Url</maml:name>
        <maml:description>
          <maml:para>Specifies The WebPage Universal Resource Locator.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: Anonymous -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Anonymous</maml:name>
        <maml:description>
          <maml:para>Specifies That The WebPage Does Not Require Authentication And Shall Be Accessed Directly.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: LoginUrl -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>LoginUrl</maml:name>
        <maml:description>
          <maml:para>Specifies The WebPage LoginUrl.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: FormUserNameField -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>FormUserNameField</maml:name>
        <maml:description>
          <maml:para>Specifies The WebPage Username Textbox Name As It Is Named In The Login Page Form.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>os_username</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: FormPasswordField -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>FormPasswordField</maml:name>
        <maml:description>
          <maml:para>Specifies The WebPage Password Textbox Name As It Is Named In The Login Page Form.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>os_password</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Credential -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>Credential</maml:name>
        <maml:description>
          <maml:para>Specifies The WebPage Credential Object.</maml:para>
        </maml:description>
        <command:parameterValue required="true">PSCredential</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.PSCredential</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: UserName -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>UserName</maml:name>
        <maml:description>
          <maml:para>Specifies The WebPage Username In Clear Text.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Password -->
      <command:parameter required="true" globbing="false" pipelineInput="false" position="named">
        <maml:name>Password</maml:name>
        <maml:description>
          <maml:para>Specifies The WebPage Password In Clear Text.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string</command:parameterValue>
        <dev:type>
          <maml:name>System.String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue></dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>Specifies The WebPage Universal Resource Locator.</maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <!-- OutputType: String[] -->
      <command:returnValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:title></maml:title>
      <maml:alert>
        <maml:para>AUTHOR: Svetoslav Nedyalkov Savov</maml:para>
        <maml:para>THIS CODE IS MADE AVAILABLE AS IS, WITHOUT WARRANTY OF ANY KIND. THE ENTIRE RISK</maml:para>
        <maml:para>OF THE USE OR THE RESULTS FROM THE USE OF THIS CODE REMAINS WITH THE USER.</maml:para>
        <maml:para></maml:para>
        <maml:para></maml:para>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>[System.String[]]$strHtml = Get-SnsWebPage -Url "https://contoso.com";</dev:code>
        <dev:remarks>
          <maml:para>Gets Web Page HTML From A WebPage Without Logon.</maml:para>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 2 ----------</maml:title>
        <dev:code>[System.String[]]$strHtml = Get-SnsWebPage -Credential (Get-Credential) -FormUserNameField "username" `
-FormPasswordField "password" -LoginUrl "https://contoso.com/dologin.action" -Url "https://contoso.com";</dev:code>
        <dev:remarks>
          <maml:para>Gets Web Page HTML Using Credentials Which Have To Be Provided By The User.</maml:para>
          <maml:para>To Get The Form TextBox Names Have To Be Checked In Advance The Source Of The Logon Page With Some Browser.</maml:para>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 3 ----------</maml:title>
        <dev:code>[System.String[]]$strHtml = Get-SnsWebPage -UserName "CONTOSO\JohnSmith" -FormUserNameField "username" `
-Password "Pa$$w0rd" -FormPasswordField "password" -LoginUrl "https://contoso.com/dologin.action" `
-Url "https://contoso.com";</dev:code>
        <dev:remarks>
          <maml:para>Gets Web Page HTML Using Specified UserName And Password.</maml:para>
          <maml:para>To Get The Form TextBox Names Have To Be Checked In Advance The Source Of The Logon Page With Some Browser.</maml:para>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <maml:relatedLinks>
      <maml:navigationLink>
        <maml:linkText> svesavov / SnsPsModule - </maml:linkText>
        <maml:uri>https://github.com/svesavov/SnsPsModule</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText> PowerShell Gallery - </maml:linkText>
        <maml:uri>https://www.powershellgallery.com/packages/SnsPsModule/</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText> Svetoslav Savov on LinkedIn - </maml:linkText>
        <maml:uri>https://www.linkedin.com/in/svetoslavsavov</maml:uri>
      </maml:navigationLink>
    </maml:relatedLinks>
  </command:command>
  <!-- Cmdlet: New-SnsZipArchive -->
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10">
    <command:details>
      <command:name>New-SnsZipArchive</command:name>
      <command:verb>New</command:verb>
      <command:noun>SnsZipArchive</command:noun>
      <maml:description>
        <maml:para>Provides Command Line Interface (CLI) To The Built Into MS Windows ZIP Functionality.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Provides Command Line Interface (CLI) To The Built Into MS Windows ZIP Functionality.</maml:para>
      <maml:para>Installing Of 3rd Party Archiving Applications And Assigning ZIP File Extension To Them Might Disable The Built Into MS Windows Archiving Functionality Irreversibly. This Will Cause This CmdLet To Stop Working.</maml:para>
    </maml:description>
    <command:syntax>
      <!-- Parameter set: __AllParameterSets -->
      <command:syntaxItem>
        <maml:name>New-SnsZipArchive</maml:name>
        <!-- Parameter: Path -->
        <command:parameter required="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named" aliases="FilePath,FolderPath">
          <maml:name>Path</maml:name>
          <maml:description>
            <maml:para>Specifies The Full Absolute UNC File Or Folder Path.</maml:para>
          </maml:description>
          <command:parameterValue required="true">string[]</command:parameterValue>
          <dev:type>
            <maml:name>System.String[]</maml:name>
            <maml:uri />
          </dev:type>
        </command:parameter>
        <!-- Parameter: Force -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Force</maml:name>
          <maml:description>
            <maml:para>Specifies To The CmdLet To Force Overwrite Of Any Existing ZIP File.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>True</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: Keep -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>Keep</maml:name>
          <maml:description>
            <maml:para>Specifies To The CmdLet To Preserve The Original Item.</maml:para>
            <maml:para>Copy The Item Inside The ZIP File Instead Of Moving It.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <!-- Parameter: PassThru -->
        <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
          <maml:name>PassThru</maml:name>
          <maml:description>
            <maml:para>Specifies To The CmdLet To Revert A String Object.</maml:para>
            <maml:para>The Reverted Object Is The Full Absolute UNC File Path To The Created ZIP File.</maml:para>
          </maml:description>
          <command:parameterValue required="true">SwitchParameter</command:parameterValue>
          <dev:type>
            <maml:name>System.Management.Automation.SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>True</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <!-- Parameter: Path -->
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named" aliases="FilePath,FolderPath">
        <maml:name>Path</maml:name>
        <maml:description>
          <maml:para>Specifies The Full Absolute UNC File Or Folder Path.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named" aliases="FilePath,FolderPath">
        <maml:name>FilePath</maml:name>
        <maml:description>
          <maml:para>Specifies The Full Absolute UNC File Or Folder Path.</maml:para>
          <maml:para>This is an alias of the Path parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <command:parameter required="true" globbing="false" pipelineInput="true (ByValue, ByPropertyName)" position="named" aliases="FilePath,FolderPath">
        <maml:name>FolderPath</maml:name>
        <maml:description>
          <maml:para>Specifies The Full Absolute UNC File Or Folder Path.</maml:para>
          <maml:para>This is an alias of the Path parameter.</maml:para>
        </maml:description>
        <command:parameterValue required="true">string[]</command:parameterValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:parameter>
      <!-- Parameter: PassThru -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>PassThru</maml:name>
        <maml:description>
          <maml:para>Specifies To The CmdLet To Revert A String Object.</maml:para>
          <maml:para>The Reverted Object Is The Full Absolute UNC File Path To The Created ZIP File.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>True</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Force -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Force</maml:name>
        <maml:description>
          <maml:para>Specifies To The CmdLet To Force Overwrite Of Any Existing ZIP File.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>True</dev:defaultValue>
      </command:parameter>
      <!-- Parameter: Keep -->
      <command:parameter required="false" globbing="false" pipelineInput="false" position="named">
        <maml:name>Keep</maml:name>
        <maml:description>
          <maml:para>Specifies To The CmdLet To Preserve The Original Item.</maml:para>
          <maml:para>Copy The Item Inside The ZIP File Instead Of Moving It.</maml:para>
        </maml:description>
        <command:parameterValue required="true">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>System.Management.Automation.SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes>
      <command:inputType>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
        <maml:description>
          <maml:para>Specifies The Full Absolute UNC File Or Folder Path.</maml:para>
        </maml:description>
      </command:inputType>
    </command:inputTypes>
    <command:returnValues>
      <!-- OutputType: String[] -->
      <command:returnValue>
        <dev:type>
          <maml:name>System.String[]</maml:name>
          <maml:uri />
        </dev:type>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:title></maml:title>
      <maml:alert>
        <maml:para>AUTHOR: Svetoslav Nedyalkov Savov</maml:para>
        <maml:para>THIS CODE IS MADE AVAILABLE AS IS, WITHOUT WARRANTY OF ANY KIND. THE ENTIRE RISK</maml:para>
        <maml:para>OF THE USE OR THE RESULTS FROM THE USE OF THIS CODE REMAINS WITH THE USER.</maml:para>
        <maml:para></maml:para>
        <maml:para></maml:para>
        <maml:para></maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>---------- EXAMPLE 1 ----------</maml:title>
        <dev:code>[System.String[]]$arrZipName = New-SnsZipArchive -Path 'C:\New folder';</dev:code>
        <dev:remarks>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>---------- EXAMPLE 2 ----------</maml:title>
        <dev:code>[System.String[]]$arrZipName = New-SnsZipArchive -Path 'C:\Test1txt', 'C:\Test1txt';</dev:code>
        <dev:remarks>
          <maml:para></maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <maml:relatedLinks>
      <maml:navigationLink>
        <maml:linkText> svesavov / SnsPsModule - </maml:linkText>
        <maml:uri>https://github.com/svesavov/SnsPsModule</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText> PowerShell Gallery - </maml:linkText>
        <maml:uri>https://www.powershellgallery.com/packages/SnsPsModule/</maml:uri>
      </maml:navigationLink>
      <maml:navigationLink>
        <maml:linkText> Svetoslav Savov on LinkedIn - </maml:linkText>
        <maml:uri>https://www.linkedin.com/in/svetoslavsavov</maml:uri>
      </maml:navigationLink>
    </maml:relatedLinks>
  </command:command>
</helpItems>