VisibleExternalCommands中的通配符在PSSessionConfiguration中不起作用

时间:2018-07-03 09:13:34

标签: powershell powershell-remoting

我试图在 VisibleExternalCommands 中为 New-PSSessionConfigurationFile 使用通配符,例如“ c:\ scripts \ *。ps1”,所得的.pssc文件看起来不错,但是无法使其按预期工作,此处的文档薄弱。我只能通过提供完整路径来使VisibleExternalCommands起作用。

复制步骤,已在Win10上使用PowerShell 5.1进行了测试:

设置目录和脚本:

Enable-PSRemoting -Force
mkdir c:\scripts
echo "Write-Output hello" | Out-File c:\scripts\hello.ps1 -Force
echo "Write-Output world" | Out-File c:\scripts\world.ps1 -Force

使用通配符(无效):

New-PSSessionConfigurationFile -VisibleExternalCommands "c:\scripts\*.ps1" -Path c:\scripts\TestWildcard.pssc -SessionType RestrictedRemoteServer -LanguageMode FullLanguage
Register-PSSessionConfiguration -Name TestWildcard -Path c:\scripts\TestWildcard.pssc -Force
Invoke-Command . -ConfigurationName TestWildcard {c:\scripts\hello.ps1; c:\scripts\world.ps1}
# Fails to recognize both .ps1 scripts as external commands

使用完整路径(正常工作):

New-PSSessionConfigurationFile -VisibleExternalCommands "c:\scripts\hello.ps1" -Path c:\scripts\TestFullPath.pssc -SessionType RestrictedRemoteServer -LanguageMode FullLanguage
Register-PSSessionConfiguration -Name TestFullPath -Path c:\scripts\TestFullPath.pssc -Force
Invoke-Command . -ConfigurationName TestFullPath {c:\scripts\hello.ps1; c:\scripts\world.ps1}
# Prints hello and fails to recognize c:\scripts\world.ps1

文档(https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/new-pssessionconfigurationfile?view=powershell-5.1)表示支持通配符,但未显示任何示例。

我丢失了某些东西还是这是一个错误?

0 个答案:

没有答案