我已经将我的代码缩小到这个 -
Function Check-VirtualPhysicalPath{
Param([Parameter(Mandatory=$True)] [AllowEmptyString()][String]$Page)
#This creates an arraylist of items that are our virtual/physical paths
$WebVD= Get-WebVirtualDirectory
}
当我在函数设置中运行此脚本时,“Get-WebVirtualDirectory”的结果返回一个转换错误。这让我感到困惑,因为当我尝试运行这条线时
$WebVD= Get-WebVirtualDirectory
在脚本中或仅在控制台上都没有返回错误,我可以访问变量并且数据是正确的。我究竟做错了什么?
现在作为旁注,这只是有问题的代码,所以我没有包括所有内容,但即使我将其他所有内容注释掉,我最终也会运行你在这里看到的问题,但问题是一样的。
我在一个单独的脚本中用这个调用代码
$page = [string]$(gc "C:\page.txt")
. C:\VP.ps1
$(Check-VirtualPhysicalPath($page))
Powershell 的反应就像我正在投射 $WebVD 变量一样,我不确定这是一个错误还是我完全遗漏了一些东西......
编辑:
看起来我忘了拉出那部分代码。我在爬代码,哈希表的重点是我在哈希表中存储资源的使用次数,键是文件名,值是使用次数,所以我使用常规表达式来确定。我的问题与我的其他代码无关,因为即使我的代码仅包含您在上面看到的内容,它也会出现问题。