gpt4 book ai didi

powershell - 在哪里可以找到二进制DSC资源的dll?

转载 作者:行者123 更新时间:2023-12-02 23:44:17 24 4
gpt4 key购买 nike

我想扩展原始File DSC资源以添加support for ensuring that files not present in the source are deleted in the destination。为此,我想至少了解一下原始代码是如何通过在反汇编程序上检查其代码来实现的,或者尝试在ReferenceSource之类的地方找到它的实现,但是我终生无法找到dll所在的位置实现资源的位置位于我的计算机上。

当我在PowerShell中发出Get-DscResource File命令时,Module属性为空。然后,我尝试检查对象本身,看是否有什么问题出现,但是Path属性也为空,而ParentPath属性指向C:\Windows\system32\Configuration\Schema\MSFT_FileDirectoryConfiguration,后者仅包含元数据文件,而不包含二进制dll。

我知道我可能可以使用我链接的另一个问题中描述的方法来解决此问题,但是我们需要很多具有这种行为的文件夹,而维护此类脚本将是一个问题。

理想情况下,可以扩展原始类并向其添加此行为,但是我不指望这是可能的。我只是想将原始实现作为基线来添加此功能。

考虑到所有这些,在哪里可以找到实现给定二进制DSC资源功能的实际dll?

最佳答案

我做了一些深入的研究,除非我错过了令人痛苦的显而易见的事情,否则我认为文件资源位于“C:\ Windows \ System32 \ DscCoreConfProv.dll”中。

您已经找到MSFT_FileDirectoryConfiguration-此WMI类位于root \ Microsoft \ Windows \ DesiredStateConfiguration命名空间中:

> Get-WmiObject -Namespace "root\Microsoft\Windows\DesiredStateConfiguration" -List | `
Where-Object { $_.Name -eq "MSFT_FileDirectoryConfiguration" } | `
ft

NameSpace: ROOT\Microsoft\Windows\DesiredStateConfiguration

Name Methods Properties
---- ------- ----------
MSFT_FileDirectoryConfiguration {GetTargetResourc... {Attributes, Checksum, Contents, CreatedDate...}

由dsccore和DSCCoreProviders WMI提供程序处理:
> Get-WmiObject -Namespace "root\Microsoft\Windows\DesiredStateConfiguration" -Class "__Win32Provider" | `
Select-Object @( "Name", "CLSID" ) | `
ft *

Name CLSID
---- -----
dsccore {BADCC35D-8542-4A5C-A457-0ECCCF62508A}
DSCCoreProviders {F04C3F9B-20B3-40E1-A824-3A41FE3D7931}

假设它是DSCCoreProviders提供程序,请在CLSID后面找到dll:
> New-PSDrive -Name "HKCR" -PSProvider "Registry" -Root "HKEY_CLASSES_ROOT"
> (Get-ItemProperty -LiteralPath "HKCR:\CLSID\{F04C3F9B-20B3-40E1-A824-3A41FE3D7931}\InProcServer32")."(default)"

C:\Windows\system32\DscCoreConfProv.dll

但是,毕竟,该文件不是.NET Framework dll,因此您可能难以拆卸它。

关于powershell - 在哪里可以找到二进制DSC资源的dll?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30263870/

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