gpt4 book ai didi

powershell-4.0 - 如何获取当前的 Windows DSC 工作文件夹(即 "\DSC.0")?

转载 作者:行者123 更新时间:2023-12-05 04:13:27 26 4
gpt4 key购买 nike

有人知道如何获取当前 DSC 工作文件夹吗?

在服务器上,当 DSC 运行时,它会生成如下文件夹结构:

C:\Packages\Plugins\Microsoft.Powershell.DSC\2.18.0.0\DSCWork\DSC.0

唯一的问题是当 DSC 获得新版本时,它会增加“.X”文件夹。但是,当 DSC 运行时,没有明确的方法可以预测地从脚本 block 中解析当前文件夹:

    Script GetDscCurrentPath
{
TestScript = {
return $false
}
SetScript ={
Write-Verbose (Get-Item 'C:\%path_to_dsc%\FileInsideMyDscAsset.txt')
}
GetScript = { @{Result = "GetDscCurrentPath"} }
}

想法?提前致谢!!!

最佳答案

DSC 扩展没有公开变量或函数来获取当前工作目录,但由于您的脚本/模块位于目录中,因此您应该能够使用 PSScriptRoot 来获取目录。这是一个例子:

Write-Verbose -Message "PSScriptRoot: $PSScriptRoot" -Verbose

# Note PSScriptRoot will change when the extension executes
# your configuration function. So, you need to save the value
# when your configuration is loaded
$DscWorkingFolder = $PSScriptRoot

configuration foo {

Script GetDscCurrentPath
{
TestScript = {
return $false
}
SetScript ={
Write-Verbose $using:DscWorkingFolder
}
GetScript = { @{Result = $using:DscWorkingFolder} }
}
}

关于powershell-4.0 - 如何获取当前的 Windows DSC 工作文件夹(即 "\DSC.0")?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37623434/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com