在PowerShell CLM模式下枚举域信息

如果你可以访问已安装模块的服务器(如DC),请将Microsoft.ActiveDirectory.Management.dll从 C:\Windows\Microsoft.NET\assembly\GAC_64\Microsoft.ActiveDirectory.Management复制到你自己的机器上,然后使用Import-Module cmdlet导入DLL:

PS C:\> Import-Module C:\ADModule\Microsoft.ActiveDirectory.Management.dll -Verbose

AD_Module.png

注意,如果你运行Get-Command -Module ActiveDirectory,将不会返回任何内容。想要获取到,请从服务器以下位置复制模块目录:C:\Windows\System32\WindowsPowerShell\v1.0\Modules\ActiveDirectory\。然后,使用Import-Module命令,先导入DLL然后导入模块:

PS C:\> Import-Module C:\ADModule\Microsoft.ActiveDirectory.Management.dll -Verbose PS C:\> Import-Module C:\AD\Tools\ADModule\ActiveDirectory\ActiveDirectory.psd1 PS C:\> Get-Command -Module ActiveDirectory

使用cmdlet有许多好处,例如较低的AV检测率,覆盖范围广(在我之后的文章中我还将用到cmdlet),强大的过滤器,以及由Microsoft签名等。

我从Server 2016上传了一个模块副本到Github上:https://github.com/samratashok/ADModule

该模块可以在PowerShell约束语言模式(CLM)中完美运行。

AD_Module_CLM.png

发表评论 / Comment

用心评论~