我的脚本工作正常,直到我尝试使用Mount-VHD
并使用Get-ChildItem
使用已安装的卷使用存储在外部模块上的个人功能。
我的脚本执行以下操作:
import-module create-vm.psm1 -force
在这个模块中,我正在安装一个VHD文件并使用Get-ChildItem
来检查是否存在某些系统文件(在这种情况下是pagefile.sys
)。
但我的Get-ChildItem
因罕见错误而失败,因为它表示无法识别-hidden
等参数或者无法识别驱动器号等,或者其他参数失败
作为解决方法,我已经在主体脚本上复制了该函数,然后就可以了。
然后你可以看到我的问题只发生在我从外部模块加载时尝试使用该功能时。
你知道原因吗?以及如何解决它?答案 0 :(得分:0)
我不能用以下模块重复这个:
test.psm1
#requires -Modules Hyper-V
#requires -RunAsAdminstrator
$vhd = 'E:\VirtualMachines\PowerShellDscExp\Virtual Hard Disks\PowerShellDscExp.vhdx'
function ListHiddenVhdFileSystemEntry {
$disks = Hyper-V\Mount-VHD $vhd -PassThru | Get-Disk
$disks | Get-Partition | Foreach {Get-ChildItem "$($_.DriveLetter):" -hidden}
}
我得到了这些结果:
30# Import-Module .\test.psm1
31# ListHiddenVhdFileSystemEntry
Directory: L:\
Mode LastWriteTime Length Name
---- ------------- ------ ----
d--hs 7/20/2014 3:13 PM <DIR> Boot
d--hs 7/20/2014 1:16 PM <DIR> Recovery
d--hs 12/3/2014 7:39 PM <DIR> System Volume Information
-arhs 3/18/2014 4:14 AM 398356 bootmgr
-a-hs 6/18/2013 6:18 AM 1 BOOTNXT
-arhs 7/20/2014 3:13 PM 8192 BOOTSECT.BAK
Directory: m:\
Mode LastWriteTime Length Name
---- ------------- ------ ----
d--hs 3/18/2014 4:46 AM <DIR> $Recycle.Bin
d--hs 8/22/2013 8:45 AM <JUNCTION> Documents and Settings [C:\Users]
d--h- 8/22/2013 8:45 AM <DIR> ProgramData
d--hs 7/20/2014 2:45 PM <DIR> System Volume Information
-arhs 3/18/2014 4:14 AM 398356 bootmgr
-a-hs 6/18/2013 6:18 AM 1 BOOTNXT
-a-hs 7/20/2014 4:20 PM 1207959552 pagefile.sys
-a-hs 7/20/2014 4:20 PM 268435456 swapfile.sys