PowerShell提示输入命令不是有效命令-创新互联

来任务了,由于要Windows服务器版本要升级:2008 -> 2016,所以要做很多的准备工作,比如OU, GPO。由于OU划分很细,有几百个OU,要在2016OU下面新建所有在2008OU下已经存在的OU。那就用PowerShell来搞搞吧!但是找了一台2008的server,运行一下Get-ADOrganizationalUnit这个PowerShell的命令,我去,竟然提示我不是有效的命令,错误详细信息见下:
PowerShell提示输入命令不是有效命令

十余年专注成都网站制作,企业网站设计,个人网站制作服务,为大家分享网站制作知识、方案,网站设计流程、步骤,成功服务上千家企业。为您提供网站建设,网站制作,网页设计及定制高端网站建设服务,专注于企业网站设计,高端网页制作,对OPP胶袋等多个行业,拥有丰富的网站制作经验。

奇怪了,之前在另外一台server上面还是可以用的,刚开始怀疑是不是PowerShell版本太低了,索性查一下:

PS C:\Users\admin> $PSVersionTable

Name                           Value                                                                                                                                                         
----                           -----                                                                                                                                                         
PSVersion                      5.1.14393.2515                                                                                                                                                
PSEdition                      Desktop                                                                                                                                                       
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}                                                                                                                                       
BuildVersion                   10.0.14393.2515                                                                                                                                               
CLRVersion                     4.0.30319.42000                                                                                                                                               
WSManStackVersion              3.0                                                                                                                                                           
PSRemotingProtocolVersion      2.3                                                                                                                                                           
SerializationVersion           1.1.0.1

版本都5.1了,不是很老啊!OK,那再来看看有没有AD模块吧,毕竟这个命令是对AD的操作。运行: get-module -listavailable 回车,走你,结果一看。原来如此,目测没有AD模块。

PowerShell提示输入命令不是有效命令

那就导入一下吧,运行:

PS C:\Windows\system32> Add-WindowsFeature RSAT-AD-PowerShell
然后再运行一把get-module,看一下,ActiveDirectory加载过来了
PS C:\Windows\system32> get-module -listavailable

RSAT = Remote Server Administrator Tools

PowerShell提示输入命令不是有效命令

最后运行一下命令:PS C:\Windows\system32> Get-ADOrganizationalUnit,不再报错,而且提示需要参数,着就对了。
PowerShell提示输入命令不是有效命令

我在另外一个server上面也试了另外一种方法:
首先运行:get-module -listavailable 查看ActiveDirectory模块是否已经加载。
然后就是直接运行:import-module activedirectory
如果没有报错,就再运行:get-module -listavailable
这个时候ActiveDirectory模块就被导入了,关于AD相关的PowerShell命令你就可以开始用了。

The term 'Get-ADOrganizationalUnit' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:5 char:38
+ $SVSOUList = Get-ADOrganizationalUnit <<<<  -SearchBase $sourceOU -Filter {Name -like "W2K8_*"} |select -ExpandProperty Name
    + CategoryInfo          : ObjectNotFound: (Get-ADOrganizationalUnit:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException
 ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
PS C:\Users\admin> import-module activedirectory

________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
PS C:\Users\admin> get-module -listavailable

ModuleType Name                      ExportedCommands                                                           
---------- ----                      ----------------                                                           
Manifest   ActiveDirectory           {}                                                                         
Manifest   ADRMS                     {}                                                                         
Manifest   AppLocker                 {}                                                                         
Manifest   BestPractices             {}                                                                         
Manifest   BitsTransfer              {}                                                                         
Manifest   GroupPolicy               {}                                                                         
Manifest   PSDiagnostics             {}                                                                         
Manifest   ServerManager             {}                                                                         
Manifest   TroubleshootingPack       {}                                                                         
Manifest   Citrix.XenDesktop.Admin   {}                                                                         
Manifest   Citrix.Common.Commands    {}                                                                         
Binary     TelemetryModule           {}                                                                         

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


新闻标题:PowerShell提示输入命令不是有效命令-创新互联
文章地址:http://ybzwz.com/article/ejsig.html