有的人嘴可紧了,那 10 个 Powershell 命令,咋就不跟我说呢!

360影视 2024-12-26 13:45 2

摘要:微软发布了 Windows 客户端和服务器操作系统的更新版本后,一直在大力搞 PowerShell (PS) 这个东西,这是专门为管理系统和自动化弄出来的一个框架。它那不断增多的命令列表(叫 cmdlet),能帮着搞定 Windows 里差不多所有的设置。

课程咨询、考试辅导、学习资料——>助理V:glab-mary

微软发布了 Windows 客户端和服务器操作系统的更新版本后,一直在大力搞 PowerShell (PS) 这个东西,这是专门为管理系统和自动化弄出来的一个框架。它那不断增多的命令列表(叫 cmdlet),能帮着搞定 Windows 里差不多所有的设置。

虽说 PS 的 cmdlet 多得很,不过还好,大多数 cmdlet 都是按照功能或者它们管的服务分好组的。就这篇文章来说,跟管理网络设置有关的 cmdlet 都在基本的 PowerShell 框架里头。

Test-NetConnection -ComputerName “Hostname or IP”

Test-NetConnection 这个命令能提供好多办法来测试局域网和广域网里的网络连接。你把上面说的这个命令输入进去,电脑就会执行 ping 操作,来确定本地的设备跟目标的计算机或者域之间有没有网络连接。

Test-NetConnection “Hostname” -Port #

Test-NetConnection 这个命令还有一个作用,就是能通过指定端口号来测试本地设备跟目标主机之间的连接。这在测试设备和它们用来通信的端口之间的服务时,特别有用。

Test-NetConnection “Hostname” -traceroute

执行跟踪路由,来搞清楚数据包从源头到目的地得经过多少个“跳”(或者说步骤),这是个很重要的工具。因为它能让您晓得传输去了哪儿,更要紧的是,能知道它是不是成功了。要是没成功,跟踪路由会指出数据包在路径上是在哪儿失败的。

Get-Netipconfiguration

和 ipconfig 命令差不多,Get-NetIPConfiguration 这个命令能给您提供计算机网络适配器上设置的网络配置的全貌。IP、DNS 还有网关地址会按照适配器的名字显示出来并且排好序。

Resolve-DnsName -Name “Hostname”

可以这么说,DNS 服务是网络的主心骨。要是没有它,用户就得被迫记住所有网站和服务的 IP 地址。但是,要是出现连接方面的问题,在把和 IP 有关的错误排除掉之后,DNS 往往就是那个惹祸的家伙。通过加上“-server”这个开关,然后再跟上 DNS 服务器的 IP 地址,IT 就能针对特定的服务器去执行 DNS 解析请求,来看看解析是不是能正常工作。

Get-NetTCPConnection

和之前的 netstat 一样,Get-NetTCPConnection 这个命令能让您查看当前跟设备建立好的 TCP 连接,还有打开的或者正在监听的连接。这能帮您解决跟 IP 和端口有关的问题,特别是跟某些网络服务绑定在一起的那些问题。

Get-DnsClientSet-DnsClientServer Address

这个 cmdlet 能让您查看设备的 DNS 客户端的信息。它会告诉您设备正在用哪些 DNS 服务器来进行在多个适配器上配置的地址解析。Set-DnsClientServerAddress 这个 cmdlet 能让您把指定的 DNS 服务器添加到网络配置里。

Clear-DnsClientCache

DNS 缓存能把经常用的 DNS 解析记录存到设备本地,这样设备就能读取这个记录,不用每次请求记录的时候都去查找。这能让本来就挺快的解析过程变得更快。要是有过时的记录(或者还没更新的记录),那就可能会让网络性能变差、出现拒绝服务的情况或者产生安全问题,这些问题会想办法利用不正确的记录把用户的请求引到错误的服务器或者服务那里。

Invoke-Command -ComputerName -ScriptBlock {ipconfig /release}Invoke-Command -ComputerName -ScriptBlock {ipconfig /renew}

虽说 PowerShell 里有好多能管理网络设置的 cmdlet ,但没有能直接释放或者续订 DHCP 租约的办法,除非先引用另外一个 cmdlet ,然后把结果传到第二个或者第三个 cmdlet 才能去修改 DHCP 设置。不过呢,通过利用 Invoke-Command ,您就能够通过调用 ipconfig 命令远程(或者通过脚本)去进行释放和/或者续订的操作。

Disable-NetAdapter -Name “Adapter Name”Enable-NetAdapter -Name “Adapter Name”

最后但也是很重要的,是能用来禁用或者启用设备上网络适配器的 cmdlet 。虽说它不像上面列出来的那些 cmdlet 那样,是解决网络问题很花哨的办法,但任何 IT 专业人士都会跟你讲,有时候解决网络问题唯一的办法就是把它关掉再重新打开。

来源:郭主任

相关推荐