PowerShell PSD1文件被限制为“非动态”行为。但是,我注意到有几个可以使用的自动变量。即,$ null,$ true和$ false(有效的常量)。他们有其他人吗?有没有关于的文档 PSD1文件可以包含什么。我知道内容是静态PS类型的一个重要散列表,但是关于这些文件,什么是“静态”(或常量)的“规则”是什么?这里有一个很长的自动变量列表:https://msdn.microsoft.com/en-us/powershell/reference/5.1/microsoft.powershell.core/about/about_automatic_variables,但大多数不适用于PSD1上下文。例如,为什么像$ PSHOME或$ PID那样被认为是“动态的”?psd1文件中可用的PowerShell变量
考虑:
PS> get-variable true|select *
Name : true
Description : Boolean True
Value : True
Visibility : Public
Module :
ModuleName :
Options : Constant, AllScope
Attributes : {}
PS> get-variable pid|select *
Name : PID
Description : Current process ID
Value : 5056
Visibility : Public
Module :
ModuleName :
Options : Constant, AllScope
Attributes : {}
他们看起来几乎一样,都被标记为“恒”,但一个我可以在PSD1文件使用,其他的我不能。
谢谢。所有这一切都是真实的,但并不是我所要求的。 PSD1文件也可以包含任意数据,并且可以包含所给链接的“模块清单元素”中没有具体说明的条目。 – Dweeberly
@Dweeberly我无法找到任何有关特定自动变量或“动态”行为的文档。如果你有时间,我会建议全部尝试并过滤出错 – TheIncorrigible1