2
我正在使用PowerShell腳本生成報告,我正在加載和調用最終用戶提供的模塊。通過模塊的列表運行時PowerShell腳本和加載/調用模塊
# Load user provided modules
($userModules = Get-ChildItem ($userModHome + "*.psm1")) | ForEach-Object { Import-Module (join-path $userModHome $_.Name) } | Out-Null
調用設置和裝載後,我循環並調用每一個:
首先我調用用戶提供設置功能,然後加載模塊。這是非常直接的,但我想要完成的是不需要全局變量來實現函數所需的所有內容。
我可以要求setup函數返回一個包含任何函數可能需要的所有東西的對象,然後將該數據結構傳遞給每個模塊,但這可能會傳遞很多額外的東西。
我想知道是否有辦法在運行時確定傳遞給模塊的內容,或者其他優雅的解決方案來動態加載和執行模塊而不使用全局變量。
簡而言之,我想我問的是,如果Powershell有反射可以用來確定模塊的細節,然後調用。我假設的困難部分是確定通過特定模塊的參數。
我試圖確定的是,如果有一種方法來確定在運行時模塊的細節以及如何調用它傳入任何它可能需要的參數。簡而言之,Powershell有任何方法可以使用反射來確定模塊的細節,然後調用。 – RShearer