文档库 最新最全的文档下载
当前位置:文档库 › PowerShell的Exit与Return

PowerShell的Exit与Return

PowerShell的Exit与Return
PowerShell的Exit与Return

PowerShell的Exit关键字与Return关键字,以及自动变量$?和$LastExitCode

——与Unix Shell的比较

最近因为工作关系,第一次接触PowerShell。因为之前接触的都是Unix Shell,所以在刚开始用PowerShell的时候,把Unix的想法与概念带到PowerShell中,到最后才发现二者之间很多东西都是不一样的。

关于这次的工作内容,主要任务是把原来在Unix上写的Shell用PowerShell再实现一下。需求与接口都要求与原来的一样(实际上谁也不想改这些东西)。

一、Exit关键字

语法:Exit [状态值]

这个不用想都知道是退出命令,中止当前的执行。但是这里面却是一大堆的陷阱。

在Unix Shell中,只要Exit被执行,不管Shell之间用source命令有多少层读取关系,都会中止所以执行,并且设置退出状态值。状态值在执行结束之后用$?来确认。一切都很清楚。

但是在PowerShell中却变得比较复杂。先看一下PowerShell2.0中关于Exit的说明,少得可怜。另外,在《Window PowerShell应用手册》里关于Exit也没有特别的说明。

对PowerShell中Exit的命令,分成下面三种情况。

1、在脚本中直接执行。

2、在用source读取的脚本中执行。

3、在函数中执行。

分别用例子来说明。

1、在脚本中直接执行。

这种情况下和Unix Shell是一样的,都是中止脚本的执行。

不同的是在PowerShell中自动变量$?是一个布尔值,因为退出代码不是0而是50,所以执行结束是失败(False);自动变量$LastExitCode里保存的则是退出代码。

2、在用source读取的脚本中执行。

用testMain.ps1文件读取上一个例子中的脚本。可以看到即使test1.ps1的执行了Exit命令并中止了执行,但是testMain.ps1却还是继续执行后面的命令。

这一点和Unix Shell完全不一样。

3、在函数中执行。

这种情况下和Unix Shell 也是一致的。补充说明一下,即使这个函数是在另一个脚本中定义的,通过读取该文件后调用这个函数,结果也是一样的。

二、关于$?和$LastExitCode

在上面的几个例子里用到了这两个自动变量来查看脚本的执行结果。先看一下PowerShell2.0帮助手册里的说明,内容也一样很简单。

$?都是用来确定前一个命令的执行状态,如果是脚本的话,由Exit 命令后面所带的参数和决定执行状态。0是True ,0以外的数字都是False 。所有的程序和命令都会在执行后设置$?的值。

$LastExitCode 的值是由Exit [状态值]命令来设置的。需要注意的是,并不是所有的命令和程序都会去设置这一个自动变量;也就是说,你现在看到$LastExitCode 的值可能并不是前一个命令设置的,而是更早之前的某一个命令设置之后一直保持下来的值。还有一点需要注意的是,当你刚打开一个PowerShell 的时候,$LastExitCode 这个自动变量是不存在的,只有在某一个设置$LastExitCode 的命令执行过以后才会出现。

刚开始时,我一直以为$?和$LastExitCode 保存的都是前一个命令的结果,直到后来做测试时才发现不是。之后再找了一下资料,也没有发现相关的说明。有兴趣的朋友可以自己测试一下。

三、Return 关键字

首先看一下在Return 命令在Unix Shell 中的作用。Return 和Exit

一样都可以设置命令的执行

状态值,不同的是Exit会中止脚本的执行,而Return不会中止脚本的执行。

在PowerShell里虽然也有Return这一个命令,但是和Unix Shell的完全就是两个不同的概念。在PowerShell里只有Exit可以设置$LastExitCode,但是Return不能做到。先看一下PowerShell2.0帮助手册的说明:

所以这里的Return,不是像Unix Shell一样设置%?,也不像C或Java一样只返回Return关键字后面所跟的值,而是当前脚本或函数所有语句的输出。如果Return前面只有一个输出的话,就是把那个输出返回;如果是有多个输出的话,返回值如下图所示是一个Object数组。

这是一个会让人崩溃的结果,真不知道PowerShell的设计者脑子是不是进水了,还是有我无法想像到的深意在里面。

总结,PowerShell和Unix Shell完全是两种不同的语言,有相似的地方,但是更多的是不同。工作上碰到的问题,都只能说是自己对这两者的理解都还十分肤浅,不能够运用自如。

2016年1月16日

关于这篇文章

从接触PowerShell开始,有问题上网找资料时发现关于PowerShell的资料比较少,就想把自己的一些理解写出来分享一下。第一次写这种文章,加上从事工作资历也比较短,不足之处还请大家多多包涵。文中的观点与理解如有错误,请务必指正出来,不胜感激。

邮箱:xxbcf@https://www.wendangku.net/doc/2e9138258.html,

关于作者

80后,2013年才进入IT行业,工作经验与水平都处在入门水平。

Powershell快速配置DHCP服务(原创)

$dhcpscope=read-host -Prompt "请输入dhcp作用域地址" $scopename=Read-Host -Prompt "请输入dhcp作用域名称" $scopedescript=Read-Host -Prompt "请输入dhcp作用域的描述" $Hostname=$env:COMPUTERNAME $fqdnname=([https://www.wendangku.net/doc/2e9138258.html,.dns]::gethostentry($Hostname)).Hostname $iprangea=Read-Host -Prompt "请输入dhcp分配起始地址" $iprangeb=Read-Host -Prompt "请输入dhcp分配结束地址" $ipexcludea=Read-Host -Prompt "请输入dhcp排除起始地址" $ipexcludeb=Read-Host -Prompt "请输入dhcp排除结束地址" $ipgateway=Read-Host -Prompt "请输入dhcp分配的网关地址" $ipdns=Read-Host -Prompt "请输入dhcp分配的dns地址" ServerManagercmd -i dhcp Get-Service dhcpserver |Set-Service -StartupType automatic Start-Service dhcpserver netshdhcp server add scope $dhcpscope 255.255.255.0 $scopename $scopedescript netshdhcp add server $fqdnname netshdhcp server scope $dhcpscope add iprange $iprangea $iprangebdhcp netshdhcp server scope $dhcpscope add excluderange $ipexcludea $ipexcludeb netshdhcp server scope $dhcpscope set optionvalue 003 ipaddress $ipgateway netshdhcp server scope $dhcpscope set optionvalue 006 ipaddress $ipdns netshdhcp server scope $dhcpscopeset state 1

Windows PowerShell 发行说明

Windows PowerShell V1.0(用于 .NET Framework 2.0 RTM)发行说明 版权所有(C) 2006 Microsoft Corporation。保留所有权利。 此信息按“原样”提供,没有任何明示或暗示的保证,包括但不仅限于针对适销性或特定目的的适用性的暗示保证。 本文档介绍了对Windows PowerShell V1.0发行版的最新更改。若要了解有关Windows PowerShell 的更多信息,请参阅“入门指南”、“Windows PowerShell 入门”和“快速参考”。从Windows PowerShell 的“开始”菜单链接中可以打开以上链接。 对Windows PowerShell RC2 所做的更改 在 Windows PowerShell RC2 和 Windows PowerShell V1.0 最终版本之间并没有任何重大更改。以下列表介绍了在 RC2 发行声明中未涉及但有必要予以介绍的一些功能。 对ADSI 的支持: 我们向 Windows PowerShell 中添加了直接的 ADSI 支持,以便用户更方便地管理 Active Directory。现在可以对 Active Directory 对象执行创建 ADSI 对象、获取属性及调用方法等操作。 示例:(创建 OU) PS >$objDomain = [ADSI]"LDAP://localhost:389/dc=NA,dc=fabrikam,dc=com" PS >$objOU = $objDomain.Create("organizationalUnit", "ou=HR") PS >$objOU.SetInfo() 新的产品ID: Windows PowerShell 的 RC2 版本具有一个产品 ID (PID),该产品 ID 存储在以下注册表项中并具有以下值: HKLM\Software\Microsoft\PowerShell\1 PID=89393-100-0001260-00301 在最终的 V1.0 版本中,PID 号更改为: HKLM\Software\Microsoft\PowerShell\1PID= 89383-100-0001260-04309 新的配置文件位置: Windows PowerShell 配置文件现在位于 WindowsPowerShell 目录中,而不再位于PSConfiguration 目录中。 用于所有用户的配置文件位于以下位置: %windir%\system32\WindowsPowerShell\v1.0\profile.ps1 %windir%\system32\WindowsPowerShell\v1.0\ Microsoft.PowerShell_profile.ps1

PowerShell 1.0 用户指南

Windows PowerShell 语言快速参考

变量 格式: $[scope:]名称 或 ${任何名称} or ${任何路径} 示例: $a = 1 ${!@#$%^&*()}=3 $global:a = 1 # 在所有位置可见 $local:a = 1 # 在此作用域中定义且对子作用域可见 $private:a=1 # 与本地作用域相同,但对子作用域不可见 $script:a=1 # 对此脚本中的所有作用域均可见 $env:path = “d:\windows” ${C:\TEMP\testfile.txt}=”这将写入文件” Get-Variable –scope 1 a #从父作用域获取值 Get-Variable –scope 2 a # 祖父 While (脚本) [:label] while (condition) { … } do { … } while (condition) 分析 Windows PowerShell 可以按两种模式进行分析 -- 命令模式和表达式模式。在表达式模式下,Windows PowerShell 以最高级别语言分析方法来进行分析:若为数字,则原样表示该数字;若为字符串,则需要加引号,依此类推。表达式的表示方法如下所示: 2+2 4 "Hello" + " world" Hello world $a = "hi" $a.length * 13 26 在命令模式下进行分析时,字符串不需要加引号,除变量和圆括号中的内容外的所有内容均可看作字符串。例如: copy users.txt accounts.txt 可将 users.txt 和 accounts.txt 视为字符串 write-host 2+2 可将 2+2 视为字符串,而不是要计算结果的表达式 copy $src $dest $src 和 $dest 是变量。从长远的角度来看,如果在命令外壳程序中工作时不需要使用引号,则大有裨益,因为这大大减少了所需的键入量。

使用PowerShell实现常用网络命令

PowerShell是Windows Server 2008中的专门为系统管理员设计的一个新特性,利用PowerShell可以在命令行下实现强大的功能。本文通过一些例子,介绍了PowerShell如何实现常见网络命令,最后通过一个组合例子,介绍了PowerShell的两大特点。 如果要求我们的Windows网络管理员在进行每天的管理操作时,都采用命令行的字符界面的方式,估计大多数的Windows的管理员都将反对这种做法,因为Windows的命令行工具的功能一向都很薄弱。随着的Windows PowerShell的发布,这种情况将得以改变。PowerShell可以让管理员们在命令行界面下,做很多以前做不了的事情。 在本文中,我们介绍如何使用PowerShell命令行来执行一些常见的网络功能。 1.什么是PowerShell? PowerShell是Windows Server 2008的一个新特性。要安装PowerShell,你需要在新增功能向导中选择安装Powershell特征,一分钟左右即可完成安装,之后您就可以体会到惊人的命令行脚本语言。与Windows中其他脚本语言不同的是,PowerShell是专门为系统管理员设计的。Powershell需要用到.NET框架和cmdlets命令集。作为PowerShell的用户,您可以使用系统自带的cmdlets,也可以自定义cmdlets,扩展实现更强大的功能。 一旦你安装了PowerShell,您可以在开始菜单->所有程序中看到Windows PowerShell 1.0这一项,点击其中的Windows PowerShell选项。这时,你就可以看到一个蓝色的CLI窗口,如下图所示: 图1:Windows Powershell命令行窗口 在每个提示行之前,都有一句: 时刻提醒你,目前正在PowerShell命令行中。 现在让我们来看看如何使用PowerShell来完成一些常见的网络命令。 2.列出服务器的IP地址 在Windows 2008中使用以下命令行,可以列出服务器IP地址: 你可以看到类似以下的输出结果:

经典PowerShell入门教程

PowerShell基础教程

PowerShell 开发代号为Monad,是支持Windows XP/Server 2003/Vista/Server 2008操作系统的脚本语言。包括Cmd.exe 、SH、KSH、CSH以及BASH Unix在内的大多数外壳程序的操作方式都是在新的进程中执行命令或实用工具程序,并以文本格式向用户显示结果。多年以来,许多文本处理实用工具程序,如sed、AWK 和PERL,都已逐渐发展为支持这种交互模式。 这些外壳程序也会提供内置于外壳程序中并在外壳程序处理器中执行的命令,例如KSH 中的typeset命令和以及 Cmd.exe 中的dir命令。在大多数外壳程序中,由于内置命令数量少,从而导致许多实用工具程序应运而生。 针对这一点,Windows PowerShell 有不同的做法。 ◆ Windows PowerShell 并不处理文本,而是处理以.NET平台为基础的对象; ◆Windows PowerShell 附带了数量庞大的内置命令集和一致的接口; ◆对于各个工具,全部的外壳程序命令都使用相同的命令剖析器,而非使用不同的剖析器,这项特点会使你更容易学会每种命令的使用方式。 其中最棒的就是你完全不需要舍弃已使用习惯的工具,你可以继续在Windows PowerShell 中使用诸如Net、SC 和 Reg.exe 等传统的 Windows 工具。 Windows PowerShell Cmdlet Cmdlet (发音如“command-let”) 是指在 Windows PowerShell 中用来操作对象的单一功能命令。你可以依据其名称格式来加以辨识Cmdlet -- 以破折号 (-) 分隔的动词和名词,例如Get-Help、Get-Process 和 Start-Service。 在传统的外壳程序中,命令是极为简单 (例如 attrib.exe) 到极为复杂 (例如 netsh.exe) 范围内的可执行程序。 在 Windows PowerShell 中,大多数Cmdlet都相当简单,而且设计成与其他Cmdlet结合使用。例如,"get" Cmdlet只提取数据,"set" Cmdlet只创建或修改数据,"format" Cmdlet只格式化数据,而 "out" Cmdlet只将输出导向到指定的目的地。每种Cmdlet都具备可在输入下列命令时加以显示的说明文件:get-help -detailed

vmware-powercli 用户命令管理手册

VMware PowerCLI User's Guide VMware PowerCLI 6.5.4

VMware PowerCLI User's Guide You can find the most up-to-date technical documentation on the VMware website at: https://https://www.wendangku.net/doc/2e9138258.html,/ If you have comments about this documentation, submit your feedback to docfeedback@https://www.wendangku.net/doc/2e9138258.html, VMware, Inc. 3401 Hillview Ave. Palo Alto, CA 94304 https://www.wendangku.net/doc/2e9138258.html, Copyright ? 1998–2017 VMware, Inc. All rights reserved. Copyright and trademark information.

Contents VMware PowerCLI User's Guide8 1Introduction to VMware PowerCLI9 Microsoft PowerShell Basics9 PowerShell Command-Line Syntax10 PowerShell Pipelines10 PowerShell Wildcards10 PowerShell Common Parameters10 PowerCLI Concepts11 PowerCLI Modules12 Interoperability Between the PowerCLI and vCloud Director PowerCLI Modules13 Selecting Objects in PowerCLI14 Providing Login Credentials15 Running PowerCLI Cmdlets Asynchronously15 Managing Default Server Connections16 Customization Specification Objects in PowerCLI16 Using ESXCLI with PowerCLI16 PowerCLI Inventory Provider17 PowerCLI Datastore Provider17 PowerCLI About Articles17 2Installing VMware PowerCLI19 Supported Operating Systems20 Supported VMware Products20 Supported Windows PowerShell Versions20 Prerequisites for Installing and Running PowerCLI20 Install PowerCLI20 Allow Execution of Local Scripts21 Update a PowerCLI Module21 Uninstall PowerCLI22 3Configuring VMware PowerCLI23 Scoped Settings of PowerCLI23 Configuring the Scope of the PowerCLI Settings23 Priority of Settings Scopes in PowerCLI24 PowerCLI Configuration Files24 Using Custom Scripts to Extend the Operating System Support for PowerCLI Cmdlets25

PowerShell的Exit与Return

PowerShell的Exit关键字与Return关键字,以及自动变量$?和$LastExitCode ——与Unix Shell的比较 最近因为工作关系,第一次接触PowerShell。因为之前接触的都是Unix Shell,所以在刚开始用PowerShell的时候,把Unix的想法与概念带到PowerShell中,到最后才发现二者之间很多东西都是不一样的。 关于这次的工作内容,主要任务是把原来在Unix上写的Shell用PowerShell再实现一下。需求与接口都要求与原来的一样(实际上谁也不想改这些东西)。 一、Exit关键字 语法:Exit [状态值] 这个不用想都知道是退出命令,中止当前的执行。但是这里面却是一大堆的陷阱。 在Unix Shell中,只要Exit被执行,不管Shell之间用source命令有多少层读取关系,都会中止所以执行,并且设置退出状态值。状态值在执行结束之后用$?来确认。一切都很清楚。 但是在PowerShell中却变得比较复杂。先看一下PowerShell2.0中关于Exit的说明,少得可怜。另外,在《Window PowerShell应用手册》里关于Exit也没有特别的说明。

对PowerShell中Exit的命令,分成下面三种情况。 1、在脚本中直接执行。 2、在用source读取的脚本中执行。 3、在函数中执行。 分别用例子来说明。 1、在脚本中直接执行。 这种情况下和Unix Shell是一样的,都是中止脚本的执行。 不同的是在PowerShell中自动变量$?是一个布尔值,因为退出代码不是0而是50,所以执行结束是失败(False);自动变量$LastExitCode里保存的则是退出代码。 2、在用source读取的脚本中执行。 用testMain.ps1文件读取上一个例子中的脚本。可以看到即使test1.ps1的执行了Exit命令并中止了执行,但是testMain.ps1却还是继续执行后面的命令。 这一点和Unix Shell完全不一样。

windowsCMD命令大全

aCMD命令:开始->运行->键入cmd或command(在命令行里可以看到系统版本、文件系统版本) 1. appwiz.cpl:程序和功能 2. calc:启动计算器 3. certmgr.msc:证书管理实用程序 4. charmap:启动字符映射表 5. chkdsk.exe:Chkdsk磁盘检查(管理员身份运行命令提示符) 6. cleanmgr: 打开磁盘清理工具 7. cliconfg:SQL SERVER 客户端网络实用工具 8. cmstp:连接管理器配置文件安装程序 9. cmd.exe:CMD命令提示符 10. 自动关机命令 Shutdown -s -t 600:表示600秒后自动关机 shutdown -a :可取消定时关机 Shutdown -r -t 600:表示600秒后自动重启 rundll32 user32.dll,LockWorkStation:表示锁定计算机 11. colorcpl:颜色管理,配置显示器和打印机等中的色彩 12. CompMgmtLauncher:计算机管理 13. compmgmt.msc:计算机管理 14. credwiz:备份或还原储存的用户名和密码 15. comexp.msc:打开系统组件服务 16. control:控制面版 17. dcomcnfg:打开系统组件服务 18. Dccw:显示颜色校准 19. devmgmt.msc:设备管理器 20. desk.cpl:屏幕分辨率 21. dfrgui:优化驱动器Windows 7→dfrg.msc:磁盘碎片整理程序 22. dialer:电话拨号程序 23. diskmgmt.msc:磁盘管理 24. dvdplay:DVD播放器 25. dxdiag:检查DirectX信息 26. eudcedit:造字程序 27. eventvwr:事件查看器 28. explorer:打开资源管理器 29. Firewall.cpl:Windows防火墙 30. FXSCOVER:传真封面编辑器 31. fsmgmt.msc:共享文件夹管理器 32. gpedit.msc:组策略 33. hdwwiz.cpl:设备管理器 34. inetcpl.cpl:Internet属性 35. intl.cpl:区域 36. iexpress:木马捆绑工具,系统自带 37. joy.cpl:游戏控制器 38. logoff:注销命令

PowerShell基本语法及常用命令

PowerShell基本语法及常用命令 Powershell常用命令 1.Get-Command 得到Powshell所有命令 2.Get-Process 获取所有进程 3.Set-Alias 给指定命令重命名如:Set-Alias aaa Get-Command 4.Set-ExecutionPolicy remotesigned 设置powershell可直接执行脚本文件一般脚本文件以.ps1结尾执行脚本文件直接输入文件地址即可执行脚本文件中只写命令即可 5.Get-Help get-* 查询以get开头的命令Get-Help *service* Get-Help Get-Command 获取Get-Command命令的基本用法 6.Get-Member 获取对象属性如: $var | Get-Memeber 访问$var属性直接$var.T oString() PS中的变量定义 不需要定义或声明数据类型 在变量前加"$" 定义变量的规则 -变量可以是数字$123 -变量可以是字符串$abc -变量可以是特殊字符${@1b} 内置的变量 -$pshome -$home

-$profile 变量赋值: $var=123 $var="aaaaaa" 取变量值: $var 变量赋值方法:Set-Variable var 100 取值方法: Get-Variable var 清空值: Clear-Variable var 删除变量Remove-Variable var 取多个变量如var1 var2 var3地值: Get-Variable var* 另一种赋值方法$var1="bbb" $var2="$var $var1" 结果$var2="aaaaaa bbb" $var2='$var $var1' 结果$var2="$var $var1" $date=Get-Date 获取当前时间 $date.AddDays(3) 当前时间加3天 排序用法 Get-Process | Sort-Object ws 根据WS值由小到大排序 Get-Process | Sort-Object | fl Get-Process | Sort-Object | Format-List 以列表形式显示数据 导入导出文件 Get-Process > c:\aa.txt

Powershell实现Exchange 2010邮箱发送大小接收限制

Powershell实现Exchange 2010邮箱发送大小接收限制 1.查询所有MaxSendSize和MaxReceiveSize值均为unlimited的用户: Get-Mailbox -Resultsize Unlimited | Where-Object{$_.MaxSendSize -eq "unlimited" -and $_.MaxReceiveSize -eq "unlimited"} | Select-Object DisplayName,MaxSendSize,MaxReceiveSize 2.查询所有MaxSendSize或MaxReceiveSize值为unlimited的用户: Get-Mailbox -Resultsize Unlimited | Where-Object{$_.MaxSendSize -eq "unlimited" -or $_.MaxReceiveSize -eq "unlimited"} | Select-Object DisplayName,MaxSendSize,MaxReceiveSize 3.Get出所有MaxSendSize和MaxReceiveSize值均为unlimited的用户,并把这些用户批量设置MaxSendSize,MaxReceiveSize 值为10MB Get-Mailbox -Resultsize Unlimited | Where-Object{$_.MaxSendSize -eq "unlimited" -and $_.MaxReceiveSize -eq "unlimited"} | Set-Mailbox -MaxSendSize 10Mb -MaxReceiveSize 10Mb

Powershell静态数组的使用

Powershell数组的使用 一、数组的创建 a)使用@()来声明数组,或者直接”,”来分隔创建 ●通过此种方式创建的数组为固定大小的数组,无法使用add、remove等操作; b)空数组和单元素数组的定义 二、数组的使用 a)数组的访问, 访问数组时可通过对数组元素使用索引寻址,第一个元素的索引地址为0,依次递加,第n个元素的索引地址为n-1,最后一个元素的索引地址为count-1,也可以直接使用-1来替代; 当需要输出多个索引地址时,可以使用“,”分隔来进行选取; 数组的逆序输出$Array3[($Array3.Count-1)..0] b)数组元素的添加和删除 在PowerShell中,数组其实是一个大小固定的数据结构,如果需要向数组中添加更多的对象时,就必须使用加号“+”运算符。在执行“+”操作的过程中,PowerShell实际上进行了下述操作: 首先创建一个新的数组,该数组的大小能够存下运算结果的所有对象; 将第一个数组的成员拷贝到新数组中; 将第二个数组的成员拷贝到新数组中。;

元素的删除则相当于同时选择数组中的多个元素并将其重新定义为一个新数组; 数组添加空值,$Array1 += $null c)数组的复制 数组属于引用类型,使用默认的的赋值运算符在两个变量之间赋值只是复制了一个引用,两个变量共享同一份数据,这样当你对数组的元素进行修改时就会修改到原数据,导致所有复制的数组元素都会改变。 复制数组最好使用Clone()方法,这样就会产生两份数据。 d)数组的强类型和弱类型 Powershell数组一般具有多态性,如果你不指定元素的具体类型,解释器会自动选择合适的类型存储每个元素。 即在默认情况下,数组中元素的类型为弱类型,默认可以存储不同类型的值。 可以通过指定数组的类型来将数组转换为强类型,即只能存储某种指定类型的值,在输入其他类型的值后会

powershell命令

Get-Command Cmdlet 获取有关cmdlet 的基本信息,以及有关Powershell Get-Help Cmdlet 显示有关Windows PowerShell cmdlet 和概-念的信息。 Get-History Cmdlet 获取在当前会话中输入的命令的列表。 Invoke-History Cmdlet 从会话历史记录中运行命令。 Add-History Cmdlet 向会话历史记录追加条目。 ForEach-Object Cmdlet 针对每一组输入对象执行操作。 Where-Object Cmdlet 创建控制哪些对象沿着命令管道传递的筛选器。 Set-PSDebug Cmdlet 打开和关闭脚本调试功能,设置跟踪级别并切换strict 模式。 Add-PSSnapin Cmdlet 将一个或多个Windows PowerShell 管理单元添加到当 前控制台。 Remove-PSSnapin Cmdlet 从当前控制台中删除Windows PowerShell 管理单元。 Get-PSSnapin Cmdlet 获取计算机上的Windows PowerShell 管理单元。 Export-Console Cmdlet 将当前控制台的配置导出到文件中,以便对其进行重用或共享。 Start-Transcript Cmdlet 在文本文件中创建全部或部分Windows PowerShell 会话的记录。 Stop-Transcript Cmdlet 停止脚本。 Add-Content Cmdlet 向指定项中添加内容。 Clear-Content Cmdlet 删除项的内容(例如从文件中删除文本),但不删除该项。 Clear-ItemProperty Cmdlet 删除属性的值,但不删除该属性。 Join-Path Cmdlet 将路径和子路径合并到单个路径中。提供程序将提供路径分隔符。 Convert-Path Cmdlet 将路径从Windows PowerShell 路径转换为Window Copy-ItemProperty Cmdlet 将属性和值从指定的位置复制到另一个位置。 Get-EventLog Cmdlet 获取与本地事件日志或其中存储的条目有关的信息。

powershell所有命令公布解析

powershell所有命令公布! Split-Path Cmdlet 返回指定的路径部分。 Test-Path Cmdlet 确定路径的所有元素是否存在。 Get-Process Cmdlet 获取在本地计算机上运行的进程。 Stop-Process Cmdlet 停止一个或多个正在运行的进程。Remove-ItemProperty Cmdlet 从注册表项中删除属性及其值。Rename-ItemProperty Cmdlet 重命名项的属性。 Resolve-Path Cmdlet 解析路径中的通配符并显示路径内容。 Get-Service Cmdlet 获取本地计算机上的服务。 Stop-Service Cmdlet 停止一个或多个正在运行的服务。 Start-Service Cmdlet 启动一个或多个已停止的服务。 Suspend-Service Cmdlet 挂起(暂停)一个或多个正在运行的服务。Resume-Service Cmdlet 恢复一项或多项挂起(暂停的)服务。Restart-Service Cmdlet 停止并接着启动一个或更多服务。 Set-Service Cmdlet 更改服务的显示名称、说明或启动模式。

New-Service Cmdlet 在注册表和服务数据库中为Windows 服务创建新项。 Set-Content Cmdlet 在项中写入内容或用新内容替换其中的内容。 Set-ItemProperty Cmdlet 设置位于指定位置的属性的值。 Get-Acl Cmdlet 获取资源(例如文件或注册表项)的安全描述符。 Set-Acl Cmdlet 更改指定资源(例如文件或注册表项)的安全描述符。 Get-PfxCertificate Cmdlet 获取计算机上 .pfx 证书文件的相关信息。 Get-Credential Cmdlet 获取基于用户名和密码的凭据对象。 Get-ExecutionPolicy Cmdlet 获取外壳程序的当前执行策略。 Set-ExecutionPolicy Cmdlet 更改外壳程序执行策略的用户首选项。 Get-AuthenticodeSignature Cmdlet 获取文件中有关Authenticode 签名的信息。 Set-AuthenticodeSignature Cmdlet 使用Authenticode 签名对Windows PowerShell 脚本或其他文件进 行签名。 ConvertFrom-SecureString Cmdlet 将安全字符串转换为加密的标准字符串。 ConvertTo-SecureString Cmdlet 将加密的标准字符串转换为安全字符串。它还可以将纯文本转换为安 全字符串。此命令与ConvertFrom-Secu... Format-List Cmdlet 将输出的格式设置为属性列表,其中每个属性均各占一行显示。

Windows 7 PowerShell 详解

Windows Windows 7 7 7 PowerShell PowerShell PowerShell 详解 Windows PowerShell 是微软公司为Windows 环境所开发的壳程式(shell)及脚本语言技术,采用的是命令行界面。这项全新的技术提供了丰富的控制与自动化的系统管理能力。 UNIX 系统一直有着功能强大的壳程式(shell),Windows PowerShell 的诞生就是要提供功能相当于UNIX 系统BASH 的命令列壳程式,同时也内建脚本语言以及辅助脚本程式的工具。 系统维护、管理中大家常在命令提示符(cmd.exe)下进行操作,对Windows PowerShell 鲜有接触或者使用。其实在微软的计划中,Windows PowerShell 将成为CDM 的继任者,是下一代命令行工具。Windows PowerShell 目前最高版本为2.0,并且已经集成到Windows Server 2008及Windows 7中。Windows PowerShell 使得IT 管理员更容易地控制系统管理和加速自动化,作为系统管理员应该掌握和使用它。笔者因为工作需要开始学习Windows PowerShell,下面和大家分享几个非常实用的Windows PowerShell 应用实例。 1、Windows PowerShell 的安装 在Windows Server 2008中已经集成了Windows PowerShell,不过默认情况下并没有安装,大家可以在服务管理器中进行安装而不用从网上下载。对于Windows 7的用户系统已经默认安装了Windows PowerShell 2.0,直接使用就可以了。对于其他版本的Windows 用户可以微软的网站 https://www.wendangku.net/doc/2e9138258.html,/downloads/details.aspx?FamilyID=60deac2b-975b-41e6-9fa0-c2fd6aa6bc89&DisplayLang=en 下载。 程式特性 一致性的设计让所有工具和系统资料的使用语法、命名原则都相同。 脚本语言简单易学,而且能支援现有的脚本程式和命令列工具。 内含129种称为cmdlet 的标准工具,可用来处理常见的系统管理工作。 具备完整的扩充功能,独立软件商或开发者都能很容易的自行扩充。 cmdlet 是Windows PowerShell 的指令,发音念法为command-let。这相当于D O S 或其他壳程式的内建指令,指令名称的格式都是以连字号(-)隔开的一对动词和名词,并且通常都是单数名词;例如线上查询说明的cmdlet 指令为get-help,名称的动词部分大致有get、set、add、remove 等等(字母都不分大小写)。 Windows PowerShell 是以.N E T Framewor k 技术为基础,并且与现有的WSH 保持回溯相容,因此它的脚本程式不仅能存取.N E T CL R ,也能使用现有的C O M 技术。同时也包含了数种系统管理工具、简易且一致的语法,提升管理者处理,常见如登录数据库、WMI。

SQL Server 2008基础教程

前言 前言 本书针对那些想成为开发人员、数据库管理员或者兼为两者,但对SQL Server 2008还不熟悉的读者。无论你是否拥有数据库知识,是否了解桌面数据库(如Microsoft Access),甚至是否具有服务器(如Oracle)的背景,本书都能为你提供SQL Server 2008入门和运行的知识。 从现在开始,本书将使你的基础知识得以扩展,让你很快从初学者成长为合格的专业开发人员。本书面向广大开发人员,从喜欢使用图形界面的程序员,到希望成为SQL Server 2008编程语言Transact SQL(T-SQL)高手的程序员。本书将尽可能贴近实际地演示、说明和展开叙述每一种使用SQL Server 2008的方法,以便你能够判断哪种方式最适合自己。 本书包含大量的示例,以使你了解SQL Server的各个领域是如何工作的,以及怎样才能把技术应用到自己的工作中。你将学习完成某项任务的最佳方法,你甚至能学会在面临两个或更多的选择时,如何做出正确的决策。只要学习完本书,你就能游刃有余地设计和创建坚实可靠的数据库解决方案。 本书的结构 本书将帮助你决定购买SQL Server 2008的哪种版本,为你展示如何安装和配置SQL Server 2008,并阐释如何使用图形用户界面工具SSMS(SQL Server Management Studio)。你将使用该工具完成一个功能完备的数据库示例,该数据库根据本书中介绍的设计方案,利用图形的和基于代码的练习创建而成。然后,你将学习数据库安全方面的知识,并了解如何实施安全可靠的数据库设置。只要备份了数据库,你就可以学习如何操作数据。先从简单的代码编写技术入手,逐渐过渡到更加复杂的技术。最后的任务是在数据库上创建和生成报表。本书会贯穿始终地说明每一个细节,告知你正在发生什么,并确保随着对本书阅读的深入,你将在从之前章节中获取的知识上,不断提高。你将以一种有条理、有组织的方式发展构筑自己的专业知识。 必要准备 要学习本书,你必须有SQL Server 2008开发版本的完整版或评估版。此外,如果想要为特定的Windows登录更改安全设置,有Windows Vista旗舰版或商业版将十分理想,但并非必须如此。 代码下载

PowerShell基础教程

PowerShell基础教程一:Windows PowerShell简介 XP/Server 2003/Vista/Server 2008操作系统的脚本语言。包括 Cmd.exe 、SH、KSH、CSH以及BASH Unix在内的大多数外壳程序的操作方式都是在新的进程中执行命令或实用工具程序,并以文本格式向用户显示结果。多年以来,许多文本处理实用工具程序,如sed、AWK 和 PERL,都已逐渐发展为支持这种交互模式。 这些外壳程序也会提供内置于外壳程序中并在外壳程序处理器中执行的 命令,例如KSH 中的typeset命令和以及 Cmd.exe 中的 dir 命令。在大多数外壳程序中,由于内置命令数量少,从而导致许多实用工具程序应运而生。 针对这一点,Windows PowerShell 有不同的做法。 ◆ Windows PowerShell 并不处理文本,而是处理以.NET平台为基础的对象; ◆Windows PowerShell 附带了数量庞大的内置命令集和一致的接口; ◆对于各个工具,全部的外壳程序命令都使用相同的命令剖析器,而非使用不同的剖析器,这项特点会使你更容易学会每种命令的使用方式。 其中最棒的就是你完全不需要舍弃已使用习惯的工具,你可以继续在Windows PowerShell 中使用诸如Net、SC 和 Reg.exe 等传统的 Windows 工具。 Windows PowerShell Cmdlet Cmdlet (发音如“command-let”) 是指在 Windows PowerShell 中用来操作对象的单一功能命令。你可以依据其名称格式来加以辨识 Cmdlet -- 以破折号 (-) 分隔的动词和名词,例如Get-Help、Get-Process 和 Start-Service。 在传统的外壳程序中,命令是极为简单 (例如 attrib.exe) 到极为复杂 (例如 netsh.exe) 范围内的可执行程序。 在 Windows PowerShell 中,大多数Cmdlet 都相当简单,而且设计成与其他Cmdlet 结合使用。例如,"get" Cmdlet 只提取数据,"set" Cmdlet 只创建或修改数据,"format" Cmdlet 只格式化数据,而 "out" Cmdlet 只将输出导向到指定的目的地。每种 Cmdlet 都具备可在输入下列命令时加以显示的说明文件:

最新整理使用PowerShell让局域网电脑集体重启方法步骤

使用P o w e r S h e l l让局域网电脑集体重启方法步骤局域网可以实现文件管理、应用软件共享、打印机共享、工作组内的日程安排、电子邮件和传真通信服务等功能。除了文件共享功能,还有一个不太常用但很方便的就是群重启,让局域网内所有主机重启,对于大型局域网,多台主机的领域很有用,下面我们就一起来看看群重启命令吧! W i n d o w s10使用P o w e r S h e l l让局域网电脑集体重启的方法: 1、单机重启 这个功能比较简单,命令也容易,只不过重启还得用命令就显得有点麻烦。命令格式如下: 01R e s t a r t-C o m p u t e r 提示:这个命令执行后,系统会立刻重启,所以如果电脑没准备好,小心手滑。 2、集体重启 如果是让两台以上电脑重启,采用这个方式就比较方便,总比挨个去点重启要方便得多,适用于局域网管理员,命令格式如下: 01R e s t a r t-C o m p u t e r-C o m p u t e r N a m e S e r v e r01,

S e r v e r02,l o c a l h o s t 提示:引号中的内容为具体电脑在局域网中的名称,而l o c a l h o s t为本机。 3、远程重启 对于远程计算机,可以设置重启延迟时间,命令示例如下: 01R e s t a r t-C o m p u t e r-C o m p u t e r N a m e S e r v e r01 -W a i t-F o r P o w e r S h e l l-T i m e o u t600-D e l a y5提示:其中的600是秒数,600秒就是10分钟。该命令就是让远程计算机最多等待P o w e r S h e l l启动完毕十分钟;延迟为5秒,意为每5秒查询一次P o w e r S h e l l 启动情况。如果在十分钟内P o w e r S h e l l启动,则在发现成功启动后立即重启;如果十分钟到时后仍未启动 P o w e r S h e l l,则远程电脑将重启。 补充:局域网经常断线解决方法 进一步排查判断水晶头久了是否氧化,重做末端一端水晶头,故障没有排除,测试仪测试,8线全通的,可是故障依旧出现,上一会儿就掉线。 继续排查上端一端水晶头和端口,切换端口无效,重新做另一端水晶头,现在问题来了,网络干脆不通,

如何使用PowerShell脚本程序

如何使用PowerShell脚本程序 通过Windows 10漂亮的界面,我们可以使用PowerShell大胆地进入到操作系统隐蔽的空间,使用隐秘的Windows功能。 大部分Windows用户通过鼠标和对话框进行操作,但是如果我们想控制操作系统的所有选项、深入挖掘系统的功能,那么我们需要使用PowerShell,通过PowerShell我们可以更 轻松地管理各项功能选项,更有效地完成工作任务,还可以通过脚本实现自动化的工作流程。 不过,我们需要记住,PowerShell中的一些命令对于系 统的影响极大,因而,必须小心谨慎地使用这个强大的工具。下面,我们将通过一些简单的例子为大家介绍PowerShell中的一些基本功能。 启动PowerShell 在Windows 10中要打开PowerShell应用程序,只需在 任务栏的搜索字段中键入“PowerShell”,并点击搜索结果中的“Windows PowerShell”,即可打开白色字体和深蓝色背景的PowerShell控制台窗口。 创建快捷方式

为了以后能够更快地启动PowerShell,我们可以将应用程序的快捷方式固定到“开始”屏幕或者任务栏上。我们可以在步骤1搜索“PowerShell”,然后右键单击“Windows PowerShell”并选择自己需要的选项。如果我们选择固定到“开始”屏幕,那么接下来我们可以使用鼠标拖动快捷方式,将其安排到“开始”屏幕中适当的分组中或者创建一个新的分组。 配置PowerShell PowerShell控制台窗口中默认采用白色字体和深蓝色背景,如果这不符合我们的使用习惯或者默认的字体太小,那么我们可以通过其配置功能修改默认的设置。首先,右键单击控制台窗口边缘,在弹出的菜单中选择“属性”。在“选项”选项卡上我们可以修改光标的大小,在“字体”、“布局”和“颜色”选项卡上我们可以尝试修改各种不同的颜色搭配以及根据自己的需要修改字体的大小。如果设置的效果令我们满意,那么可以单击下方的“确定”按钮存储当前设置。 使用帮助系统 大部分用户对于PowerShell命令是完全陌生的。我们需要了解和熟悉PowerShell命令,才能够充分发挥其作用。获取PowerShell命令的帮助信息,最简单的方法是键入命令“get-help”。除了默认的帮助命令之外,我们还可以附加参数来获取特定命令的帮助信息,也就是在“get-help”之后加

相关文档