迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 >

在 PowerShell 中创建输入框

作者:迹忆客 最近更新:2024/03/03 浏览次数:

在 PowerShell 中,脚本可以通过使用 Read-Host 命令提示用户来检索用户的输入。它的作用类似于 stdin 命令,从命令行读取用户提供的信息。

由于用户的输入也可以存储为安全字符串,因此也可以使用此 cmdlet 提示密码。

在常规 PowerShell 或 ISE 中,在提示符末尾显示一个冒号,请求在更 GUI 增强的 ISE 中输入。此外,还会显示一个弹出窗口以及几个按钮。

本文将解释使用提示符在 PowerShell 中获取用户输入以及如何使用 PowerShell GUI 生成输入框。


PowerShell 中的 Read-Host 命令简介

Read-Host 命令是最基本的 PowerShell 本机命令,我们可以使用它来请求用户输入。

示例代码:

Read-Host

基本语法:

Read-Host [[-Prompt] <Object>] [-AsSecureString] [<CommonParameters>] ALIASES
None

Read-Host 命令有三个我们可以使用的参数。

-AsSecureString - 这个参数表示用户输入的输入被*隐藏。使用此参数时,输出为特定的字符串对象。

  1. 参数值的数据类型为 Switch
  2. 参数的默认值为 NULL
  3. 不接受通配符。

-MaskInput - 此参数类似于功能中的安全字符串参数,不同之处在于输出是字符串,而不是安全字符串。

  1. 参数值的数据类型为 Switch
  2. 参数的默认值为 NULL
  3. 不接受通配符。

-Prompt - 此参数表示要显示给用户的脚本提示文本。该参数值需要是一个字符串。

在空格的情况下,它们应该用引号括起来。

  1. 参数的数据类型是 PSObject
  2. 参数的默认值为 NULL
  3. 不接受通配符。

在 PowerShell 中使用安全字符串参数

执行 Read-Host 命令时,其正常行为将要求用户在命令行上输入。但是,使用 AsSecureString 参数是生成要求用户输入的简单 GUI 的最简单方法之一。

为此,请运行以下代码片段。

$UserName = Read-Host 'Enter Your User Name:' -AsSecureString

输出:

唯一的缺点是输入像密码一样被屏蔽。如果我们要求输入用户的密码,这种方法是完美的。

但是,如果我们要求一些可以以纯文本形式显示的内容,比如用户名或员工 ID,该怎么办。

如果我们想要自定义不需要 AsSecureString 参数的输入框和字段怎么办。我们将在本文的下一节中讨论实现此过程的方法。


在 PowerShell 中使用 Visual Basic 库

使用 GUI 界面请求用户输入的最新方法之一是使用 Add-Type cmdlet 加载 Microsoft Visual Basic Interaction 类。

示例代码:

Add-Type -AssemblyName Microsoft.VisualBasic
$User = [Microsoft.VisualBasic.Interaction]::InputBox('Username:', 'User', "Enter username here")

正如我们在上面的代码片段中看到的,InputBox 函数接受三个参数。

  1. 第一个参数是文本字段的标签或名称。
  2. 第二个参数是变量的名称,我们将在其中存储提供的用户输入的值。
  3. 第三个参数是文本字段的默认值。

输出:

一旦用户用用户输入填写文本框并按下 OK 按钮,$User 变量将包含文本框中的值。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 PowerShell 中显示消息框

发布时间:2024/03/03 浏览次数:103 分类:编程语言

本文将讨论名为 Message Boxes 的 PowerShell GUI 的重要功能,我们将学习如何使用 PowerShell 编写和输出它们。

在 PowerShell 中输出信息性消息

发布时间:2024/03/03 浏览次数:74 分类:编程语言

本文将区分多个写入命令,例如写入信息、警告和错误消息,并提供我们可以在 PowerShell 中何时何地使用它们的情况。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便