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