Powershell小技巧之记录脚本的操作
你可能知道在PS控制台(不是ISE编辑器),你可以打开脚本日志“
PS> Start-Transcript
你将记录所有输入的命令和所有的结果到这个文件。不幸的是它虽然运行在脚本中,但你不能准确看到脚本命令。
这里有一个在你脚本执行时记录全部命令方法。在你尝试这个方法之前,你可能会意识到这将增大日志文件的大小和降低脚本执行速度,因为在这个循环中,中间的迭代也将被记录。
下面命令将打开全部脚本的日志:
PS> Set-PSDebug -Trace 1
支持所有PS版本
相关推荐
-
shell将脚本输出结果记录到日志文件的实现
使用tee命令: sh portal/main.sh |tee log.txt 获取脚本父类路径 cmddir="`dirname $0`" 以上这篇shell将脚本输出结果记录到日志文件的实现就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.
-
linux中 shell 历史命令记录功能
在 Linux 下面可以使用 history 命令查看用户的所有历史操作,同时 shell 命令操作记录默认保存在用户目录的 .bash_history 文件中.通过这个文件可以查询 shell 命令的执行历史,有助于运维人员进行系统审计和问题排查,同时在服务器遭受黑客攻击后,也可以查询黑客登录服务器的历史命令操作.但是黑客在入侵后,为了抹除痕迹,会删除 .bash_history 文件,这个就需要合理备份这个文件了. 默认的 history 命令只能查看用户的历史操作记录,但是不能区分每个用户
-
用来记录登录后使用命令的shell脚本
复制代码 代码如下: #/bin/bash# history#把以下代码直接粘贴到/etc/profile后USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`HISTDIR=/var/log/.histif [ -z $USER_IP ]then USER_IP=`hostname`fiif [ ! -d $HISTDIR ]then mkdir -p $HISTDIR chmod 777 $
-
Powershell小技巧之用变量累积记录错误
当你使用GC查询文件时,当你没有足够的权限你可能会错过不少错误.你可以使用"–ErrorAction SilentlyContinue"忽略这些错误. 有一个不错的方法来获取这些错误. 我们在Windows目录中查询所有PS脚本文件,将它的文件保存在$PSScripts,同时将错误日志记录在变量ErrorList中: 复制代码 代码如下: $PSScripts = Get-ChildItem -Path c:\windows -Filter *.ps1 -Recurse -ErrorA
-
PowerShell小技巧之定时记录操作系统行为
作为系统管理员,有些时候是需要记录系统中的其他用户的一些操作行为的,例如:当系统管理员怀疑系统存在漏洞,且已经有被植入后门或者创建隐藏账户时,就需要对曾经登陆的用户进行监控,保存其打开或者操作过的文件.或者在另外一个场景,当黑客拿下一个普通权限的shell之后,想看看最近有哪些用户登陆过,操作过什么,以便根据用户习惯采取进一步行动获取更高权限,这个时候记录用户行为就显得很重要了. 可能有读者觉得此时安装个监控软件不就行了么,拜托,你入侵别人的系统,你装个监控软件,你把管理员试做无物么?这个时候P
-
PowerShell时间记录脚本
#initialization $timeInterval = 30 #监测间隔 $record = @{"Coding" = 0; "Outlook Email" = 0; "Gmail" = 0; "Google Reader" = 0; "BBS" = 0; "Other Internet" = 0; "Documents" = 0;} $count = 0 $
-
shell如何记录用户的IP与命令详解
记录输入的命令 history命令可以查看用户输入过的命令,一个典型history命令输出如下: 980 2017-05-29 20:17:37 cd - 981 2017-05-29 20:17:41 cat index.html 982 2017-05-29 20:20:11 vim index.html 983 2017-05-29 20:39:18 cd - 984 2017-05-29 20:39:25 cd /var/log/nginx/ 985 2017-05-29 20:39:2
-
Powershell小技巧之记录脚本的操作
你可能知道在PS控制台(不是ISE编辑器),你可以打开脚本日志" 复制代码 代码如下: PS> Start-Transcript 你将记录所有输入的命令和所有的结果到这个文件.不幸的是它虽然运行在脚本中,但你不能准确看到脚本命令. 这里有一个在你脚本执行时记录全部命令方法.在你尝试这个方法之前,你可能会意识到这将增大日志文件的大小和降低脚本执行速度,因为在这个循环中,中间的迭代也将被记录. 下面命令将打开全部脚本的日志: 复制代码 代码如下: PS> Set-PSDebug -Tra
-
Powershell小技巧之查找脚本中的函数
要快速获取你PS脚本库中所有文件的函数名,你可以这样做: 复制代码 代码如下: filter Find-Function { $path = $_.FullName $lastwrite = $_.LastWriteTime $text = Get-Content -Path $path if ($text.Length -gt 0) { $token = $null $errors = $null $ast
-
Powershell小技巧之捕获脚本内部的异常
先看一个脚本文件:3.three.test.ps1 复制代码 代码如下: Get-FanBingbing #命令不存在 然后这样捕获: 复制代码 代码如下: trap [exception] { '在trap中捕获到脚本异常' $_.Exception.Message continue } .\3.three.test.ps1 异常捕获成功,输出: 复制代码 代码如下: 在trap中捕获到脚本异常 The term 'Get-FanBingbing' is not recognized a
-
Powershell小技巧之非相同域或信任域也能远程
默认通过Enable-PSRemoting打开PS远程,启动了Kerberos认证.这个方法只适合两台电脑在相同域或信任域内的指定电脑(名字可以带后缀).但它不支持跨域.域外或IP地址. 要让它能正常工作,你需要改变计算机的远程方式.请用管理员权限执行下面命令: 复制代码 代码如下: PS> Set-Item WSMan:\localhost\Client\TrustedHosts -Value * -Force 如果这个路径非法,你可能首先需要在电脑上打开PS远程(使用"Enable-P
-
Powershell小技巧之找出脚本中的错误
找出脚本之中的语法错误从来就不是轻松的事情,但是可以这样去筛选: filter Test-SyntaxError { $text = Get-Content -Path $_.FullName if ($text.Length -gt 0) { $err = $null $null = [System.Management.Automation.PSParser]::Tokenize($text, [ref] $err) if ($err) { $_ } } } 这个脚本中,你可以快速扫描一个目
-
PowerShell小技巧之获取域名whois信息
Whois 简单来说,就是一个用来查询域名是否已经被注册,以及注册域名的详细信息的数据库(如域名所有人.域名注册商.域名注册日期和过期日期等).通过域名Whois服务器查询,可以查询域名归属者联系方式,以及注册和到期时间.通常情况下,whois信息均为真实信息,通过whois信息可以找到域名注册人的很多真实信息,像电话,邮箱,NS记录,是对网站进行社工非常好的信息来源,对于安全从业人员来说,快速获取whois信息,能够帮助自己掌握目标网站的很多有用信息. 而whois信息通常是保存在各级域名注册
-
PowerShell小技巧之定时抓取屏幕图像
昨天的博文写了定时记录操作系统行为,其实说白了就是抓取了击键的记录和对应窗口的标题栏,而很多应用程序标题栏又包含当时记录的文件路径和文件名,用这种方式可以大致记录操作了哪些程序,打开了哪些文件,以及敲击了哪些按键.事实上这样记录操作系统的行为显得相对单薄一点,因为记录的内容不太形象,对于新手来说太过于隐晦了,对于人类来说,图像会比文字更加有利于用户理解.当操作系统不方便装屏幕记录软件,但又需要看已经登录用户在干什么的时候,用PowerShell的脚本来实现定时抓取图像的方式记录操作,查看图像就知
-
Powershell小技巧之使用Jint引擎在PowerShell中执行Javascript函数
这里演示如何利用PowerShell将一段Javascript函数字符串交给Jint引擎去执行. 执行Javascript函数 .Net版的Javascript解释器 可以从Git上获取Jint的代码,也可以从nuget上下载Jint的程序集. Jint是一个面向.Net的Javascript解释器.Jint不会把Javascript编译成.Net字节码,所以它非常适用于脚本小且运行起来速度快的工程,或者运行在不同平台上的脚本. PowerShell调用 拿到Dll根据-Path参数直接使用Ad
随机推荐
- ASP问答集
- C语言职工管理系统设计
- vue 如何添加全局函数或全局变量以及单页面的title设置总结
- Java简单验证身份证功能示例
- 如何使用Gitblog和Markdown建自己的博客
- php+MySQL实现登录时验证登录名和密码是否正确
- python自动化测试之连接几组测试包实例
- Android实现阅读APP平移翻页效果
- mysql 选择插入数据(包含不存在列)具体实现
- 在Python的一段程序中如何使用多次事件循环详解
- jQuery弹出窗口简单实现代码
- jquery中 $.expr使用实例介绍
- PHP对XML内容进行修改和删除实例代码
- php中时间轴开发(刚刚、5分钟前、昨天10:23等)
- C++设计模式之职责链模式
- asp.net 虚拟主机时常出现MAC验证失败错误之解决方法
- 浅析C语言中assert的用法
- 使用python和pygame绘制繁花曲线的方法
- JDBC实现学生管理系统
- 让Vue也可以使用Redux的方法