2014-10-06 100 views
0

也有一些是模塊,我不完全得到....PowerShell模塊

如果我作爲一個普通用戶根本

get-module -listavailable 

我得到這樣一個結果:

Directory: C:\Windows\system32\WindowsPowerShell\v1.0\Modules 

ModuleType Name        ExportedCommands 
---------- ----        ---------------- 
Manifest ADRMS        {Update-ADRMS, Unins 
Manifest AppLocker       {Set-AppLockerPolicy 
Manifest BestPractices      {Get-BpaModel, Invok 
Manifest BitsTransfer      {Add-BitsFile, Remov 
Manifest CimCmdlets       {Get-CimAssociatedIn 
Script  DSV 
Script  DSVAsset       {Get-HTMLPage, Get-H 
Script  DSVDB        {Execute-UpdateULLoC 
Script  DSVHnas        {Get-HNASFileScan, B 
Script  DSVLog        {Start-DSVTranscript 
Script  Experimental.IO      {Where-Wildcard, Get 
Manifest FailoverClusters     {Add-ClusterDisk, Ad 
Script  ISE         {New-IseSnippet, Imp 
Manifest Microsoft.PowerShell.Diagnostics {Get-WinEvent, Get-C 
Manifest Microsoft.PowerShell.Host   {Start-Transcript, S 
Manifest Microsoft.PowerShell.Management  {Add-Content, Clear- 
Manifest Microsoft.PowerShell.Security  {Get-Acl, Set-Acl, G 
Manifest Microsoft.PowerShell.Utility  {Format-List, Format 
Manifest Microsoft.WSMan.Management   {Disable-WSManCredSS 
Script  Module        {New-PSScript, New-G 
Script  PSDiagnostics      {Disable-PSTrace, Di 
Script  PSFTP        {Send-FTPItem, Recei 
Binary  PSScheduledJob      {New-JobTrigger, Add 
Manifest PSWorkflow       {New-PSWorkflowExecu 
Manifest PSWorkflowUtility     Invoke-AsWorkflow 
Manifest ServerManager      {Get-WindowsFeature, 
Manifest TroubleshootingPack     {Get-Troubleshooting 
Manifest WebAdministration     {Start-WebCommitDela 

,這就是我希望......

但是,從計劃任務做同樣的時(使用不同的用戶),我得到ŧ他的:

Directory: C:\Windows\system32\WindowsPowerShell\v1.0\Modules 

ModuleType Name        ExportedCommands     
---------- ----        ----------------     
Manifest BitsTransfer      {Add-BitsFile, Remove-BitsTra... 
Manifest CimCmdlets       {Get-CimAssociatedInstance, G... 
Script  ISE         {New-IseSnippet, Import-IseSn... 
Manifest Microsoft.PowerShell.Diagnostics {Get-WinEvent, Get-Counter, I... 
Manifest Microsoft.PowerShell.Host   {Start-Transcript, Stop-Trans... 
Manifest Microsoft.PowerShell.Management  {Add-Content, Clear-Content, ... 
Manifest Microsoft.PowerShell.Security  {Get-Acl, Set-Acl, Get-PfxCer... 
Manifest Microsoft.PowerShell.Utility  {Format-List, Format-Custom, ... 
Manifest Microsoft.WSMan.Management   {Disable-WSManCredSSP, Enable... 
Script  PSDiagnostics      {Disable-PSTrace, Disable-PSW... 
Binary  PSScheduledJob      {New-JobTrigger, Add-JobTrigg... 
Manifest TroubleshootingPack     {Get-TroubleshootingPack, Inv... 
Manifest WebAdministration     {Start-WebCommitDelay, Stop-W... 

爲什麼這兩者之間存在差異?

我難倒我其實感興趣的模塊是我自己創建並放入文件夾中的模塊:

C:\Windows\system32\WindowsPowerShell\v1.0\Modules 

這似乎是做工精細,除了通過調度運行任務。

我錯過了什麼?我忘了什麼?

而且 - 我可以確認$env:PSModulePath是上是相同的:

C:\Users\GRIT.SVC.IPPlan\Documents\WindowsPowerShell\Modules; 
C:\Windows\system32\WindowsPowerShell\v1.0\Modules\; 
C:\Program Files\Common Files\Microsoft Lync Server 2013\Modules\; 
C:\Program Files\Quest Software\Management Shell for AD\; 
C:\Program Files\Microsoft Monitoring Agent\Agent\PowerShell\; 
C:\Program Files\System Center Operations Manager 2012\Powershell\ 

除了當然的用戶路徑。

回答

0

發現問題...

它有沒有關係ExecutionPolicy - 也不是直接路徑無法加載模塊要麼...

這是更簡單的,一旦被發現。 ..

問題64/32位....

模塊定位於 C:\ WINDOWS \ SYSTEM32 \ WindowsPowerShell \ V1.0 \模塊

但是任務執行

C:\ WINDOWS \ Syswow64資料\ WindowsPowerShell \ V1.0 \ powershell.exe

及其所用模塊應位於 C:\ WINDOWS \ Syswow64資料\ WindowsPowerShell \ V1 .0 \ Modules

但是,謝謝您的關注。

0

依靠模塊自動發現是脆弱的。你的腳本應該明確地定義它需要的所有模塊,然後明確地加載它們。

如果某個模塊未列出,可能是因爲它未經過簽名且執行策略不允許加載或被發現。嘗試顯式加載其中一個模塊,看看你得到了什麼錯誤。

+0

ahh,它可能會執行策略..我會測試明天 我曾嘗試幷包含模塊的完整路徑,但它仍然失敗 - 我認爲這是與相同的錯誤,但我不是100%肯定。 明天會回來 – Stig 2014-10-06 15:15:58

+0

它不是ExecutionPolicy,已被設置爲無限制。 – Stig 2014-10-07 07:19:11