摘要
调用资源的获取操作。
语法
没有实例属性
dsc resource get [Options] --resource <RESOURCE>
来自 stdin 的实例属性
<instance-properties> | dsc resource get [Options] --resource <RESOURCE>
输入选项中的实例属性
dsc resource get --input '<instance-properties>' --resource <RESOURCE>
文件中的实例属性
dsc resource get --path <instance-properties-filepath> --resource <RESOURCE>
说明
子 get
命令返回资源实例的当前状态。
默认情况下,此子命令从特定的 DSC 资源返回一个实例。 若要返回多个资源,请使用 --all
参数、资源组或 dsc config get 命令。
资源检索实例状态所需的任何属性都必须作为 JSON 或 YAML 对象传递给此命令。 可以通过 stdin 或 选项 --input
将 对象传递给此命令。 还可以使用 --path
选项从 JSON 或 YAML 文件中读取对象。
示例
示例 1 - 获取没有任何输入的资源实例
对于不需要任何属性值来返回资源实例实际状态的单实例资源,不需要实例属性。
dsc resource get --resource Microsoft/OSInfo
actualState:
$id: https://developer.microsoft.com/json-schemas/dsc/os_info/20230303/Microsoft.Dsc.OS_Info.schema.json
family: Windows
version: 10.0.22621
edition: Windows 11 Enterprise
bitness: '64'
示例 2 - 使用输入选项获取资源实例
如果资源需要一个或多个属性值才能返回实例的实际状态,则可以使用 输入 选项以 JSON 或 YAML 的形式传递实例属性。
dsc resource get --resource Microsoft.Windows/Registry --input '{
"keyPath": "HKLM\\Software\\Microsoft\\Windows NT\\CurrentVersion",
"valueName": "SystemRoot"
}'
actualState:
$id: https://developer.microsoft.com/json-schemas/windows/registry/20230303/Microsoft.Windows.Registry.schema.json
keyPath: HKLM\Software\Microsoft\Windows NT\CurrentVersion
valueName: SystemRoot
valueData:
String: C:\WINDOWS
示例 3 - 使用来自 stdin 的输入获取资源实例
如果资源需要一个或多个属性值才能返回实例的实际状态,则可以将实例属性作为 JSON 或 YAML 通过 stdin 传递。
'{
"keyPath": "HKLM\\Software\\Microsoft\\Windows NT\\CurrentVersion",
"valueName": "SystemRoot"
}' | dsc resource get --resource Microsoft.Windows/Registry
actualState:
$id: https://developer.microsoft.com/json-schemas/windows/registry/20230303/Microsoft.Windows.Registry.schema.json
keyPath: HKLM\Software\Microsoft\Windows NT\CurrentVersion
valueName: SystemRoot
valueData:
String: C:\WINDOWS
示例 4 - 使用 YAML 文件中的输入获取资源实例
如果资源需要一个或多个属性值才能返回实例的实际状态,则可以从保存的 JSON 或 YAML 文件中检索实例属性。
cat ./example.yaml
keyPath: HKLM\\Software\\Microsoft\\Windows NT\\CurrentVersion
valueName: SystemRoot
dsc resource get --resource Microsoft.Windows/Registry --path ./example.yaml
actualState:
$id: https://developer.microsoft.com/json-schemas/windows/registry/20230303/Microsoft.Windows.Registry.schema.json
keyPath: HKLM\Software\Microsoft\Windows NT\CurrentVersion
valueName: SystemRoot
valueData:
String: C:\WINDOWS
选项
-a, --all
指定命令应返回指定 DSC 资源的每个实例,而不是特定实例。
仅当 Resource 是定义输入配置中的导出节的可 导出 资源时,此选项才有效。 如果资源类型不可导出,DSC 将引发错误。
指定此选项后,DSC 将 --input
忽略 和 --path
选项以及从 stdin 发送到命令的任何 JSON 或 YAML。
Type: Boolean
Mandatory: false
-r、 --resource
指定要使用的 DSC 资源的完全限定类型名称,例如 Microsoft.Windows/Registry
。
完全限定的类型名称语法为: <owner>[.<group>][.<area>]/<name>
,其中:
- 是
owner
资源的维护作者或组织。 -
group
和area
是可选名称组件,用于为资源启用命名空间。 - 标识
name
资源管理的组件。
Type: String
Mandatory: true
-i、 --input
指定具有检索 DSC 资源实例所需的属性的 JSON 或 YAML 对象。 DSC 根据资源的实例架构验证对象。 如果验证失败,DSC 将引发错误。
此选项不能与 stdin 或 --path
选项上的实例属性一起使用。 选择是将实例属性通过 stdin、从具有 --path
选项的 文件中传递,还是使用 --input
选项将实例属性传递给命令。
指定选项时, --all
DSC 将忽略此选项。
Type: String
Mandatory: false
-p、 --path
定义要读取为命令输入的文本文件的路径,而不是从 stdin 传递输入或使用 选项将其作为字符串 --input
传递。 指定的文件必须包含表示资源的有效属性的 JSON 或 YAML。 DSC 根据资源的实例架构验证对象。 如果验证失败,或者指定的文件不存在,DSC 将引发错误。
此选项与 --input
选项互斥。 使用此选项时,DSC 会忽略来自 stdin 的任何输入。
指定选项时, --all
DSC 将忽略此选项。
Type: String
Mandatory: false
-f, --format
选项 --format
控制命令的控制台输出格式。 如果将命令输出重定向或捕获为变量,则输出始终为 JSON。
Type: String
Mandatory: false
DefaultValue: yaml
ValidValues: [json, pretty-json, yaml]
-h、--help
显示当前命令或子命令的帮助。 指定此选项时,应用程序将忽略此选项之后的所有选项和参数。
Type: Boolean
Mandatory: false
输出
默认情况下,此命令返回包含实例实际状态的 JSON 输出。
--all
指定 选项后,该命令以 JSON 行的形式返回每个实例的 JSON 输出。
有关输出 JSON 的结构的详细信息,请参阅 dsc 资源获取结果架构。