0

我的脚本工作正常,直到我尝试使用Mount-VHD并使用Get-ChildItem以及安装的卷使用存储在外部模块上的个人功能。Get-childitem在导入模块时失败

我的脚本执行以下操作:

import-module create-vm.psm1 -force 

里面这个模块,我安装一个VHD文件并使用Get-ChildItem检查的某些系统文件的存在(在这种情况下是pagefile.sys)。

但是我的Get-ChildItem失败并出现一个罕见的错误,因为它表示无法识别像-hidden这样的参数,或者它无法识别驱动器号等,或者与其他参数失败。

解决方法我已经复制了主体脚本上的功能,然后它的工作原理。

然后,正如你可以看到我的问题只发生在我从外部模块加载时尝试使用该函数。

你知道原因吗?以及如何解决它?

+1

你需要展示你的代码和确切的错误,如果你期望任何人解决这个问题。 – 2014-12-03 17:57:44

回答

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