系统管理员常用的Powershell命令

时间:2024-03-21 20:26:05

先说两个最最基本的命令。Get-Command 和 help。

Get-command 可以搜索相关命令,help可以搜索具体的例子。

比如我想创建新的虚拟机,但是我不知道有哪些命令,那么搜索一下好了

系统管理员常用的Powershell命令

搜索了一堆命令出来,那么怎么用呢,查看一下帮助文档,如果不想看具体的语法,直接输入-examples看看例子好了。然后就可以直接复制粘贴来使用了。

系统管理员常用的Powershell命令

同时呢,工欲善其事,必先利其器。帮助文档需要更新到最新版本。

更新帮助文档很简单,输入help-update,就会更新了。

系统管理员常用的Powershell命令

知道了这两个最基本的命令,我们再来看看正题,系统管理常见的30多个操作都可以用powershell实现。

网络基本配置和查看:

  1. 系统管理员用来查询IP地址一般都习惯用ipconfig /all, 现在可以用Get-NetIPConfiguration -detailed 来替代了。

    系统管理员常用的Powershell命令

   2.  查看网卡信息

        Get-NetAdapter

        Get-NetAdapterStatistics

        Get-NetIPAddress

    系统管理员常用的Powershell命令

 

3. 配置IP地址 New-NetIPAddress

这个命令一般是Windows 2012 core server下初始化配置的时候可以使用,当然也可以用sconfig或者传统的netsh interface命令

系统管理员常用的Powershell命令

这个命令看起来比较啰嗦,参数比较多,就像上面说的,如果记不清,那么看看帮助的例子就行了。

    系统管理员常用的Powershell命令

4. 配置DNS

Set-DNSClientServerAddress

类似的,这个在server core下面也是常见的命令,当然省事也可以通过sconfig配置,或者 DOS命令 netsh interface实现。

系统管理员常用的Powershell命令

网络查错

传统的排错第一步都是通过PING,Tracert或者Telnet 判断路由和端口是否打开。比如

ping 10.1.1.1

tracert www.baidu.com

telnet 8.8.8.8 53

Powershell下面一个命令都实现了。

5. PING 远程服务器

Test-NetConnection www.google.com

系统管理员常用的Powershell命令

6. Telnet  端口

系统管理员常用的Powershell命令

7. 跟踪路径

系统管理员常用的Powershell命令

Windows服务的操作

这几个操作很简单直接

8. 重启服务 

restart-service

9.获取当前的服务

get-service| out-gridview

注意那个out-gridview的输出格式,所有的PS命令都是通用的,可以把结果用表格的性格输出来,这样用户还可以手动的排序或者添加标准(criteria),是不是很简单

系统管理员常用的Powershell命令

10.停止,开始,配置服务

stop-service

start-service

set-service

AD和域的操作,这个可能是windows 2012 系统管理员最应该记住的部分吧

11. 计算机的重命名,如果通过图形界面操作,需要右击电脑,然后属性,然后 高级属性设置,然后计算机名里面从能修改,通过命令行直接就修改了,这个在server core下面也是初始化设置必须的,更改名字,重启,然后加入域

Rename-Computer XXX

12. 重启电脑  restart-computer, 当然传统的 shutdown /r /f /t 我也觉得蛮好的

13. 关机 shutdown-computer

14. 加入域  Add-computer -domainname test.com

15. 修复AD的信任关系。这个命令对豆子来说都是很新的命令。传统的如果某台计算机无法验证AD,最简单的解决方法是退出域,重启,然后重新加入域,重启。现在可以在计算机上直接执行以下命令进行修复。

如果直接执行,他会进行判断,True表示OK; False表示无法连接AD,那么需要提供管理员密码进行修复 

例如

test-computersecurechannel -credential domain\admin -repair

系统管理员常用的Powershell命令

16. 配置防火墙profile

set-netfirewallprofile

比如最简单的例子,打开domain,public和private的防火墙

系统管理员常用的Powershell命令

17,配置防火墙策略,很长很长的命令,记不着的话就看看帮助 help -examples

New-netfirewallrule,可以设置出去和进来的请求服务

比如第一个禁止所有出去的80端口,换句话说,上不了网了

第二个禁止所有来自Wins 服务器的请求

系统管理员常用的Powershell命令

18. 添加Roles和Features

Install-windowsfeature

比如说,windows 2012下面默认安装.Net 3.5是安装不了的,必须指定对应的路径, 当然也可以通过GPO指定默认安装路径,然后把对应的文件事先放在那里也是不错的解决方案。

Install-windowFeature net-framework-core -source d:\sources\sxs

19.重置AD 用户的密码

这几个命令很方便,保存下来,就不用进AD Users and Groups里面去修改密码了。

首先可以利用Converto-securestring 设置一个加密的密码

系统管理员常用的Powershell命令

然后通过set-ADAccountPassword 重置 密码。 最后那个passthru的目的是显示账号信息

系统管理员常用的Powershell命令

还可以更进一步,要求用户下次登录的时候必须修改密码

系统管理员常用的Powershell命令

关于AD的操作,肯定绕不过FSMO的配置。几乎所有的Windows系统管理面试都会涉及这个问题。传统的配置可以通过GUI,也可以通过ntsutil命令来配置。Powershell提供了更简单的方式。

豆子曾经写过一篇博客具体比较这几种方式 http://beanxyz.blog.51cto.com/5570417/1313693

这里就不赘述了

20. 定位 FSMO

基本格式如下

Get-ADForest test.com | FT SchemaMaster

Get-ADForest test.com | FT RidMaster

21. 迁移FSMO

Move-ADDirectoryserverOperationMasterRole  

配置服务器,还需要打开远程桌面。

22. 打开 RDP桌面,这个其实有好几个地方可以配置。 最直观的是通过sconfig,也可以修改注册表,或者打开防火墙策略(3389端口)

set-itemProperty -path 'hklm:\system\currentcontrolset\control\terminal server' =name "fdenytsconnections" -value 0

enable-netfirewallrule -displaygroup "remote desktop"

系统管理员常用的Powershell命令

 

23. 查看hotfix

一般企业里面都是通过WSUS来推送Hotfix,不过有的时候计算机并不是100%可以成功获取的。可以通过 get-hotfix 来进行判断

系统管理员常用的Powershell命令

24. 查看密码永不过期的账号

管理员常常把自个的账号设置为不过期,尽管我们要求用户每隔60天就必须reset一次。很多服务的运行账号也是这样。怎么搜索这些账号呢? ADUC是可以直接搜索的,Powershell也可以。

系统管理员常用的Powershell命令

25. 类似上面的方法,我们可以搜索最近没有登录的账号,disable的账号,过期的账号,即将过期账号等等

比如,这个会搜未来6天内会过期的账号

系统管理员常用的Powershell命令

 

 

 

Hyper-V虚拟机

Hyper-V 是2012最重要的新功能,毕竟微软的虚拟化平台和私有云都是以这个为基础的。TechED里面专门有一个讲座来讨论如何更好的在Hper-V下面使用Powershell。

豆子使用的windows 8.1 Powershell下面有167个命令。 meaure 可以返回一共多少行记录

系统管理员常用的Powershell命令

这么多指令就不一一阐述了,大概看看几个最基本的命令

创建虚拟机

26. New-VM

 

系统管理员常用的Powershell命令

打开Hyper-V Manager, 可以看见已经创建了虚拟机

系统管理员常用的Powershell命令

27. 配置虚拟网络

创建虚拟机之后,还需要分配网络。首先看看目前有哪些虚拟机

Get-VM  

系统管理员常用的Powershell命令

在这个基础上还可以继续获取虚拟网卡的信息  Get-VMNetworkAdapter

可以看见新创建的虚拟机目前没有分配网络

系统管理员常用的Powershell命令

在这个基础上使用 Connect-VMNetworkAdapter 就可以绑定交换机网络了

系统管理员常用的Powershell命令

再验证一下,已经分配好了

系统管理员常用的Powershell命令

28. 创建还原点

get-VM | checkpoint-VM 就可以对指定的VM创建还原点了

系统管理员常用的Powershell命令

系统管理员常用的Powershell命令