PowerShell2.0之维护网络(二)处理适配器配置
在处理所有适配器的状态后,还可以查询每个网络适配器的详细配置信息。可以通过选择“控制面板”|“网络和共享中心”|“网络连接”选项,打开“网络连接”窗口。在其中显示每个适配器的详细信息并做相应调整,如图1所示。 图1 在“网络连接”窗口中查看每个适配器的详细信息 创建名为“GetNetAdapterConfig.ps1”的脚本收集特定网络适配器的用于排错的详细信息,并且通过指定关键字仅返回
http://www.cyqdata.cn/cnblogs/article-detail-6028
PowerShell2.0之维护网络(三)设置网络适配器
如果计算机中有多个网络适配器,在Windows原有的cmd下配置其属性很困难,用户必须确保配置了适当的适配器并确认要禁用的不是正在使用中的网络适配器。本节介绍在处理多个网络适配器时可能出现的问题及其解决方法。 (1)检测多个网络适配器 对于Windows系统来说,操作系统会将无线网络放在所有网络连接中优先级最高的网络使用。这对于普通用户可能是很方便的,一旦周围有无线网络就可以自动连接到无线网络
http://www.cyqdata.cn/cnblogs/article-detail-6021
PowerShell2.0之维护网络(一)查看网络设置
本文将会介绍如何使用PowerShell管理网络,包括设置和TCP/IP堆栈有关的选项;通过不同脚本提供网络适配器的状态信息,网络适配器的连接状态及属性;设置静态IP、启动DHCP及配置DNS服务器;获取防火墙设置信息并设置有关选项以启用远程管理,以及远程共享文件等。 Windows Vista开始在网络功能方面有了很大改善,包括新的防火墙服务及IPv6协议的增强支持等。同时从Windows V
http://www.cyqdata.cn/cnblogs/article-detail-5607
PowerShell2.0之Windows排错(六)检查网络故障
网络故障对于用户来说是很复杂的问题,因为它可能涉及很多方面的知识,不容易查找和解决。 为检查网络故障,创建名为“GetActiveNicAndConfig.ps1”的脚本,其代码如下: param($computer = $env:computername, [switch]$full, [switch]$help) function funline ($strIN) { $strLin
http://www.cyqdata.cn/cnblogs/article-detail-5407
PowerShell2.0之Windows排错(五)查看硬件问题
硬件问题并不一定都和硬件有关,只要工作负荷在设计的范围内,大部分电子设备都可以使用相当长的一段时间。为了硬件正常工作,需要安装相应的驱动程序。硬件厂商会为其驱动程序添加数字签名,添加数字签名的驱动都是厂商经过大量测试后通过的,可使设备高效运转的驱动;未经签名的驱动程序可能是导致硬件问题的主要原因。 为了检查硬件是否运行厂商认证的驱动程序,创建名为“CheckSignedDeviceDrivers
http://www.cyqdata.cn/cnblogs/article-detail-4850
PowerShell2.0之Windows排错(四)检查启动服务
在Windows中有些服务随系统启动,如果其中的某个服务无法启动,则可能导致系统不稳定或其他不可预知的结果。如果服务出错,首先需要检查服务。将其按照启动类型排列。然后查找所有停止自动运行的服务,如图1所示。 图1 检查未启动的自动运行服务是排错的基本步骤 为了便于在脚本中查询未启动的自动运行服务,创建名为“AutoServiceNotRunning.ps1”的脚本,其代码如下: par
http://www.cyqdata.cn/cnblogs/article-detail-4500
PowerShell2.0之Windows排错(三) 检查设备驱动
设备驱动和服务功能类似,可以自动运行并提供一定功能。只是设备驱动更接近于硬件底层,并不像服务那样容易发现和检查。设备驱动一旦出现问题,往往伴随某种设备功能的失灵,所以对于系统管理员来说检查设备驱动也很重要。 创建用于检查硬件驱动的脚本CheckDeviceDrivers.ps1,其代码如下: param($compute
http://www.cyqdata.cn/cnblogs/article-detail-4310
PowerShell2.0之Windows排错(二)查看服务依存性
Windows中的系统服务具有依存性,如果一个服务未启动,可能导致更多依赖于它的服务均无法启动。以Base Filtering Engine服务为例,其基本筛选引擎(BFE)是一种管理防火墙和 Internet 协议安全(IPsec)策略及实施用户模式筛选的服务,停止或禁用BFE服务将大大降低系统的安全,并造成IPsec管理和防火墙应用程序产生不可预知的行为。在Windows Server 200
http://www.cyqdata.cn/cnblogs/article-detail-4297
PowerShell2.0之Windows排错(一)启动故障排错
如果Windows Vista和Windows Server 2008无法正常启动,则可以检查引导配置文件是否出现错误;另外可以检查启动服务及其依存性。Windows中的一些服务依赖于其他服务、系统驱动程序和组件的加载顺序。如果系统组件被停止或运行不正常,则依赖于它的服务会受到影响。 (1)检查引导配置文件 检查运行Windows Vista和Windows Server 2008的计算机引导
http://www.cyqdata.cn/cnblogs/article-detail-4162
PowerShell2.0之桌面计算机维护(六)修改电源计划
Windows Vista和Windows Server 2008的电源计划有大量改进,可以针对使用电池或交流电供电的情况分别设置。如果当前计算机正在使用电池,那么续航时间是个需要关心的问题。而在某些情况下,计算机的性能才是最重要的。例如,如果电力会在几分钟之后恢复,则不必为延长电池使用时间而降低性能。在不同的电源计划下显示器、磁盘及CPU的电力消耗也不同,在Windows Server 2008
http://www.cyqdata.cn/cnblogs/article-detail-2995
PowerShell2.0之桌面计算机维护(五)管理桌面电源设置
便携式计算机的供电是个很重要的问题,因其直接关系到便携式设备的可移动性。Windows有多个组件与电源管理的配置策略相关,在Windows Server 2008中的电源策略设置界面如图1所示。 图1 Windows Server 2008中的电源策略设置界面 创建名为“ReportPowerConfig.ps1”的脚本,根据用户提供的如下参数提供相应的电源配置信息。 a:当前主
http://www.cyqdata.cn/cnblogs/article-detail-2993
PowerShell2.0之桌面计算机维护(四)审核安全的屏幕保护程序
Windows系统需要针对图形界面设置有关选项,如屏幕保护程序、桌面及电源设置等。尽管有很多用户通过组策略方式配置这些选项,但是对于尚未部署活动目录(Active Directory)的企业还是在使用默认的组策略对象,为需要通过PowerShell实现这些功能。 屏幕保护程序也有潜在的安全威胁,如果用户主机中存在大量的用户,则系统管理员逐个查看用户的屏幕保护程序设置是否安全,以及设置是否按照要求
http://www.cyqdata.cn/cnblogs/article-detail-2992
PowerShell2.0之桌面计算机维护(一)监控磁盘空间
随着时间的增长,系统中的可用空间会越来越少。系统管理员需要清理磁盘,前提是了解系统磁盘空间,为此需要追踪一段时间内的磁盘空间的使用情况。创建名为“QueryOldFiles.ps1”的脚本连接到特定文件夹,并为其中所有超过30天未访问过的文件生成列表,在获得过期文件后可以根据实际情况处理。该脚本的代码如下: function FunWithLine ($strIN) { $num = $st
http://www.cyqdata.cn/cnblogs/article-detail-2820
PowerShell 2.0管理事件日志(三)管理和创建事件日志
事件日志是操作系统用来保存本身及其他程序信息的工具,本文将会介绍如何通过PowerShell脚本阅读事件日志并创建新的日志条目。Windows系统中包含多种事件日志,在Windows XP系统中包括4种主要的事件日志。即应用程序、系统、安全性及Internet Explorer日志,如图1所示。这样用户可以方便地从系统中提取和查看日志,从而了解系统的当前运行情况。本文将会介绍如何通过PowerShell管理和创建Windows事件日志的方法。 1 管理事件日志 在使用事件日志时需要管理多个组件,其中最重要的是事件日志文件的大小。为了能够包括所需时间内的所有特定系统事件,通常情况下日志文件需要足够大,但是读取过大的文件将会耗费大量的时间。 (1)选择来源 使用事件日志时必须能够知道作为记录使用的日志,为此需要查看事件日志的源是否已经注册,实现这个目的的简单方法是使用WMI类Win32
http://www.cyqdata.cn/cnblogs/article-detail-2629
PowerShell 2.0管理事件日志(三)管理和创建事件日志
事件日志是操作系统用来保存本身及其他程序信息的工具,本文将会介绍如何通过PowerShell脚本阅读事件日志并创建新的日志条目。Windows系统中包含多种事件日志,在Windows XP系统中包括4种主要的事件日志。即应用程序、系统、安全性及Internet Explorer日志,如图1所示。这样用户可以方便地从系统中提取和查看日志,从而了解系统的当前运行情况。本文将会介绍如何通过PowerShell管理和创建Windows事件日志的方法。 1 管理事件日志 在使用事件日志时需要管理多个组件,其中最重要的是事件日志文件的大小。为了能够包括所需时间内的所有特定系统事件,通常情况下日志文件需要足够大,但是读取过大的文件将会耗费大量的时间。 (1)选择来源 使用事件日志时必须能够知道作为记录使用的日志,为此需要查看事件日志的源是否已经注册,实现这个目的的简单方法是使用WMI类Win32
http://www.cyqdata.cn/cnblogs/article-detail-2619
PowerShell 2.0管理事件日志(一)查看和读取事件日志
事件日志是操作系统用来保存本身及其他程序信息的工具,本文将会介绍如何通过PowerShell脚本阅读事件日志并创建新的日志条目。Windows系统中包含多种事件日志,在Windows XP系统中包括4种主要的事件日志。即应用程序、系统、安全性及Internet Explorer日志,如图1所示。这样用户可以方便地从系统中提取和查看日志,从而了解系统的当前运行情况。本文将会介绍如何通过PowerShell管理Windows事件日志的方法。 图1 WindowsXP系统的事件日志 1 查看事件日志 在Windows Vista和Windows Server 2008版本中,事件日志的功能能够得到了大量改进和增强。通过使用Get-EventLog cmdlet可以查看事件日志内容,下面是脚本GetEventLogs.ps1的代码: Get-EventLog –List 该脚本可获
http://www.cyqdata.cn/cnblogs/article-detail-2293
PowerShell 2.0之使用WMI管理Windows(三)获取软硬件信息
管理大型的异构网络非常繁琐,而在本地计算机上用不同的自动化接口,如PowerShell、COM对象,甚至基于.NET的程序管理单独的程序和服务则容易得多。关键是存在于混合网络中的分布式系统,即如何操作防火墙后面的设备。如果它只是一种硬件设备,如路由器,则使用WMI(Windows Management Instrumentation)即可。WMI是协同工作的一系列技术,可以提供网络对象的统一访问形式。并且用其查询服务信息,尤其是各种形式的数据、触发命令,以及改变配置选项 1 查询硬件设备 与Windows内核紧密结合允许于WMI操作多种设备,获取不同计算接和硬件配置的信息,例如,可以通过查询Win32_DiskDirver对象获取系统中当前安装的硬盘,如图1所示。 图1 获取当前系统中安装的硬盘 其中列出了所有驱动器,包括此时所使用的U盘。上面的清单中只包含物理硬盘,如果要获
http://www.cyqdata.cn/cnblogs/article-detail-2256
PowerShell 2.0之使用WMI管理Windows(三)对WMI对象的语言支持
管理大型的异构网络非常繁琐,而在本地计算机上用不同的自动化接口,如PowerShell、COM对象,甚至基于.NET的程序管理单独的程序和服务则容易得多。关键是存在于混合网络中的分布式系统,即如何操作防火墙后面的设备。如果它只是一种硬件设备,如路由器,则使用WMI(Windows Management Instrumentation)即可。WMI是协同工作的一系列技术,可以提供网络对象的统一访问形式。并且用其查询服务信息,尤其是各种形式的数据、触发命令,以及改变配置选项。
在第2个PowerShell版本中针对WMI对象增加了很多语言增强功能,允许用户使用类似URL的字符串作为WMI对象的别名。
首先介绍将包含WQL查询字符串转换为WMI查询对象,这个类型是[wmisearcher],由此可以引申出ManagementObjectSearcher对象。搜索对象只有一个Get()方法,用于执
http://www.cyqdata.cn/cnblogs/article-detail-2237
PowerShell 2.0之使用WMI管理Windows(二)PowerShell操作WMI
在PowerShell发布之前,标准的操作方法是使用编程脚本API调用一系列COM对象。调用COM客户端代码可以在各种语言中都能使用,只是典型的WMI客户端脚本代码使用VBScript编写,因为这样简单易行。代码会获取CIM对象的实例,并通过WQL查询和获取信息。结果是用标准的foreach循环获得的集合。下例为使用VBS获取winword.exe进程id的winword_pid.vbs脚本,代码如下: strComputer = "." classNamespace = "winmgmts:\\" & strComputer & "\root\cimv2" Set objWMIService = GetObject(classNamespace) query = "SELECT * from W
http://www.cyqdata.cn/cnblogs/article-detail-2180
PowerShell2.0之与COM对象交互(五)与脚本宿主代码协同工作
网络中存在大量由VBScript和Jscript或者其他Windows脚本宿主相关的语言编写的代码,其中相当一部分用对应语言实现很简短,而且有部分代码甚至不能转换为PowerShell代码。丢弃所有这些代码并且完全使用PowerShell重写很不明智,因此需要在PowerShell中有一种重用Jscript和VBScript脚本的代码方法。 MSScriptControl这个COM对象可以作为脚本环境的宿主,其ProgID是MSScriptControl.ScriptControl。用户可以用其注册并执行代码,使用这个对象作为从PowerShell中调用现有VBScript和Jscript脚本的方法。一旦导入脚本,即可调用其中的函数,传递参数并返回值。 为了示范脚本如何控制对象的操作,下面演示计算文件大小的两个实例,分别是Jscript编写的FileSize.js和VBScirpt编写
http://www.cyqdata.cn/cnblogs/article-detail-2140