Commands › Exchange Online

New-PowerShellVirtualDirectory

Exchange Online ExchangeOnlineManagement New-*

Create Windows PowerShell virtual directories that are used in Internet Information Services (IIS) on Microsoft Exchange servers.

Quick start script

# New-PowerShellVirtualDirectory — quick start (serv365.ai)
# 1. Connect (app-only shown; interactive: omit the certificate parameters)
Connect-ExchangeOnline -CertificateThumbprint $thumb -AppId $appId -Organization $org

# 2. Capture the current state first — you cannot roll back what you never recorded
$before = Get-PowerShellVirtualDirectory
$before | Format-List

# 3. Make the change (dry run first)
New-PowerShellVirtualDirectory -Name <String> -WhatIf
New-PowerShellVirtualDirectory -Name <String>

# 4. Verify and diff
$after = Get-PowerShellVirtualDirectory
Compare-Object ($before | Out-String) ($after | Out-String)

Syntax

New-PowerShellVirtualDirectory [-Name] <String>
 [-BasicAuthentication <Boolean>]
 [-Confirm]
 [-DomainController <Fqdn>]
 [-ExtendedProtectionFlags <MultiValuedProperty>]
 [-ExtendedProtectionSPNList <MultiValuedProperty>]
 [-ExtendedProtectionTokenChecking <ExtendedProtectionTokenCheckingMode>]
 [-ExternalUrl <Uri>]
 [-InternalUrl <Uri>]
 [-RequireSSL <Boolean>]
 [-Role <VirtualDirectoryRole>]
 [-Server <ServerIdParameter>]
 [-WhatIf]
 [-WindowsAuthentication <Boolean>]
 [<CommonParameters>]

Parameters (14)

ParameterTypeRequiredWhat it controls
-Name String yes The Name parameter specifies the name of the new PowerShell virtual directory. The name you provide has the name of the website it's created under appended to it. If the name you provide contains spaces, enclose the...
-BasicAuthentication Boolean The BasicAuthentication parameter specifies whether Basic authentication is enabled on the PowerShell virtual directory. The valid values are $true and $false. The default value is $true.
-Confirm SwitchParameter The Confirm switch specifies whether to show or hide the confirmation prompt. How this switch affects the cmdlet depends on whether the cmdlet requires confirmation before proceeding.
-DomainController Fqdn The DomainController parameter specifies the domain controller that's used by this cmdlet to read data from or write data to Active Directory. You identify the domain controller by its fully qualified domain name...
-ExtendedProtectionFlags MultiValuedProperty The ExtendedProtectionFlags parameter specifies custom settings for Extended Protection for Authentication on the virtual directory. Valid values are:
-ExtendedProtectionSPNList MultiValuedProperty The ExtendedProtectionSPNList parameter specifies a list of valid Service Principal Names (SPNs) if you're using Extended Protection for Authentication on the virtual directory. Valid values are:
-ExtendedProtectionTokenChecking ExtendedProtectionTokenCheckingMode The ExtendedProtectionTokenChecking parameter specifies whether Extended Protection for Authentication is used for client connections to the virtual directory. Valid values are:
-ExternalUrl Uri The ExternalURL parameter specifies the URL that connects to the virtual directory from outside the firewall.
-InternalUrl Uri The InternalURL parameter specifies the URL that connects to the virtual directory from inside the firewall.
-RequireSSL Boolean The RequireSSL parameter specifies whether client connections to the virtual directory require Transport Layer Security (TLS) encryption. Valid values are:
-Role VirtualDirectoryRole The Role parameter species the configuration for the virtual directory. Valid values are:
-Server ServerIdParameter The Server parameter specifies the Exchange server that hosts the virtual directory. You can use any value that uniquely identifies the server. For example:
-WhatIf SwitchParameter The WhatIf switch shows what the command does without making any changes. You don't need to specify a value with this switch.
-WindowsAuthentication Boolean The WindowsAuthentication parameter specifies whether Integrated Windows authentication is enabled on the PowerShell virtual directory. The valid values are $true and $false. The default value is $true.

Reference facts derived from Microsoft documentation, © Microsoft, licensed CC BY 4.0; restructured with original guidance by serv365.ai.