因为对PowerShell用的不多,所以之前根本没有注意过这个问题,其实SCVMM的PowerShell和我们直接打开的PowerShell是不一样的!
【感谢莫冰汐澈同学的提醒】
==========我是分隔线======================
今天我们做个试验,验证一下两者有什么不一样,首先打开VMM2012SP1的PowerShell我们看看。
看起来就是一个普通的PowerShell界面,对吧?
我们使用微软自带的任务管理器→资源监视器仔细看看。首先看他关联的句柄,能够发现三个SCVMM的东西。
我们局部放大看一下。
接下来看看它的关联的模块,这里也有4个和SCVM关联的东西。
我们使用一条简单的PowerShell命令看看网络连接情况,可以看到它主动连接我的VMM服务器和域控了,其中VMM连接的是8100,域控连接的是389端口。对于8100,我们必须要很熟悉,我们登陆VMM控制台,也是用的这个端口。
而389呢?LDAP目录的访问端口,也就是说,在执行命令的时候,这个PS还会跑到我们的域控上去做身份认证。
我们使用任务管理器→详细信息,选中powershell,再"选择列",增加"命令行",就可以看到这个PowerShell到底是怎么回事了。
这个时候你就会发现,显示器屏幕对于系统工程师来说,果然是越大越好啊,要不命令都显示不全。以下就是这个PowerShell的完整命令。很给力吧?具体的参数是什么,有兴趣的朋友可以通过help和?反查一下。【需要注意的是,可以得到命令行,但是无法复制黏贴……所以一个字一个字敲吧,分析吧】
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoExit -Command " if ((Get-ExecutionPolicy) -eq 'Restricted'){Set-ExecutionPolicy RemoteSigned -Scope Process -Force }; ipmo 'C:\Program Files\Microsoft System Center 2012\Virtual Machine Manager\bin\
再来看一个有意思的例子,相信使用过WindowsServer2012的同学都用过这个方法,在服务器管理器上,右键选中已经被管理的服务器,选择PowerShell,可以建立一条远程的PowerShell。通过刚才的方法,我们可以反查到命令是
powershell.exe -noexit -command enter-pssession contoso2k13b.contoso.com
以此类推,我们可以连接其他的服务器。恩,确实非常好用。
深入了解PowerShell,不仅仅能够帮助我们快速学习和提高工作效率,同时不可否认的是,这绝对是一个装逼利器~
本文转自 九叔 51CTO博客,原文链接:http://blog.51cto.com/jiushu/1209446,如需转载请自行联系原作者