❶ 什么是Powershell
Windows PowerShell 是一种命令行外壳程序和脚本环境,使命令行用户和脚本编写者可以利用.NET Framework的强大功能。
它引入了许多非常有用的新概念,从而进一步扩展了您在Windows命令提示符和Windows Script Host环境中获得的知识和创建的脚本。
可更新的帮助
PowerShell与帮助文件中的错误做斗争。微软需要发布一个操作系统补丁。基于TechNet站点的在线帮助的存在减轻了这个问题,但杯水车薪。在v3中,帮助文件能按需更新,从任何微软服务器都可下载新的XML文件。所以微软就能根据找到的问题进行错误修复,不需要操作系统包或补丁。
❷ 如何用C语言执行powershell命令
我有一条获取server安装的各种组件的powershell命令,可以在server上正常命令行执行
powershell -command "& {get-windowsfeature | Out-File -FilePath C:\Command.txt}"
但我用C语言写出来的exe去跑的时候总是不能正常执行,因为server环境里面没有debug环境,所以也不知道具体错在什么地方了,具体source如下:
C/C++ code?
TCHAR szCommandLine[1024] = {0};
sprintf(szCommandLine,
"powershell -command \"& {get-windowsfeature | Out-File -FilePath C:\\Command.txt}\"");
bSuccess = CreateProcess( NULL, // No mole name (use command line).
szCommandLine, // Command line.
NULL, // Process handle not inheritable.
NULL, // Thread handle not inheritable.
FALSE, // Set handle inheritance to FALSE.
0, // No creation flags.
NULL, // Use parent's environment block.
NULL, // Use parent's starting directory.
&si, // Pointer to STARTUPINFO structure.
&pi ); // Pointer to PROCESS_INFORMATION structure.
❸ 如何使用Windows Power Shell
使用Windows Power Shell的方法步骤:
点击系统的“开始”图标,然后在打开菜单中,选择“运行”;
powershell工具打开后发现,这不是CMD命令工具,将powershell和cmd命令工具做个简单对比;
这里同时打开了一个cmd命令工具和一个powershell工具,下面就来简单的分析一下它们的区别
(1)、首先看标题栏最前面的执行文件的图标不一样;
(2)、继续看标题栏,它们的标题栏不一样,最后面的执行文件是不一样的,一个是cmd.exe一个是powershell.exe;
(3)、打开的窗口中的第一行的提示信息不一样,表示两个不同的工具
(4)、在powershell命令操作最前面有大写的PS,但是cmd命令行工具最前面是没有的;
如何查看powershell的帮助信息:输入以下命令中的任何一个都可以查看帮助信息:man、help、get-help;
如何查看 powershell 已经定义的一些别名(别名:把原本是比较长的字符命令,通过定义成比较简单的几个字符,以后输入重新定义的简单的字符命令并执行,也可以执行原来的命令,目的是简单、方便、省时);
owershell里面很多的命令都和linux里面的命令类似,同时powershell也可以使用以前cmd命令工具里面的命令;
并不是所有的cmd命令工具都可以直接在powershell工具中使用,有的是稍微做一些修改的;
如何退出powershell:直接输入命令exit就可以退出powershell,当然直接点右上方的 X 也是可以退出的。
❹ 如何使用Windows Power Shell
Windows Power Shell 是微软新推出的一个替代cmd命令行的工具,具体的功能和作用小编这里就不详细介绍了,项了解更多信息可以网络搜索,或者在网络中查看详细的介绍,在win7系统中默认自带这个工具,小编下面来分享下如何使用Windows PowerShell这个工具
首先第一步和第二步我们来说下如何打开powershell工具
点击系统的“开始”图标,然后在打开菜单中,选择“运行”,在打开的运行对话框中输入powershell回车就可以打开
powershell工具打开后如下图所示,第一眼给我们感觉就是CMD命令提示行嘛,请仔细看下,其实这不是CMD命令工具,在下面第三步中,小编将powershell和cmd命令工具做个简单对比
这里同时打开了一个cmd命令工具和一个powershell工具,下面小编就来简单的分析一下它们的区别
1、首先看标题栏最前面的执行文件的图标不一样
2、继续看标题栏,它们的标题栏不一样,最后面的执行文件是不一样的,一个是cmd.exe一个是powershell.exe
3、打开的窗口中的第一行的提示信息不一样,表示两个不同的工具
4、在powershell命令操作最前面有大写的PS,但是cmd命令行工具最前面是没有的
如何查看powershell的帮助信息
输入以下命令中的任何一个都可以查看帮助信息:
man、help、get-help
这里使用的是命令man,帮助信息做的还算比较人性化,也有中文的帮助信息,比较难得
如何查看 powershell 已经定义的一些别名(别名:把原本是比较长的字符命令,通过定义成比较简单的几个字符,以后输入重新定义的简单的字符命令并执行,也可以执行原来的命令,目的是简单、方便、省时)
输入alias或者gal或者get-alias都可以查看系统已经定义好的别名,目前小编使用的powershell有137个别名,很多的别名和linux系统中的命令类似,如:ls、cp、mv、rm、rmdir、ps等
powershell里面很多的命令都和linux里面的命令类似,同时powershell也可以使用以前cmd命令工具里面的命令,下面给出一个简单的示例:用ls和dir都可以查看当前目录的文件信息,查看的信息默认以列表的形式查看
并不是所有的cmd命令工具都可以直接在powershell工具中使用,有的是稍微做一些修改的,小编这里也举一个简单的例子来说明:
查看网络信息的命令ipconfig/all 和 ipconfig /all这两个命令都可以在cmd命令工具中使用,但是只有ipconfig /all才能在powershell
如何退出powershell
直接输入命令exit就可以退出powershell,当然直接点右上方的 X 也是可以退出的。
❺ Win7系统的Powershell命令是什么如何使用
windows powerShell是微软为windows系统开发的shell 及脚本语言技术,它的出现同时弥补了和unix系统相比windows在Shell方面的不足,同时也为程序开发人员提供了一种更高效的编写脚本的工具。在windows7中已经整合了powerShell V2且支持图形界面操作。
要想在windows 7系统中启动windows powerShell非常简单,点击”开始”按钮后在底部的搜索栏内输入PowerShell,在搜索结果内选择windows powerShell即可进入命令行模式的界面,选择windows powerShell V2 ISE 后就可以进入到windows powerShell的图形窗口模式。此外也可以在传统的CMD窗口中输入PowerShell后按下回画运行PowerShell。
PowerSHell上手
相对于传统的命令行工具,PowerShell对很多用户来说都会显得非常陌生。究竟PowerShell支持哪些命令呢?其实PowerShell可以管理系统进程,服务,注册表,系统日志甚至证书等多项内容。想知道它支持哪些命令,只需要在窗口内输入get-command并按下回画就可以了,这时屏幕上会显示所有PowerShell支持的命令。
此处除了可以显示命令的类型外,还会显示名称和描述。想查看某个命令的详细用法就可以使用get-helt命令来获得帮助,比如要查看add-content命令的详细内容,就可以输入get-help add-content,按下回车后就会显示命令的名称,摘要,语法,详细说明,相关链接以及备注。要想更深入了解powerShell就要经常获取帮助哦。
PowerShell可以方便地查看和结束系统内的进程,这样不仅可以监控系统内的可疑进程,还可以轻松地将其关闭。要想查看当前系统内的进程,就需要打开PowerShell,输入 get-process后按下回车,这样系统中进程的句柄,进程名,进程占用处理器时间和进程唯一标识符就会显示出来。
如果要结束某个或多个进程,就需要记录下进程的唯一标识符,在powerShell中输入Stop-process后根据提示输入一个或多个进程的ID,按下回车后进程即可被自动结束。
用别外快速启动程序
对于某些常用的命令,powershell还支持将其设置为别名使用。比如需要给get-process设置别外,就可以在powershell中输入set-alias gp get-process,其中gp为命令get-process的别外。按下回车后直接用gp就可以代替get-process命令了。
同理很多系统内建的工具也可以在powershell中设置别名了,比如在powershell中输入notepad后就可以启动记事本。要想更快地启动记事本,就可以为其设置别名,输入set-alias np notepad后按下回车,这样再次输入np就可以打开记事本了。
PowerShell还有着管理系统服务,操作注册表和众多的网络相关操作,这里不一一介绍,有兴趣的朋友不妨登录微软官方站点获取更多 多与powerShell有关的资料。
❻ PowerShell 基本语法及常用命令
PowerShell常用命令:
一 Get类
1.Get-Command : 得到所有PowerShell命令,获取有关 cmdlet 以及有关 Windows PowerShell 命令的其他元素的基本信息。 包括Cmdlet、Alias、Function。
2.Get-Process : 获取所有进程
3.Get-Help : 显示有关 Windows PowerShell 命令和概念的信息
4.Get-History : 获取在当前会话中输入的命令的列表
5.Get-Job : 获取在当前会话中运行的 Windows PowerShell 后台作业
6.Get-FormatData : 获取当前会话中的格式数据
7.Get-Event : 获取事件队列中的事件
8.Get-Alias : 获取当前会话的别名
9.Get-Culture :获取操作系统中设置的当前区域性
12.Get-Member : 获取对象的属性和方法。
13.Get-Random : 从集合中获取随机数或随机选择对象
14.Get-UICulture : 获取操作系统中当前用户界面 (UI) 区域性设置
15.Get-Unique : 从排序列表返回唯一项目
16.Get-Variable :获取当前控制台中的变量
17.Get-EventLog : 获取本地或远程计算机上的事件日志或事件日志列表中的事件
18.Get-ChildItem : 获取一个或多个指定位置中的项和子项
19.Get-Content : 获取指定位置的项的内容
20.Get-ItemProperty :获取指定项的属性
21.Get-WmiObject : 获取 Windows Management Instrumentation (WMI) 类的实例或可用类的相关信息
22.Get-Location :获取当前工作位置的相关信息(如:F:\Users\TaoMin )
23.Get-PSDrive:获取当前会话中的 Windows PowerShell 驱动器
24.Get-Item:获取位于指定位置的项
25.Get-Process :获取在本地计算机或远程计算机上运行的进程
26.Get-Service : 获取本地或远程计算机上的服务
27.Get-Transaction :获取当前(活动)事务
28.Get-ExecutionPolicy :获取当前会话中的执行策略
二.Set类 (set类命令一般都含有参数)
1.Set-Alias : 在当前 Windows PowerShell 会话中为 cmdlet 或其他命令元素创建或更改别名(替代名称)
2.Set-PSDebug :打开和关闭脚本调试功能,设置跟踪级别并切换 strict 模式
3.Set-StrictMode :建立和强制执行表达式、脚本和脚本块中的编码规则
4.Set-Date :将计算机上的系统时间更改为指定的时间
5.Set-Variable :设置变量的值,如果该变量还不存在,则创建该变量
6.Set-PSBreakpoint :在行、命令或者变量上设置断点
7.Set-Location :将当前工作位置设置为指定的位置
8.Set-Item :将项的值更改为命令中指定的值
9.Set-Service :启动、停止和挂起服务并更改服务的属性
10.Set-Content :在项中写入内容或用新内容替换其中的内容
11.Set-ItemProperty :创建或更改某一项的属性值
12.Set-WmiInstance :创建或更新现有 Windows Management Instrumentation (WMI) 类的实例
13.Set-ExecutionPolicy :更改 Windows PowerShell 执行策略的用户首选项。
三.Write类
1.Write-Host : 将自定义输出内容写入主机。类似于.net的 write()或者writeline()功能
2.Write-Progress :在 Windows PowerShell 命令窗口内显示进度栏
3.Write-Debug :将调试消息写入控制台
4.Write-Verbose:将文本写入详细消息流
5.Write-Warning :写入警告消息
6.Write-Error : 将对象写入错误流
7.Write-Output : 将指定对象发送到管道中的下一个命令;如果该命令是管道中的最后一个命令,则在控制台上显示这些对象
8.Write-EventLog :将事件写入事件日志
PowerShell变量、常量、数组:
一、变量
PowerShell的变量无需预定义,可直接使用。当使用一个变量时,该变量被自动声明。
变量以 $ 符号开头。如: $a
PowerShell普通变量:
1.给变量赋值:
方式一:
$a = "This is a string"
$b = 123
$c = 0.125
方式二:
Set-Variable var 100
Set-Variable var1 ”test“
Set-Variable va2 800
2.获取变量值
get-variable var #获取单个变量值
get-variable var* #获取多个变量值
3.清空变量值
clear-variable var
4.删除变量
remove-variable var
5.连接两个字符串变量
$a = "This is the 1st string"
$b = "This is the 2nd string"
a + " and " + $b
$c
结果:This is the 1st string and This is the 2nd string
6.变量的方法
$date = Get-Date #获取当前时间
$date.AddDays(3) #当前时间加三天
PowerShell特殊变量:
强制指定变量类型:
一般不需要为PowerShell的变量指定类型。但是也可以强制指定变量类型。
如:[int] $b = 5
常见变量类型如下:
二、常量
三、数组
PowerShell注释用法:
PowerShell运算符用法:
运算符如下:
1.算术二元运算符:
2.赋值运算符
3.逻辑运算符
PowerShell函数用法:
用法一如下:(函数中改变变量值并不影响实际值)
执行结果:
用法二如下:(函数中变量值的改变要用$Script:var的形式)
执行结果:
PowerShell条件控制的用法:
一、循环类
1.foreach的用法
用法一如下:
执行结果:
用法二如下:直接获取管道数据
执行结果:
2.while的用法
用法一如下:
n -le 5) #当 n
$n++
}
执行结果:
用法一如下:
n
n -ne 3) #当$n<>3时进行循环操作
执行结果:
用法一如下:
n
n -gt 3) #当$n>3时停止操作
执行结果:
二、分支类
1.if用法
if语法结构如下:
用法如下:
执行结果:
2.switch用法
switch语法结构如下:
用法一如下: switch(表达式)
执行结果:
用法二如下:switch -casesensitive (表达式)表示区分大小写
执行结果: It's Monday
用法三如下:switch -regex(表达式)表示正则表达式匹配
执行结果:字母+数字,匹配为:day6
用法四如下:switch -regex(表达式)表示正则表达式匹配 表达式可为数组
执行结果:字母+数字,匹配为:day5
用法五如下:switch -wildcard (表达式)表示通配符匹配
执行结果:day2,匹配为:day2
三、跳转类
1.break用法:break语句出现在foreach、for、while、switch等结构中时,break语句将使windows powershell立即退出整个循环。
用法如下:
执行结果:
2.continue用法:continue语句出现在foreach、for、while等循环结构中时,continue语句将使windows powershell立即退出某一次轮循环,并继续下一轮循环。
用法如下:
执行结果:
PowerShell抛出异常的Throw用法:
用法如下:
返回结果:danger 及详细错误信息
PowerShell获取出错信息的用法:
用法如下:
function one
{
get-process -ea stop #-ea定义错误发生以后该如何继续执行,意同-ErrorAction
get-childitem ada -ErrorAction stop #此处有错误 路径ada不存在
get-process -ErrorAction stop
}
返回结果:报出错误信息
PowerShell单步调试的用法:
用法如下:
执行结果:会出现逐步调试的对话框
本文转自 https://www.cnblogs.com/feng-zi/p/9935874.html
❼ 如何在命令行执行 powershell 脚本
方法一:
首先按Win+R键,然后输入powershell,打开命令行,然后切换到powershell脚本所在的目录下,例如:脚本1.ps1在桌面上
cdC:UsersAdministratorDesktop
2. 执行脚本时输入.1.ps1即可执行脚本。
.1.ps1
方法二:直接在命令行输入1.ps1脚本的全路径,然后回车即可执行。
C:UsersAdministratorDesktop1.ps1
❽ windows powershell是什么
Windows PowerShell是什么,有什么功能或作用,如何使用?
Windows 10时代带来了一个强大的工具Windows PowerShell。他必将成为CMD的继任者,成为下一代命令行工具。这是一种命令行界面和脚本语言,专门为系统管理而设计。Windows PowerShell使得IT管理员更容易地控制系统管理和加速自动化。Windows PowerShell 中的简单命令工具(称为 cmdlet)允许通过命令行管理企业中的计算机。通过 Windows PowerShell 提供程序,可以像访问文件系统那样方便地访问数据存储,如注册表和证书存储。 此外,Windows PowerShell 还完全支持所有 Windows Management Instrumentation (WMI) 类。最重要的是允许我们进行扩展, 可以编写自己的 cmdlet、提供程序、函数和脚本,并可以在模块中将其打包以便与其他用户共享。
一、在Windows 中的Windows PowerShell中进行了以下更改:
1、新的 cmdlet:包含 100 多个新的 cmdlet,包括 Get-Hotfix、Send-MailMessage、Get-ComputerRestorePoint、New- WebServiceProxy、Debug-Process、Add-Computer、Rename-Computer、Reset- ComputerMachinePassword 和 Get-Random。
2、远程管理:可以使用一个命令在一台计算机或数百台计算机上运行命令。 可以建立与单台计算机的交互式会话。 还可以建立能从多台计算机接收远程命令的会话。
3、Windows PowerShell 集成脚本环境 (ISE):一个图形用户界面,方便在同一个窗口中运行命令并撰写、编辑、运行、测试和调试脚本。
4、后台作业:利用 Windows PowerShell 后台作业,可以“在后台”异步运行多个命令,从而可以继续在会话中工作。 可以在本地或远程计算机上运行后台作业,并可以本地或远程存储结果。
5、调试程序:可以设置和删除断点,逐步执行代码,检查变量值,以及显示调用堆栈跟踪。
6、模块:Windows PowerShell 模块允许将 Windows PowerShell 脚本和函数组织到独立单元中。 您可以将 cmdlet、提供程序、脚本、函数及其他文件打包到可分发给其他用户的模块中。 用户安装和使用模块比安装和使用 Windows PowerShell 管理单元更加方便。 模块可以包括任何类型的文件,包括音频文件、图像、帮助文件和图标。 模块在单独的会话中运行,以避免名称冲突。
7、事务:Windows PowerShell 现在支持事务,从而允许按逻辑单元管理一组命令。 可以提交事务,也可以完全撤销事务,使事务不更改受影响的数据。
8、事件:Windows PowerShell 包括新事件基础结构,该事件基础结构允许创建事件,订阅系统和应用程序事件,然后同步和异步侦听、转发和操作事件。
9高级函数:高级函数的行为很像 cmdlet,不过是使用 Windows PowerShell 脚本语言而不是 C# 编写的。
10、脚本国际化:脚本和函数可用多种语言向用户显示消息和帮助文本。
11、联机帮助:除了命令行中的帮助之外,Get-Help cmdlet 具有一个新的 Online 参数,使用该参数可以打开 Microsoft TechNet 上每个帮助主题的完整、更新的版本。
二、新增功能和更改功能有哪些优点?
Windows PowerShell 除了提供许多其他功能之外还提供了以下新的管理功能。
远程管理:Windows PowerShell 远程管理功能使用户能够连接到其所有计算机上的 Windows PowerShell 命令并运行它们。 IT 专业人士可以使用它来监视和维护计算机,分发更新,运行脚本和后台作业,收集数据,以及对一台计算机或对数百台计算机进行统一、优化的更改。
Windows PowerShell ISE:Windows PowerShell ISE 使得使用 Windows PowerShell 更为轻松和高效。 初学者将非常庆幸软件提供语法颜色和上下文相关帮助。 多行编辑功能使得尝试从帮助主题和其他源复制内容的示例变得很轻松。 高级用户将非常庆幸软件提供多个执行环境、内置调试程序和 Windows PowerShell ISE 对象模型的扩展性。
模块:Windows PowerShell 模块使得 cmdlet 和提供程序作者组织和分发工具和解决方案更为轻松。 而且,这些模块使得用户安装工具并将工具添加到其 Windows PowerShell 会话变得更加容易。 IT 专业人士可以使用模块在其企业中分发已测试和已审批的解决方案,并与社区中其他专业人士共享这些解决方案。
事务:Windows PowerShell 事务使您能够使用 Windows PowerShell 来进行可能必须作为一个单位进行回滚或提交的更改(如数据库更新和对注册表的更改)。
在使用的过程中,我们要学会善用Windows PowerShell帮助
Windows PowerShell是新的命令和脚本规范,初学者会有一定的陌生感不容易上手。其实,善用Windows PowerShell帮助可以帮助大家尽快了解其命令规范。
三、那么来运行Windows PowerShell看看
要想在windows 7系统中启动windows powerShell非常简单,点击“开始”按钮后在底部的搜索栏内输入PowerShell,在搜索结果内选择windows powerShell即可进入命令行模式的界面,选择windows powerShell V2 ISE 后就可以进入到windows powerShell的图形窗口模式。此外也可以在传统的CMD窗口中输入PowerShell后按下回车运行PowerShell。
在PowerShell中输入并执行“get-command”会返回Windows PowerShell提供的129个命令的信息,这些命令囊括了管理服务、进程、事件日志、证书、注册表以及使用 Windows Management Instrumentation (WMI)等系统管理的方方面面。如果要获取其中的某个命令的使用帮助信息,比如我们要获取“get-command”这个命令的使用帮助,可以执行命令“get-help get-command”,获取其他命令的帮助信息的方法类似。
另外,为大家提供几个很实用的技巧。如果命令的帮助信息比较多,一屏呈不下可用通道符号“|”进行分屏显示,例如“get-command | more”将逐屏显示Windows PowerShell所有的程序集。“get-help get-service -full”将会显示get-service这一程序集的详细帮助(包括示例)。“get-help get-service –parameter *”将会列出Get-Service程序集的所有参数及参数说明。“help get-service –parameter *”作用和前面一个命令一样,但是将会逐屏显示。有时基于需要我们还需要使用通配符,Windows PowerShell中的通配符使用与CMD有区别,可以执行命令“get-help about_wildcard”获取通配符使用的帮助信息。
四、PowerShell应用
PowerShell可以方便地查看和结束系统内的进程,这样不仅可以监控系统内的可疑进程,还可以轻松地将其关闭。要想查看当前系统 内的进程,就需要打开PowerShell,输入 get-process后按下回车,这样系统中进程的句柄,进程名,进程占用处理器时间和进程唯一标识符就会显示出来。如果要结束某个或多个进程,就需要 记录下进程的唯一标识符,在PowerShell中输入Stop-process后根据提示输入一个或多个进程的ID,按下回车后进程即可被自动结束。
❾ powershell是不是迄今最强大的命令行工具
比起cmd命令行是强大得多,毕竟多了很多命令。。。但是衡量一个命令行工具是否强大,主要是看其他软件对他的支持,目前国外主流厂商产品对Powershell支持不错,但是国内的话。。。
个人理解,Powershell再强大也只能在windows系统上用,就像Bash只能在Unix上用一样(装
Cygwin的不算)。只是因为大部分微软的应用对Powershell都支持很好,其实Powershell脚本的核心其实是对dotNet的调用,所以基本上dotNet可以做的,Powershell也能做!
另外,微软将发布一个windows server版本,通过取消图形界面,纯粹使用Powershell进行操作,极大的降低了系统运行成本。