Search code examples
vb.netpowershellpowershell-remoting

New-Item Behavior Changes When Using Runspace to Run Command Remotely


I am using VB.Net to open a Powershell runspace using WSManConnectionInfo. The connection works fine. I am trying to run a New-Item command in order to create a new virtual directory.

New-Item "IIS:\Sites\ExternalInventory FTP\TestVT"  -Type VirtualDirectory -physicalPath "C:\"

The command works fine when running it locally on the server. However, when ran remotely through the runspace I get an error:

A parameter cannot be found that matches parameter name 'physicalPath'.

I initially tried to use use the New-WebVirtualDirectory command to create the virtual directory, but this led to other errors. I need to use New-Item.

What is causing the difference in behavior of the New-Item command, and how can I use it to create a new virtual directory through the runspace?

Note: I have tried other commands through the runspace and they seem to work as expected.

EDITS

I know that the New-Item command does not have the parameter "physicalPath" listed in the docs: https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.management/new-item?view=powershell-6

The New-Item command is used in multiple places in the docs to create virtual directory with the physicalPath parameter. See links

https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.management/new-item?view=powershell-6

https://forums.iis.net/t/1223546.aspx?New+WebVirtualDirectory+does+not+work+when+invoked+remotely+and+a+UNC+path+is+used


Solution

  • As pointed out in the comments, I needed to include the WebAdministration module in my script.

    Thanks TheMadTechnitian