PowerShell Studio 2019 32/64位(自动化和配置框架)
v5.6.164 附带安装教程- 软件大小:275.55 MB
- 更新日期:2020-04-11 11:21
- 软件语言:简体中文
- 软件类别:编程工具
- 软件授权:免费版
- 软件官网:待审核
- 适用平台:WinXP, Win7, Win8, Win10, WinAll
- 软件厂商:
软件介绍 人气软件 下载地址
PowerShell Studio 2019是一款非常好用的脚本编辑器,此工具主要基于PowerShell,这可以让更多的用户得到帮助;新版本增加了对PowerShell7的支持,这会使得编程过程更加轻松,可以让用户在对脚本进行调试以及设计时得到最大限度的帮助;用户现在可以使用新的PowerShell 7引擎运行PowerShell脚本,只需运行您的脚本,输出就会显示在输出面板中,调试PowerShell 7脚本的工作原理与使用Windows PowerShell进行调试的方法相同;在您要使用的PowerShell版本之间进行切换比以往任何时候都容易,使用.NET Core 3.1的Windows PowerShell或PowerShell 7;您可以编辑,调试,运行和测试,而无需更改工具;新版本还支持PowerShell 7打包,目前,系统有Windows和控制台应用程序的选项,即将添加对其他打包程序目标的支持;PowerShell 7的打包会生成.NET Core应用程序,用户在使用时只需要安装.NET Core 3.1即可运行,然后就会显示您熟悉的Windows PowerShell打包程序主机;需要的用户可以下载体验
新版功能
支持50多种语言和文件类型。
支持32位和64位平台开发。
下一代PowerShell本地和远程调试器。
同时支持Windows PowerShell和PowerShell 7。
针对远程计算机的已安装模块集(IMS)的脚本。
远程 VBScript,JScript和PowerShell调试器。
支持 PowerShell变量和函数断点。
集成的32位和64位 PowerShell和命令控制台。
多文件和模块调试。
单击生成软件包,MSI数据库和部署。
软件特色
PowerShell脚本编辑器
具有健壮的编辑器,具有语法着色,参考突出显示,书签,代码格式设置和代码完成功能。创建,编辑和管理代码段。带有来自远程模块的cmdlet的脚本。
功能构建器
轻松创建高级功能,包括cmdlet和参数属性以及基于注释的帮助。函数生成器为您插入正确的语法。
GUI设计师
增强的表单设计器使GUI设计变得快速而简单。消除了手动编写数百行代码的需要。使用预连接的控件创建高级GUI。
脚本调试器
在本地和远程运行和调试脚本以及整个模块。快速调试,修复和验证您可能遇到的任何问题。支持条件断点。
多平台支持
在单个应用程序中提供对32位和64位版本的PowerShell的支持。以提升的特权并以STA / MTA模式运行脚本。
创建可执行文件和安装程序
将您的脚本转换为可执行文件。创建MSI安装程序。微调自定义访问权限,提升和平台。在安装Windows PowerShell的情况下运行可执行文件。
创建模块
通过从现有功能中进行选择,在几分钟之内创建Windows PowerShell脚本模块。程序通过自动为您导出函数和ps1xml文件,将清单维护降至最低。
性能监控器
通过显示实时内存和CPU使用情况,以可视方式跟踪脚本的性能。并排显示最后三个会话的性能结果。
安装步骤
1、用户可以点击本网站提供的下载路径下载得到对应的程序安装包
2、只需要使用解压功能将压缩包打开,双击主程序即可进行安装,弹出程序安装界面
3、同意上述协议条款,然后继续安装应用程序,点击同意按钮即可
4、可以根据自己的需要点击浏览按钮将应用程序的安装路径进行更改
5、现在准备安装主程序,点击安装按钮开始安装
6、弹出应用程序安装进度条加载界面,只需要等待加载完成即可
7、根据提示点击安装,弹出程序安装完成界面,点击完成按钮即可
方法
运行程序之前,先把电脑中的网络断开,这样运行程序后就会弹出注册界面
1、程序安装完成后,直接运行程序,然后就会弹出一个应用程序注册界面
2、然后打开安装包,双击运行安装包中的注册机,弹出一个激活码生成界面
3、用户只需要把注册机中的激活码复制到程序注册界面即可将程序完成
4、完成以上操作步骤后,就可以双击应用程序将其打开,此时您就可以得到对应程序
使用说明
如何从Windows窗体执行脚本并在文本框中捕获输出
我们经常被问到如何从Windows窗体执行外部脚本并在文本框中捕获输出。此示例说明了如何使用PowerShell Studio仅需几个步骤即可完成此任务。
A.构建应用程序的GUI
请在PowerShell Studio中执行以下步骤:
1.打开一个新表单项目:选择“ 表单项目 ”并为新表单命名,然后单击“ 创建 ”按钮并选择“ 空表单 ” 模板。接下来,单击“ 打开”按钮以开始使用该表单。
2.在编辑器面板中,转到“ MainForm.psf ”选项卡并调整表单的大小。
3.在工具箱的“ 控件集 ”部分中,添加“ 文本框-浏览文件 ”控件。调整文本框的大小以容纳长文件名。
4.从工具箱的“ 控件 ”部分,添加一个按钮和一个TextBox控件。
5.对于TextBox控件,将“ Multiline ”属性更改为“ True ”,然后将控件的大小调整为所需的尺寸。
最后,将按钮的文本更改为“ Run ”。这将执行我们的外部脚本。
守则
由于添加了“ 文本框-浏览文件 ”控件集,因此该表单将自动包含“浏览”按钮的代码。
上面添加的Button控件未在表单中添加任何代码。因此,在“表单设计器”面板中,双击“ 运行 ”按钮以创建“ 运行 ”事件处理程序。
现在,所有这些都准备就绪,我们可以添加代码,该代码将执行所选脚本并在表单的多行文本框中捕获输出。
将这两行代码添加到“ buttonRun_Click ”事件脚本块中:
$ Output =。$ textboxFile.Text; $ textbox1.Text = $输出| 外线宽度100
C.运行应用程序
启动应用程序,选择并执行脚本文件,然后查看多行文本框中显示的结果。为了使它按预期工作,必须选择一个实际产生输出的脚本。
如本示例所示,使用PowerShell Studio的表单模板和控件集可以大大减少GUI开发时间。
编写多表单PowerShell GUI应用
此分步示例向您展示如何创建一个非常简单的多格式PowerShell GUI应用程序。该应用程序包含一个父表单,该父表单从子表单中获取数据并进行显示。完成后,您将知道如何使用PowerShell Studio的基本多表单功能。
什么是多表单应用程序?
多表单或多页面应用程序是具有多个窗口的GUI应用程序。它可以像启动消息框的应用程序一样简单,也可以像收集大量数据的十二页向导一样复杂。但是,为了向您展示如何使用多种形式,我想从一个非常简单的例子开始。
这个小应用程序以主表单或父表单开头。当您单击主窗体上的“ 打开子窗体”按钮时,将打开子窗体。当您在子窗体的文本框中键入一条消息,然后单击“确定”时,子窗体将关闭,并且您键入的消息将出现在主窗体的文本框中。
这个练习的最酷的部分不是UI的功能,它是非常有限的。相反,这是PowerShell Studio添加的便利,包括将窗体包装在函数中,并使每个窗体上的控件的关键属性值易于被其他窗体访问。
在带有模式窗口的表单项目中,一个表单打开另一个表单。而且,可能又是另一个。起始表单称为主表单或父表单或所有者,而打开的窗口称为子表单。然后,子窗体可以打开其他窗体,因此它成为另一个子窗体的父窗体。
当您在模式窗口结构中打开子窗体时,其父窗体被暂时禁用。我们说“控制权已传递给子表格”。然后,当子窗体关闭时,控件会自动传递到其父窗体,然后重新启用它。您无需添加任何代码即可重新打开父表单。另外,当关闭子窗体时,打开它的方法(ShowDialog())会将子窗体的DialogResult返回到父窗体。该DialogResult的指示哪个按钮被用来关闭子窗体。
此外,PowerShell Studio通过将每个表单包含在项目中所有文件都可以使用的引用 函数中,使从项目中任何其他表单中打开任何表单变得非常容易。要打开表单,只需调用其功能。我们将在这个简单的项目中看到该功能。
步骤1:创建一个表单项目
因为我们正在使用多种形式,因此要处理多个文件,所以我们将从创建一个项目开始。在PowerShell Studio中,项目是相关文件的集合。您可以一起打开和关闭它们,并从中构建工具,包括PowerShell模块。
在PowerShell Studio中,单击“ 文件”,“ 新建”,“ 新建表单项目”。然后,选择“ 多表单项目”,命名该项目,然后单击“ 创建”。
PowerShell Studio创建并打开四个文件:
MainForm.psf
ChildForm.psf
Globals.ps1
启动文件
它还会创建但不会打开帮助PowerShell Studio管理项目的项目文件(.psproj,.psprojs)。
该Globals.ps1文件保存全局变量和本形式中通用的其他值。Startup.pss允许您在应用程序加载之前将参数传递给应用程序。我们不会在此任务中使用这些文件,因此您可以关闭它们,但不要删除它们。
要随时重新打开项目,请在PowerShell Studio中,单击“ 文件”,然后打开“项目”(而不是“打开”)。
对于此GUI应用程序,我们将从子窗体开始,它将成为信息源,然后连接主窗体。
设置子表格
默认的子窗体非常简单。它带有“ 确定”和“ 取消”按钮(均设置为适当的DialogResult值)。该脚本包含一个用于表单Load事件的空事件处理程序。(存储Load事件处理程序的变量的名称可能会有所不同。它取决于PowerShell Studio使用的模板,并偶尔进行更新。)
首先更改外观,然后处理代码。在“属性”窗格中进行以下更改。
将窗体的FormBorderStyle属性更改为FixedDialog(或任何固定值)。无需大惊小怪的锚定。我还删除了“ 取消”按钮,因为我没有使用它。您可以将其保留。它没有害处。
添加标签($ LabelSendMessage)。将其Text属性设置为向Main Form发送消息。
添加一个文本框($ TextboxSendMessage)。将其Multiline属性设置为True并将其放大。将其Font属性设置为更具可读性。我喜欢Segoe UI 12。
现在,为脚本。
在设计器中,双击“文本框”以添加默认的事件处理程序(TextChanged),然后将代码添加到Load和TextChanged事件处理程序中以禁用“确定”按钮,除非文本框包含一些文本(不仅仅是空白字符)。OK按钮Click事件处理程序($ buttonOK_Click)中不需要任何代码,因为它的行为由DialogResult值控制。
这就是我们在这里所需要的。转到主窗体。
设置主表格
默认的MainForm.psf带有一个“ 调用子窗体”按钮,但它放置在窗口中间比较尴尬。让我们修复它。
要自定义此应用程序主窗体的外观,请进行以下更改:
将窗体的FormBorderStyle属性更改为FixedDialog(或任何固定值)。这只是一个方便。
调整按钮和窗体的大小。我喜欢大按钮。只是样式偏好。
将按钮的“ 文本”属性更改为“ 打开子窗体”。呼叫是开发人员术语,对最终用户可能没有意义。
(当您更改Text属性值时,PowerShell Studio会将保存按钮的变量的名称更改为$ button Open ChlldForm)。
添加一个文本框($ textboxDisplayMessage)。将其Multiline和ReadOnly属性设置为$ True,将其Font属性设置为Segoe UI 12。
现在,让我们看一下脚本。
在表单项目中打开表单
正如我们在什么是多表单应用程序中讨论的那样?,PowerShell Studio将每个表单都包含在引用函数中。要从其他表单或项目中的脚本打开表单,请调用其引用函数。函数名称是任意的,但是PowerShell Studio使用以下命名约定:
Call-_
例如,PowerShell Studio将MainForm.psf中的代码添加到Call-MainForm_psf函数中,并将ChildForm.psf中的代码添加到Call-ChildForm_psf函数中。要在ChildForm.psf中打开子窗体,请使用Call-ChildForm_psf函数。
[提示:要查看参考功能,请查看PowerShell Studio为项目生成的.ps1文件。在PowerShell Studio中,单击“ 部署”,然后单击“ 导出到文件”。]
在以主要形式更改脚本之前,让我们检查默认代码并确保我们理解它。默认的MainForm.psf脚本包括用于表单的Load事件的空事件处理程序,以及用于$ buttonCallChildForm按钮的Click事件的$ buttonCallChildForm_Click事件处理程序。
在$ buttonCallChildForm_Click事件处理程序的默认代码是有点缩写,因为它经常使用。让我们确保我们理解它。它执行以下操作(按此顺序):
它通过调用Call-ChildForm_psf(包含子窗体脚本的参考函数)来打开子窗体。
当子窗体关闭时,它将控制权返回到主窗体。并且,它返回一个DialogResult值,该值指示单击了哪个按钮(在子窗体上)以关闭该窗体。
如果通过单击OK按钮(或返回DialogResult值OK的任何按钮)关闭了子窗体,它将运行脚本块中的代码,默认情况下为空。如果通过单击返回不同DialogResult值的按钮(例如“取消” )关闭窗体,则(空)脚本块中的代码不会运行。
让我们自定义它。这是有趣的部分。
以其他形式从控件中获取价值
我们已经有了Call-ChildForm_psf函数,当您单击现在已重命名的“ 打开子窗体”按钮($ buttonOpenChildForm)时,它将打开子窗体。让我们添加从子窗体($ textboxSendMessage)的文本框中获取文本并在父窗体的只读文本框($ textboxDisplayMessage)中显示文本的代码。
这是操作方法。是的我知道。很酷吧?
在多窗体项目中,PowerShell Studio创建脚本范围的变量,这些变量包含最常用的Windows窗体控件的选定属性的值。我们称这些返回变量。
当您添加对引用函数的调用(该函数包含同一项目中不同表单的代码)时,PowerShell Studio会自动将被调用表单的返回变量提供给您的文件以及调用该项目的任何文件表格。
在此脚本中,由于MainForm.psf调用Call-ChildForm_psf,因此PowerShell Studio在$ ChildForm.psf中添加一个$ ChildForm_textboxSendMessage变量,该变量包含$ textboxSendMessage文本框的Text属性。这使得在主表单中将值分配给$ textboxDisplayMessage非常容易。
确保避免“陷阱”。$ ChildForm_textboxSendMessage已经包含文本框的Text属性,因此不要尝试获取其Text属性
$textboxDisplayMessage.Text = $ChildForm_textboxSendMessage #Right
$textboxDisplayMessage.Text = $ChildForm_textboxSendMessage.Text #Wrong
#错误的行不通,因为$ ChildForm_textboxSendMessage包含文本框的Text属性,该属性是一个字符串。因为字符串没有Text属性,所以$ ChildForm_textboxSendMessage.Text返回$ null。我知道这是因为我已经做到了。不止一次。
最终调整
在这个小型GUI应用程序中,一切都运行良好。我刚刚添加了一些调整,使其更易于使用。
因为用户可以打开子窗体并重复键入消息,所以每次我显示父窗体时,我都希望$ textboxDisplayMessage为空白。因此,在MainForm.psf中的$ buttonOpenChildForm_Click事件处理程序中,调用Clear方法以清除上一次调用中的所有文本。这与将文本框的Text属性设置为$ null或空字符串('')甚至[System.String] .Empty相同。使用任何适合您的技术。
同样,默认情况下,子窗体在主窗体的顶部打开。这使得很难在主窗体上看到显示文本框。
因此,在“属性”窗格中,我更改了每个窗体的StartPosition属性的值,因此子窗体在主窗体旁边而不是在其顶部打开。
形成默认开始位置新的StartPosition
主窗体中心屏WindowsDefaultLocation
子表格中心家长中心屏
那是一个非常简单的多窗体应用程序,但是它向您展示了如何使用引用函数从另一个窗体调用一个窗体,以及如何使用PowerShell Studio创建的返回变量使PowerShell GUI开发尽可能容易。既然您已经了解了基础知识,就可以使用更加复杂和冒险的多格式PowerShell GUI应用程序了。
PowerShell的Get-GUI
github存储库包含完整的PowerShell Studio源代码以及最终项目的打包的.EXE和准备部署的.MSI。对于没有PowerShell Studio的用户,我们已将整个项目导出到可以从PowerShell控制台运行的.PS1文件。我们还提取了.PS1文件并将其“模块化”并将其发布到此处的PowerShell Gallery中。
图1显示了完整的应用程序界面。左上方的窗格显示在PowerShell库中找到的模块的排序列表。右上方的窗格显示了从模块列表中选择的模块的详细信息。底部窗格基本上是用户和PowerShell cmdlet响应执行的所有操作的转储。
细节
在文件的顶部,我们从两次调用Import-Module开始:第一次调用PowerShellGet,第二次导入PackageManagement。(实际上,当我们在代码中包含适当的cmdlet时,这些文件将由PowerShell Studio自动插入。)
由于GUI应用程序是事件驱动的,因此我们的大多数操作代码都进入事件处理程序中。这些是在发生特定事件时由应用程序调用的函数。例如,当用户单击一个按钮时,将调用该按钮的“ click”事件处理程序。当您双击设计器中的对象时,PowerShell Studio会自动生成默认事件处理程序。事件处理程序使用以下公式命名:
$ <对象类型> <对象名称> _ <事件名称>
因此,对于名为MyButton的按钮,CLICK事件处理程序将命名为:
$ buttonMyButton_Click
为了本文的目的,我们将仅检查事件发生时执行的实际代码。请记住,已在对象的“属性”列表中操纵了许多对象属性,以帮助创建有效的UI。这些不在这里讨论。
我们关注的第一个事件处理程序是form_load事件($ formPowerShellGet_Load),如图2顶部所示。该事件在首次加载表单时触发(顾名思义。)我们的form_load事件处理程序调用一个用户定义的称为Check-NuGet的函数,用于验证NuGet在系统上的可用性。如果NuGet不可用,它将提示用户下载并安装它。Add-TextToOutputWindow是辅助函数,它写入应用程序底部的输出窗格。
安装了NuGet之后,我们可以执行菜单选择File-> Get Modules。除了启用一些菜单选项供读者自己浏览之外,该事件处理程序还调用了一个用户定义的函数Update-ListView,如图3所示。
这是一个相当长的函数,因此让我们一次逐步进行一下。
首先,因为我们知道此功能将花费一些时间(因为它需要通过Internet进行通信),所以我们将光标更改为第22行上的等待光标。我们也可以将此代码放在单独的线程中,以便不影响用户界面。在第24-29行中,我们存储了顶层项目的索引,以便在刷新列表时可以将其返回到相同位置。在第31-34行中,我们检查是否有选中的项目,如果有,则存储该项目的索引。
使用Find-Module cmdlet(第40行),连接到PSGallery,并将结果存储在本地变量$ psgModules中。然后在第43行中,我们使用Get-InstalledModule来获取当前已安装模块的列表,并将其存储($ instModules)。
在第46-65行中,我们填充了列表。通过将所有工作封装在.BeginUpdate和.EndUpdate调用之间,我们将列表绘制延迟到完成所有工作为止,从而消除了列表控件的闪烁。对于$ psgModules中的每个模块,我们获得名称和版本,并将这些项目放入列表控件。我们还将模块本身存储在listItems的TAG属性中,以方便以后访问该模块。请参阅本文以获取有关TAG属性的更多详细信息。
在第55-63行中,我们检查刚刚添加的模块是否包含在已安装的模块($ instModules)数组中,如果包含,则将选中标记图像添加到列表控件中。
还记得我们在第33行中存储当前选择时的情况吗?好吧,接下来,我们将使用它来检查以前是否选择过一项,如果是,则在列表中选择它。然后,将列表滚动到我们在第26行中存储的相同位置($ topIndex),以将列表还原到以前的状态(假设它已经滚动并选择了一个项目。)
最后,我们将光标恢复为箭头光标。
让我们检查PowerShell Get GUI应用程序的其他一些功能。
在我们的列表成功加载了PowerShell Gallery模块后,用户可以执行以下操作:
选择一个模块以检查其属性
选择一个未安装的模块进行安装
选择一个已安装的模块以将其卸载
情况1
当用户单击列表中的项目时,将触发listview_ItemSelectionChanged事件,并由我们的$ lvModules_ItemSelectionChanged事件处理程序处理,如上面的图4所示。如果选择了一项,我们首先将.Tag属性的内容保存到局部变量$ module中。如果您还记得本文前面的内容,当我们填写列表时,会将实际的模块存储在.Tag属性中,以供以后访问。请参阅本文以获取有关TAG属性的更多详细信息。
然后,我们设置一个“等待”光标,清除详细信息窗格(UI右上方),然后在模块上调用Get-Member并将字符串输出存储到$ output。我们将该字符串输出分配给详细信息窗格的.text属性,然后将光标返回到默认箭头。我们还设置了几个菜单选项以启用以创建良好的UI。
情况二
可以通过选择“文件”->“安装所选模块”菜单选项或右键单击该模块并选择“安装”来安装列表中的模块。
图5显示了选择该菜单选项时执行的代码。首先,我们获得模块名称,并向用户显示一个验证对话框。如果用户在对话框中单击“确定”,那么我们将设置一个等待光标。接下来,我们使用模块名称PSGallery作为存储库调用Install-Module,并将其范围限定给当前用户。这些命令的输出将转换为字符串,并输出到应用程序底部的“输出”窗格。我们更新列表视图,这将在模块上打勾。最后,我们将光标重新设置为默认箭头。
可以通过选择“文件”->“卸载所选模块”菜单选项或右键单击该模块并选择“卸载”来卸载已安装的模块。
这可能是我们最简单的事件处理程序。图6中的代码使用Try…Catch处理任何错误。在“尝试”部分中,我们使用在列表视图.selectedItems数组的第一个元素中找到的文本来调用Remove-Module。由于只有1个选择项(由对象属性设置),我们知道它将是“ 0”项,并且该选择的文本是模块名称。如果失败,则在输出窗格中显示错误。
此应用程序中发生的事情比本文描述的要多得多。设置对象属性,启用和禁用菜单选项等都可以共同构成一个出色的用户界面。
下载地址
人气软件
-
redis desktop manager2020.1中文 32.52 MB
/简体中文 -
s7 200 smart编程软件 187 MB
/简体中文 -
GX Works 2(三菱PLC编程软件) 487 MB
/简体中文 -
CIMCO Edit V8中文 248 MB
/简体中文 -
JetBrains DataGrip 353 MB
/英文 -
Dev C++下载 (TDM-GCC) 83.52 MB
/简体中文 -
TouchWin编辑工具(信捷触摸屏编程软件) 55.69 MB
/简体中文 -
信捷PLC编程工具软件 14.4 MB
/简体中文 -
TLauncher(Minecraft游戏启动器) 16.95 MB
/英文 -
Ardublock中文版(Arduino图形化编程软件) 2.65 MB
/简体中文