注册表管理(本地、远程)
摘要:查看项目属性:Get-ItemProperty C:\Windows查看注册表项:Get-Item -path registry::HKLM\SYSTEM\CurrentControlSet\Control\CrashControl Get-Item -path HKLM:\SYSTEM\Curre...
阅读全文
posted @
2013-03-19 17:15
momingliu11
阅读(1109)
推荐(0) 编辑
start-job function 传递参数
摘要:$j2="ww"$j3="tt"start-job -ScriptBlock { ##这半个大括号不能换行到下一行,否则出现语法错误param($j2,$j3)function wt{ param ($t1,$t2) $t1+" l ly "+$t2|out-file d:\j.txt}wt -t...
阅读全文
posted @
2013-03-17 21:01
momingliu11
阅读(648)
推荐(0) 编辑
远程管理WinRM,Enter-PSSession
摘要:$s="hello"Invoke-Command 192.168.12.99 -Credential administrator {param ($s) write-host $s+"abc"} -ArgmentList $s Enable-PSremotingDisable-PSremoting
阅读全文
posted @
2013-03-15 15:17
momingliu11
阅读(23330)
推荐(1) 编辑
PowerShell端口连通性测试
摘要:在PowerShell中,使用“Test-Connection”命令可以测试对端主机是否存活,相当于批处理中的Ping命令,但是如果要测试对端主机的某个端口是否可以连通,批处理中可以使用Telnet命令,那在PowerShell中还有类似的命令吗?很遗憾,没有。需要通过调用.Net对象才可以实现。判断192.168.1.10的80端口是否可以连通,方法如下:$tcp = new-object Net.Sockets.TcpClient$tcp.Connect("192.168.1.10",80)如果该端口可以连通,则无任何返回值;如果不能连通,则会返回如下错误信息:使用“2
阅读全文
posted @
2013-03-12 22:08
momingliu11
阅读(11375)
推荐(1) 编辑
给PowerShell脚本传递参数
摘要:在编写PowerShell脚本的时候,可以通过给变量赋值的方法输出想要的结果,但这样的话,需要改动脚本内容。其实也可以在脚本中定义参数,然后再在执行脚本的时候对参数赋值,而无需改动脚本内容。 在PowerShell脚本中,可以使用param()声明参数,如下: param($a,$b) write-
阅读全文
posted @
2013-03-05 20:57
momingliu11
阅读(7578)
推荐(1) 编辑
事件日志保存在以当前日期为名的文件夹下
摘要:wevtutil epl setup c:\setup.evtx============================================#定义事件日志保存位置,每天的事件日志保存在以当前日期为名的文件夹下$eventlog_folders = "c:\eventlogs"If (!(...
阅读全文
posted @
2013-03-05 19:39
momingliu11
阅读(500)
推荐(0) 编辑
PowerShell性能监控告警
摘要:实际上,我们可以通过PowerShell来获取性能计数器的值,比如当计算机可用内存小于500MB时,则自动发送邮件告警。在PowerShell中,并没有专门的命令来获取性能计数器的值,也无法直接发送邮件,都需要先创建.Net Framework类的实例。1)获取性能计数器代码如下:#新建性能计数器对...
阅读全文
posted @
2013-03-05 19:37
momingliu11
阅读(4448)
推荐(0) 编辑
PowerShell脚本保存密码
摘要:当使用批处理或VBS脚本访问远程计算机的时候,我们可以直接将其用户名和密码写入到脚本中,但是在PowerShell中,则不允许直接将密码写入其中,这虽然在很大程度上提高了脚本的安全性,但有时候却也给我带来了一些麻烦。 如果我们要获取计算机(192.168.12.6)的系统信息,则需要使用Get...
阅读全文
posted @
2013-03-05 19:35
momingliu11
阅读(2913)
推荐(0) 编辑
PowerShell写入事件日志
摘要:可能大家都知道,在PowerShell中使用“Get-Eventlog”命令可以查询Windows系统中的事件日志,如常见的应用程序、系统以及安全日志。但有的时候我们可能又需要将一些关键信息输出到事件日志中,我们就可以使用System.Diagnostics.EventLog类,不仅可以将信息写入到传统事件日志(即系统、应用程序,以及安全)中;还可以创建自己的事件日志,并将日志写入其中。 在写入事件日志之前,必须创建来源,通过来源可以很快的定位该事件的源头,如下图1所示。创建事件来源后,还需要将其与事件日志名称进行关联,然后再写入特定的信息。同一个事件源只能被写入到一种事件日志中,如写...
阅读全文
posted @
2013-03-05 19:33
momingliu11
阅读(3314)
推荐(0) 编辑
PowerShell显示进度条
摘要:在运行脚本的时候,如果脚本运行时间较长,就会不知道脚本的运行状况如何,如果在运行过程中有一个进度显示,那将会方便很多。在PowerShell中,通过使用“Write-Progress”命令可以在窗口中显示进度栏,描绘正在运行的命令或脚本的状态。$servers = get-content d:\serverlist.txt$i=0foreach ($server in $servers){if ($server -ne $null){}$i=$i+1$w=$i.tostring() + '/' + $servers.count.tostring()Write-Progress
阅读全文
posted @
2013-03-05 19:30
momingliu11
阅读(2677)
推荐(1) 编辑
Select-String搜索字符串性能问题
摘要:今天在一个脚本中需要用到“select-string”用来查找关键字,脚本很容易就写好了,但是在运行该脚本的时候却发现要将近20秒才能完成,执行效率太低了,仔细把脚本从头到尾看了一遍,觉得问题就是出在“select-string”身上,因为这其中要遍历的文本文件有6MB多大小。 因为在脚本中很多地方需要在前一句命令的执行结果中查找关键字,为了方便,都是直接通过管道符将结果传给了“select-string”进行搜索,这样的搜索结果也很容易进行二次加工,如下:netstat -an |select-string "ESTABLISHED"TCP 192.168.1.12:49
阅读全文
posted @
2013-03-05 19:28
momingliu11
阅读(1335)
推荐(0) 编辑