[Windows Powershell]-学习笔记(4)】的更多相关文章

Powershell自动化变量 Powershell 自动化变量 是那些一旦打开Powershell就会自动加载的变量,或者说是运行是变量. 这些变量一般存放的内容包括 用户信息:例如用户的根目录$home 配置信息:例如powershell控制台的大小,颜色,背景等. 运行时信息:例如一个函数由谁调用,一个脚本运行的目录等. powershell中的某些自动化变量只能读,不能写.例如:$Pid. 可以通过Get-Help about_Automatic_variables查看Automatic…
Powershell环境变量 传统的控制台一般没有象Powershell这么高级的变量系统.它们都是依赖于机器本身的环境变量,进行操作 .环境变量对于powershell显得很重要,因为它涵盖了许多操作系统的细节信息.此外,powershell中的变量只存在于powershell内部的会话中,一旦powershell关闭,这些变量就会自生自灭.但是如果环境变量被更新了,它会继续保存在操作系统中,即使其它程序也可以调用它. 读取特殊的环境变量: 通过环境变量读取Windows操作系统的安装路径,和…
数学运算 我们可以把powershell当成一个计算器.如键入命令行那样输入数学表达式,回车,powershell会自动计算并把结果输出.常用的加减乘除模(+,-,*,/,%)运算和小括号表达式都支持. powershell也能自动识别计算机容量单位,包括KB,MB,GB,TB,PB   Powershell执行外部命令 Powershell能像cmd一样执行外部命令, 如使用netstat –an 查看网络端口连接 使用ipconfig 查看本机ip地址 使用route print查看路由信息…
Powershell 定义变量 在powershell中变量名均是以美元符"$"开始,剩余字符可以是数字.字母.下划线的任意字符,并且powershell变量名大小写不敏感($a和$A 是同一个变量).某些特殊的字符在powershell中有特殊的用途,一般不推荐使用这些字符作为变量名.当然你硬要使用,请把整个变量名后缀用花括号括起来. 赋值:赋值操作符为"=",几乎可以把任何数据赋值给一个变量,甚至一条cmdlet命令 ,为什么,因为Powershell支持对象,…
Powershell 通过函数扩展别名 在powershell中设置别名的确方便快捷,但是在设置别名的过程中并设置参数的相关信息,尽管别名会自动识别参数,但是如何把经常使用的参数默认设定在别名里面呢?例如Test-Connection -Count 2 -ComputerName,让-"-Count 2″ 固化在别名中. 这时简单的别名无法完成上述需求,可以通过函数来完成它,并且一旦把函数拉过来,定义别名会变得更加灵活. 删除别名:del alias:tc 有了函数牵线,别名可以完成更高级更强大…
  Powershell 快捷键 Powershell的快捷键和cmd,linux中的shell,都比较像.   ALT+F7     清除命令的历史记录 PgUp PgDn     显示当前会话的第一个命令和最后一个命令 Enter     执行当前命令 End     将光标移至当前命令的末尾 Del     从右开始删除输入的命令字符 Esc     清空当前命令行 F2     自动补充历史命令至指定字符 (例如历史记录中存在Get-Process,按F2,提示"Enter char t…
这一次介绍一下Cmdlet处理过程的生命周期 总共分为六个部分 1.概述 2. 命令行输入绑定参数(parameters) 3. 开始指令处理 4. 接受管道输入绑定参数 5. 处理记录 6. 处理记录 1. 概述 下图展示Windows PowerShell怎样处理一个管道请求指令. 这个流程包括: 指令参数(parameters)初始绑定阶段 指令处理开始 管道参数(parameters)二次绑定阶段 记录处理 指令处理结束 2. 命令行输入绑定参数(parameters) 第一次绑定期间,…
从Window7以后,WIndows系统都自带了Windows PowerShell. 自带版本如下 WIndow7  2.0 WIndow8   3.0 Window8.1      4.0 Window10    5.0/5.1   在Window10系统中,使用PowerShell代替了CMD作为默认的命令环境 如何查看PowerShell版本? $PSVersionTable 运行结果如下: 关于PowerShell中的命令命名 powershell中命令的命名使用的是动-名词结构 如…
什么是Powershell? MSDN上的说明是:PowerShell 是构建于 .NET 上基于任务的命令行 shell 和脚本语言. PowerShell 可帮助系统管理员和高级用户快速自动执行用于管理操作系统(Linux.macOS 和 Windows)和流程的任务. 使用 PowerShell 命令可以从命令行管理计算机. PowerShell 提供程序可让你访问数据存储(如注册表和证书存储),与你访问文件系统一样方便. PowerShell 具有丰富的表达式分析器和完全开发的脚本语言.…
PowerShell,从名字可以知道,他首先是一个shell,shell的意思就是和Linux的bash等一样.和原来的cmd一样就是在里边敲命令(可执行文件)使用: 而Power就意味他是一个功能强大的shell,从面向用户而言,个人觉得其功能强大体现在以下几方面: (1) 微软态度.微软是真正的在推行PowerShell,包括Office等更多自家软件,底层都是调用PowerShell来实现. (2) 兼容性cmd.PowerShell包含原先cmd的所有命令,原先命令使用形式不变,在是在其…
对于Windows 在 Security 方面的学习. 纯兴趣. UNIX 的另外开一条路线学习. 话说今天查gpedit.msc的资料的时候发现 M$ 官网上怎么连个文档都没有. 后来才点了 gpedit.msc 的 Help 才发现原来 M$ 官网是面对最终用户的. 技术人员要去 TECHNET.MICROSOFT.COM 才对! 先留个坑. 慢慢填 首先有个问题. QPCore, 360 等流氓服务的原理? 参考资料: http://www.zhihu.com/question/30848…
学习Windows程序设计也有一些时间了,为了记录自己的学习成果,以便以后查看,我希望自己能够坚持写下一系列的学习心得,对自己学习的内容进行总结,同时与大家交流.因为刚学习所以可能有的地方写不不正确,希望大家能够指出. 在学习了一定的Windows API后我决定进入到一些基础的学习,希望能够学习一些原理性的知识,能够做到知其然的同时知其所以然.为了达到这个目的,这段时间我学习了一些计算机的基础知识,在这写下这篇博客,总结一下. 在早期的16位8086CPU中我们使用段与段内的偏移偏移的方式寻址…
1,ps7官方文档 2,使用脚本生成帮助文档 function Add-Node { param ( $selectedNode, $name, $tag ) $newNode = new-object System.Windows.Forms.TreeNode $newNode.Name = $name $newNode.Text = $name $newNode.Tag = $tag $selectedNode.Nodes.Add($newNode) | Out-Null return $n…
1. 判断一个对象是不是空可以用 $null来比较 2. 判断一个字符串是不是空的: [string]::IsNullOrEmpty(...) 3. 在powershell中把结果输出为一个CSV格式的文本文件的方法, 好处自己想 # Get the current script execution path so our CSV file gets saved back there [string]$curloc = get-location out-file -filepath "$curl…
参考资料: 1. <Windows Internals> 知识点: ● 当一个进…
参考资料: 1. <Windows Internals> 2. Fibers 知识点: ● 当一个进程在系统上启动时,内核将创建一个进程对象来代表它,并执行各种内核相关的初始化任务.然而,这些任务不会真正执行应用,而只是进行上下文和环境的准备工作.应用程序不像驱动(内核模式),它执行在用户模式下.因此,大部分初始化工作实际上都是在内核外完成的,且该工作是由Image Loader(Ldr)执行的. ● Image Loader存在于用户模式下的系统DLL Ntdll.dll中,而不在内核库中.…
参考资料: 1. <Windows Internals> 2. Dependency Walker 3. Ntoskrnl.exe 4. Livekd的使用 5. WinDbg的使用(一) 6. WinDbg的使用(二) Now, let's delve into the internal structure & the role each key OS component plays at the high-level achitecture. ^-^ 知识点: ● 先上图,下图是w…
好不容易把环境打好了,一定要试试牛刀.我创建了一个极其简单的程序(如下).让我们期待会有好的结果吧,阿门! using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { int a; string str; a = ; str…
最近产品环境出现了部分服务器当机情况,虽然重启之后问题就不出现了.但本着彻底解决问题的态度,想要找到root cause.多次尝试Visual Studio失败(可能是代码惊醒了优化和签名)之后,决定使用WinDBG来调试.于是...灾难发生了. 想要一次性成功搭建测试环境,那得靠人品.看来我近来人品积累的不够,不断的有小问题出现.比如加载SOS和CLR,就让我不胜其烦.必须得记下来,分享出来,以节省大家的时间. 问题一:WinDBG分X86和X64两个版本 如果你用的是32位的WinDBG,那…
参考资料: 1. <Windows Internals> 2. 自旋锁spinlock剖析与改进 3. Lock指令前缀 4. Lock指令前缀(二) 5. Kernel Dispatcher Objects 6. Windows同步机制原理 知识点: ● Interlocked Operations:最简单的同步机制,基于硬件对安全多处理器整数操作的支持,包括:InterlockedIncrement.interlockedDecrement.InterlockedExchange和Inte…
参考资料: 1. <Windows Internals> 知识点: ● 陷阱trap:它是一种处理器机制,用以在某一异常或中断出现时,捕捉该执行线程,并将其控制权转交到操作系统中某一固定位置.在Windows中,处理器将控制权转交到一个trap handler(一个针对特定中断或异常的函数). ● 一个中断是一个异步的事件,它与正执行的处理器无关.主要由I/O设备.处理器和时钟触发,且可以打开或关闭. ● 一个异常属于一种同步的情况,通常是由于执行某一特殊执行而触发的. ● 内核将系统服务调用…
参考资料: 1. <Windows Internals> 2. http://bestcbooks.com 3. Windows Drive Kit 4. Microsoft Windows SDK 5. WDK下载地址 6. Windows内核模式和用户模式 知识点: 1. 用户模式下的四种基本进程类型: ● Fixed (or hardwired) system support processes, Such as the logon process & the session m…
参考资料: 1. <Windows Internals> 2. Windows Drive Kit 3. Microsoft Windows SDK 4. WDK下载地址 知识点: 1. Windows Drive Kit(WDK)是微软提供的用于Windows平台的设备驱动软件开发工具集.它包括:文档.实例.Build环境和为驱动开发人员提供的开发工具.早期,它以Windows Driver Development Kit(DDK)闻名,支持Windows Driver Model(WDM)…
在Windows Phone中,页面之间传递参数就类似Web开发中一样,通过QueryString的形式进行传递,但是如果需要传递对象,则无法通过QueryString形式了,其实也可以,把对象序列化,编码,然后就可以通过QueryString传递,SecondPage中获取字符串,反序列化成为对象,然后就可以使用了,但是这样的话似乎就非常麻烦了,而且这样传递过去的是新的实例,而不是对象的引用. 其实要实现对象引用传递有很多方法,只是在于你如何方便使用,方便维护罢了. 在此我选择使用OnNavi…
windows里的变量类型 1.简单重定义windows变量 BOOL (TRUE FALSE) INT UINT(32位,4字节) LONG DWORD(32位,4字节) lParam,wParam(32位,4字节) SHORT WORD(16位,2字节) LPSTR   LPCSTR(字符串指针,可写和只读)      char *和const char* 2.句柄类型 HINSTANCE of Windows ->HWND; HINSTANCE of Instance  ->HINSTA…
菜单可能是Windows提供的统一用户界面中最重要的一种方式,菜单通常在标题栏的下一行显示,这一栏叫做菜单栏,菜单栏中的每一项称之为菜单项,菜单栏中的每一个菜单项在激活时会显现一个下拉菜单(也可以说是它的子菜单),下拉菜单中也可以有多个菜单项,每个菜单项又可以有子菜单,每个菜单项都有一个唯一的数字标示,称为菜单项的ID,但是有子菜单的菜单项没有ID.用户点击某项后,会产生一个WM_COMMAND消息发送到其父窗口,该消息中包含了这个菜单项的ID.菜单的创建可以通过可视化的方法创建,也可以通过编写…
Windows系统提供大量的控件供我们使用,但是系统提供的控件样式都是统一的,不管什么东西看久了自然会厌烦,为了使界面更加美观,添加一些新的东西我们需要自己绘制控件. 控件在默认情况下并不进行自绘,如果是在窗口中利用CreateWindow创建的话要在风格中加入一个对应的自绘风格,这个一般在MSDN中都可以查到比如按钮的自绘风格是BS_OWNERDRAW.列表框是 LBS_OWNERDRAWFIXED (列表项的高度一致).LBS_OWNERDRAWVARIABLE(列表项的高度可以不一致),如…
ListBox是Windows中的一种控件,一般被当做子窗口使用,Windows中所有子窗口都是通过发送一个通知码到父窗口父窗口通过WM_COMMAND消息接收,并在此消息中处理,并控制子窗口,ListBox自然也不例外,ListBox中有它独有的消息,通知消息,风格,查看MSDN可以看到风格主要有: LBS_EXTENDEDSEL  用户可以通过SHIFT + 鼠标或者其他组合键进行多选(只能通过SHIFT + 鼠标或者其他组合键) LBS_HASSTRINGS   指定一个自绘的列表框中包含…
<Windows程序设计>(第五版)(美Charles Petzold著) #include<windows.h> LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM); int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,PSTR szCmdline,int iCmdShow) //第一个参数是实例句柄,在Windows程序中,句柄就是一个数值,程序里用它来标志…
参考资料: 1. 下载地址 2. 使用示例…