Windows Powershell 执行外部命令

Powershell 能够像CMD一样很好的执行外部命令。

通过netstat查看网络端口状态

PS C:\PS> netstat

Active Connections

 Proto Local Address     Foreign Address    State
 TCP  192.168.0.100:3049  192.168.0.88:7575    ESTABLISHED
 TCP  192.168.0.100:3052  192.168.0.88:7575    ESTABLISHED
 TCP  192.168.0.100:3061  192.168.0.88:7575    ESTABLISHED

通过IPConfig查看自己的网络配置

PS C:\PS> ipconfig

Windows IP Configuration

Ethernet adapter Local Area Connection:

  Connection-specific DNS Suffix . : www.mossfly.com
  Link-local IPv6 Address . . . . . : fe80::b9dd:91e33:33f0:7885%10
  IPv4 Address. . . . . . . . . . . : 192.168.140.100
  Subnet Mask . . . . . . . . . . . : 255.255.252.0
  Default Gateway . . . . . . . . . : 192.168.140.1

Tunnel adapter isatap.www.mossfly.com:

  Connection-specific DNS Suffix . : www.mossfly.com
  Link-local IPv6 Address . . . . . : fe80::5efe:192.168.140.100%11
  Default Gateway . . . . . . . . . :

Tunnel adapter Teredo Tunneling Pseudo-Interface:

  Media State . . . . . . . . . . . : Media disconnected
  Connection-specific DNS Suffix . :

route print查看路由信息

PS C:\PS> route print
IPv4 Route Table
===========================================================================
Active Routes:
Network Destination    Netmask     Gateway    Interface Metric
     0.0.0.0     0.0.0.0   192.168.140.1  192.168.140.100   20
    192.0.0.0    255.0.0.0     On-link     192.0.0.1  306
    192.0.0.1 255.255.255.255     On-link     192.0.0.1  306
 192.255.255.255 255.255.255.255     On-link     192.0.0.1  306
   192.168.140.0  255.255.252.0     On-link  192.168.140.100  276
  192.168.140.100 255.255.255.255     On-link  192.168.140.100  276
  192.168.143.255 255.255.255.255     On-link  192.168.140.100  276
    224.0.0.0    240.0.0.0     On-link     192.0.0.1  306
    224.0.0.0    240.0.0.0     On-link  192.168.140.100  276
 255.255.255.255 255.255.255.255     On-link     192.0.0.1  306
 255.255.255.255 255.255.255.255     On-link  192.168.140.100  276
===========================================================================
Persistent Routes:
 None

IPv6 Route Table
===========================================================================
Active Routes:
 If Metric Network Destination   Gateway
 1  306 ::1/128         On-link
 10  276 fe80::/64        On-link
 11  281 fe80::5efe:192.168.140.100/128
                  On-link
 10  276 fe80::b965:91f3:33a0:7285/128
                  On-link
 1  306 ff00::/8         On-link
 10  276 ff00::/8         On-link
===========================================================================
Persistent Routes:
 None

启动CMD控制台

启动CMD控制台键入cmd或者cmd.exe,退出cmd可以通过命令exit。

PS C:\PS> cmd
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.

C:\PS>exit
PS C:\PS>

查找可用的Cmd控制台命令

Cmd.exe 通过 /c 来接收命令参数,在Cmd中help可以查看可用的命令,所以可以通过Cmd c help 查找可用的Cmd控制台命令

PS C:\PS> cmd /c help
有关某个命令的详细信息,请键入 HELP 命令名
ASSOC     显示或修改文件扩展名关联。
ATTRIB     显示或更改文件属性。
BREAK     设置或清除扩展式 CTRL+C 检查。
BCDEDIT    设置启动数据库中的属性以控制启动加载。
CACLS     显示或修改文件的访问控制列表(ACL)。
CALL      从另一个批处理程序调用这一个。
CD       显示当前目录的名称或将其更改。
CHCP      显示或设置活动代码页数。
CHDIR     显示当前目录的名称或将其更改。
CHKDSK     检查磁盘并显示状态报告。
CHKNTFS    显示或修改启动时间磁盘检查。
CLS      清除屏幕。
CMD      打开另一个 Windows 命令解释程序窗口。
COLOR     设置默认控制台前景和背景颜色。
COMP      比较两个或两套文件的内容。
COMPACT    显示或更改 NTFS 分区上文件的压缩。
CONVERT    将 FAT 卷转换成 NTFS。您不能转换
        当前驱动器。
COPY      将至少一个文件复制到另一个位置。
DATE      显示或设置日期。
DEL      删除至少一个文件。
DIR      显示一个目录中的文件和子目录。
DISKCOMP    比较两个软盘的内容。
DISKCOPY    将一个软盘的内容复制到另一个软盘。
DISKPART    显示或配置磁盘分区属性。
DOSKEY     编辑命令行、调用 Windows 命令并创建宏。
DRIVERQUERY  显示当前设备驱动程序状态和属性。
ECHO      显示消息,或将命令回显打开或关上。
ENDLOCAL    结束批文件中环境更改的本地化。
ERASE     删除一个或多个文件。
EXIT      退出 CMD.EXE 程序(命令解释程序)。
FC       比较两个文件或两个文件集并显示它们之间的不同。
FIND      在一个或多个文件中搜索一个文本字符串。
FINDSTR    在多个文件中搜索字符串。
FOR      为一套文件中的每个文件运行一个指定的命令。
FORMAT     格式化磁盘,以便跟 Windows 使用。
FSUTIL     显示或配置文件系统的属性。
FTYPE     显示或修改用在文件扩展名关联的文件类型。
GOTO      将 Windows 命令解释程序指向批处理程序
        中某个带标签的行。
GPRESULT    显示机器或用户的组策略信息。
GRAFTABL    启用 Windows 在图形模式显示扩展字符集。
HELP      提供 Windows 命令的帮助信息。
ICACLS     显示、修改、备份或还原文件和
 目录的 ACL。
IF       在批处理程序中执行有条件的处理过程。
LABEL     创建、更改或删除磁盘的卷标。
MD       创建一个目录。
MKDIR     创建一个目录。
MKLINK     创建符号链接和硬链接
MODE      配置系统设备。
MORE      逐屏显示输出。
MOVE      将一个或多个文件从一个目录移动到另一个目录。
OPENFILES   显示远程用户为了文件共享而打开的文件。
PATH      为可执行文件显示或设置搜索路径。
PAUSE     停止批处理文件的处理并显示信息。
POPD      还原由 PUSHD 保存的当前目录上一次的值。
PRINT     打印一个文本文件。
PROMPT     改变 Windows 命令提示。
PUSHD     保存当前目录,然后对其进行更改。
RD       删除目录。
RECOVER    从损坏的磁盘中恢复可读取的信息。
REM      记录批处理文件或 CONFIG.SYS 中的注释。
REN      重新命名文件。
RENAME     重新命名文件。
REPLACE    替换文件。
RMDIR     删除目录。
ROBOCOPY    复制文件和目录树的高级实用程序
SET      显示、设置或删除 Windows 环境变量。
SETLOCAL    开始用批文件改变环境的本地化。
SC       显示或配置服务(后台处理)。
SCHTASKS    安排命令和程序在一部计算机上按计划运行。
SHIFT     调整批处理文件中可替换参数的位置。
SHUTDOWN    让机器在本地或远程正确关闭。
SORT      将输入排序。
START     打开单独视窗运行指定程序或命令。
SUBST     将驱动器号与路径关联。
SYSTEMINFO   显示机器的具体的属性和配置。
TASKLIST    显示包括服务的所有当前运行的任务。
TASKKILL    终止正在运行的进程或应用程序。
TIME      显示或设置系统时间。
TITLE     设置 CMD.EXE 会话的窗口标题。
TREE      以图形显示启动器或路径的目录结构。
TYPE      显示文本文件的内容。
VER      显示 Windows 的版本。
VERIFY     告诉 Windows 验证文件是否正确写入磁盘。
VOL      显示磁盘卷标和序列号。
XCOPY     复制文件和目录树。
WMIC      在交互命令外壳里显示 WMI 信息。

启动外部程序

为什么可以通过notpad打开记事本,不能通过wordpad打开写字板?
因为notepad.exe位于C:Windows\system32 这个目录,而这个目录已经默认被包含在Powershell的环境变量$env:Path中。

C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files (x
86)\Windows Kits\8.1\Windows Performance Toolkit\;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;C:\Program File
s (x86)\Microsoft SDKs\TypeScript\1.0\;C:\Program Files\Microsoft\Web Platform Installer\

而wordpad.exe 所在的“%ProgramFiles%\Windows NT\Accessories\wordpad.exe“目录却没有包含,可以先进入这个目录,再运行wordpad,或者将wordpad所在的目录加入到环境变量中,$env:Path=$env:Path+”%ProgramFiles%\Windows NT\Accessories”。

默认键入一个字符串,powershell会将它原样输出,如果该字符串是一个命令或者启动程序,在字符串前加‘&'可以执行命令,或者启动程序。

PS C:\PS> "ls"
ls
PS C:\PS> &"ls"

  Directory: C:\PS

Mode        LastWriteTime   Length Name
----        -------------   ------ ----
d----    2011/11/23   17:25      ABC
-a---    2011/11/23   17:36     14 a.txt
-a---    2011/11/23   17:25     0 b.txt
-a---    2011/11/23   17:25     0 c.txt
-a---    2011/11/23   17:25     0 d.txt
-a---    2011/11/23   17:37    242 test.txt

PS C:\PS> "cmd.exe"
cmd.exe
PS C:\PS> &"cmd.exe"
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
(0)

相关推荐

  • PowerShell批量修改AD用户密码属性的代码

    需求:非常普通的一个需求,就是给AD用户修改密码,但是问题是量太大了.所以写了个脚本 cls $pass = ConvertTo-SecureString -AsPlainText 12333333344.abc -Force Import-Csv -Path d:\pp.csv | foreach { Get-ADUser -Identity $_.name|Set-ADAccountPassword -Reset -NewPassword $pass Get-ADUser -Identity

  • Windows Powershell 执行文件和脚本

    象运行可执行文件一样,Powershell运行文件和脚本,也必须使用绝对路径或者相对路径,或者要运行的文件必须定义在可受信任的环境变量中. 关于脚本 脚本和批处理都属于伪可执行文件,它们只是包含了若干命令行解释器能够解释和执行的命令行代码. 执行批处理文件 批处理是扩展名为".bat"的文本文件,它可以包含任何cmd控制台能够处理的命令.当批处理文件被打开,Cmd控制台会逐行执行每条命令.那Powershell能够直接执行批处理吗? 将下列命令保存为ping.bat @echo off

  • PowerShell读取文件内容、替换文件内容、读取限定行的例子

    我只能说,使用PowerShell来读取文本文件实在是一件太简单的事情了. Get-Content,获取指定位置的项的内容. 语法:Get-Content [-Path] <文件路径> [-Path]由方括号引起,表示可以写,也可以不写:不写则默认后面是文件路径,写了就指名道姓的说后面是文件路径. 直接运行这样一个命令,PowerShell将会把文件的内容输出到控制台上,如果你是想看看文件的内容,那这样做就Perfect! 但有时候,你想玩点高难度的运作--想把文件翻开来对里面的内容进行修改,

  • Windows 8 中的 PowerShell 3.0

    Windows 8 惊艳登场,当Metro界面吸引了无数人的眼球时,其实还有很多特性值得关注,如PowerShell 3.0.Hyper-V 3.0.vhdx.IIS 8等. PowerShell 2.0实践系列从本次开始全面转向3.0,体验一下PowerShell 3.0带来的管理方案提升. 很庆幸PowerGUI Script Editor 可以在Windows 8下安装:官方下载 本系列全部脚本在Windows 8 x64(PowerShell 3.0) + PowerGUI Script

  • 揭秘PowerShell 5.0新特性和新功能

    Windows PowerShell 5.0中包含了大量的新特性和新功能,提升了整体的用户体验.虽然其中一些功能只能供硬核PowerShell开发人员使用,但其他新功能和特性具有广泛的适用性. 例如其中一个新功能是远程文件编辑.管理员暂时可以通过PowerShell建立与另一个Windows服务器的远程会话.新的远程文件编辑功能在此基础之上进行构建,从而能够建立一个远程会话,然后在远程计算机上编辑文件. 建立远程会话的方法通常相同.你可以使用Enter-PSSession命令,附上–Comput

  • 简单谈谈PowerShell 4.0中的新命令

    随着PowerShell 3.0和Windows Server 2012版本的发布,微软提升了Windows PowerShell的功能,在PowerShell 4.0和Windows Server 2012 R2版本发布时,微软还会继续添加新功能和改善已有功能.本文中,我们盘点了PowerShell 4.0中的十个新命令. Save-Help Get-Help是PowerShell入门级命令.Get-Member帮助获取内容,你可以用它查看另一个PowerShell对象的属性和方法.Power

  • 使用PowerShell获取当前主机内存使用量和总量的方法

    群里一个小兄弟的提问 用PowerShell来写比c#要简单太多了,WMI直接提供了方法,调用即可. #made by kukisama $a=(get-wmiobject -class Win32_PhysicalMemory -namespace "root\cimv2").Capacity $b=(get-wmiobject -class Win32_PerfFormattedData_PerfOS_Memory -namespace "root\cimv2"

  • Powershell小技巧之查询AD用户

    假若你登录到了一个AD中你可以轻松的查询AD目录.在先前的技巧中我们阐述了一个基本脚本.这里有一个可以自定义根目录的扩展方法(设置你的查询点),它支持同步查询(而不是递归到一个容器). 它同时也阐述了怎么从一个活动目录查找结果再将其转化成用户对象: $SAMAccountName = 'tobias' $SearchRoot = 'LDAP://OU=customer,DC=company,DC=com' $SearchScope = 'OneLevel' $ldap = "(&(obj

  • Python中调用PowerShell、远程执行bat文件实例

    python调用本地powershell方法 1.现在准备一个简陋的powershell脚本,功能是测试一个IP列表哪些可以ping通: 复制代码 代码如下: function test_ping($iplist) {     foreach ($myip in $iplist)     {         $strQuery = "select * from win32_pingstatus where address = '$myip'"         # 利用 Get-WmiO

  • Windows Powershell 执行外部命令

    Powershell 能够像CMD一样很好的执行外部命令. 通过netstat查看网络端口状态 PS C:\PS> netstat Active Connections Proto Local Address Foreign Address State TCP 192.168.0.100:3049 192.168.0.88:7575 ESTABLISHED TCP 192.168.0.100:3052 192.168.0.88:7575 ESTABLISHED TCP 192.168.0.100

  • Python执行外部命令subprocess的使用详解

    一.了解subprocess subeprocess模块是python自带的模块,无需安装,主要用来取代一些就的模块或方法,如os.system.os.spawn*.os.popen.commands.*等. 因此执行外部命令优先使用subprocess模块 1.subprocess.run()方法 subprocess.run()方法是官方推荐的方法,几乎所有的工作都可以用它来完成. 如下是函数源码: subprocess.run(args, *, stdin=None, input=None

  • PHP在linux上执行外部命令的方法

    目录: 一.PHP中调用外部命令介绍 二.关于安全问题 三.关于超时问题 四.关于PHP运行linux环境中命令出现的问题 一.PHP中调用外部命令介绍 在PHP中调用外部命令,可以用,1>调用专门函数.2>反引号.3>popen()函数打开进程,三种方法来实现: 方法一:用PHP提供的专门函数(四个): PHP提供4个专门的执行外部命令的函数:exec(), system(), passthru(), shell_exec() 1)exec() 原型: string exec ( st

  • C#执行外部命令的方法

    本文实例讲述了C#执行外部命令的方法.分享给大家供大家参考.具体实现方法如下: ///<summary> ///executes a system command from inside csharp ///</summary> ///<param name="cmd">a dos type command like "isql ..."</param> ///<param name ="millsec

  • Python实现subprocess执行外部命令

    一.Python执行外部命令 1.subprocess模块简介 subprocess 模块允许我们启动一个新进程,并连接到它们的输入/输出/错误管道,从而获取返回值. 这个模块用来创建和管理子进程.它提供了高层次的接口,用来替换os.system*(). os.spawn*(). os.popen*().os,popen2.*()和commands.*等模块和函数. subprocess提供了一个名为Popen的类启动和设置子进程的参数,由于这个类比较复杂, subprocess还提供了若干便利

  • PHP用反撇号执行外部命令

    例如: echo `whoami`; // 导出数据库,要导入的文件夹必须要有可写权限, -u -p之后的内容必须要紧挨着写 复制代码 代码如下: echo `mysqldump -h localhost -u$DbUser -p$DbPwd --default-character-set=utf8 $DbName > /var/$dumpFileName`; 反撇号其他用法 <?php #使用反撇号,暗示作为命令来执行 $result=`date`; echo "<p>

  • c#执行外部命令示例分享

    复制代码 代码如下: String Command = @"python test.py";String Output = Execute.run(Command);Console.WriteLine(Output); 复制代码 代码如下: using System;using System.Collections.Generic;using System.Diagnostics;using System.Linq;using System.Text;using System.Text

  • PHP启动windows应用程序、执行bat批处理、执行cmd命令的方法(exec、system函数详解)

    exec 或者 system 都可以调用cmd 的命令 直接上代码: 复制代码 代码如下: <?php /** 打开windows的计算器 */ exec('start C:WindowsSystem32calc.exe'); /** php生成windows的批处理文件后,再执行这个批处理文件*/ $filename = 't.bat'; $somecontent = 'C: '; $somecontent .= 'cd "C:/Program Files/MySQL-Front&quo

  • Windows Powershell 自动化变量

    Powershell 自动化变量 是那些一旦打开Powershell就会自动加载的变量. 这些变量一般存放的内容包括 用户信息:例如用户的根目录$home 配置信息:例如powershell控制台的大小,颜色,背景等. 运行时信息:例如一个函数由谁调用,一个脚本运行的目录等. PS> $HOME C:\Users\test PS> $currentProcessID=$pid PS> $currentProcessID 5356 PS> Get-Process -Id $pid H

随机推荐