2016-11-21 95 views
1

我正在使用Powershell 5中的DNS资源记录,使用的代码是从我之前尝试做这件事的人那里继承的。我尝试使用的cmdlet是Add-DnsServerResourceRecordA是否可以删除或覆盖cmdlet?

他的部分代码有import-module certain folder\PowerShell\Modules\DnsServer。奇怪的是,这似乎是我之前尝试过的代码片断,我能够使用add-DNSblah cmdlet。现在,在运行包括import-module在内的整个脚本之后,Powershell会说这个cmdlet本身不存在,当我导入模块并运行它时,它会给我Add-DnsServerResourceRecordA: Invalid Class

这是我的理解是附加DnsServerResourceRecordA应包括在我的正常PowerShell的5.0。该导入模块能否以某种方式永久损坏PS?那么为什么cmdlet不会显示,即使在Get-Command“dns”?

+0

嗨,什么是操作系统? 'import-module某些文件夹\ PowerShell \ Modules \ DnsServer'是否成功? – sodawillow

+2

cmdlet不能在全新的PowerShell会话中使用吗?命令是否显示为'Get-Command * dns *'? – PetSerAl

+0

操作系统是Windows 10 Enterprise。导入模块确实成功。该命令不会在干净的会话中显示'Get-Command * dns *“'直到模块被导入,但我的理解是它应该。无论哪种方式,一旦模块导入,我得到一个无效类错误。 'FullyQualifiedErrorId:HRESULT 0x80041010,Add-DnsServerResourceRecordA'无论是在干净的会话还是在导入之后,该命令都不起作用 – ncooper09

回答

1

我敢肯定,您需要安装远程服务器管理工​​具(RSAT)才能在非服务器Windows操作系统上使用这些cmdlet。

您可以从本页面下载它们:https://www.microsoft.com/en-gb/download/details.aspx?id=45520

不确定为什么Import-Module不会失败,如果DNSServer模块不存在于系统上。

如果RSAT已经安装,您可以尝试重新安装它们。

+0

就是这样。我不确定我是如何错过的,不管它不明显,还是我只是无知,但谢谢你的提示!当前有一个DNSServer“模块”,但我认为它只有一些cmdlet定义,并没有完成这项工作所需的类。我甚至不知道这个人是如何找到DNSSever模块开始的......无论如何,感谢您的帮助! – ncooper09