当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] Read-Host:获取 PowerShell 脚本输入的好方法

作者:精品下载站 日期:2024-12-14 12:36:32 浏览:15 分类:玩电脑

Read-Host:获取 PowerShell 脚本输入的好方法


使用 Read-Host PowerShell cmdlet,您可以交互式提示脚本用户输入。让我们看看一些实际应用程序,了解如何使用 Read-Host PowerShell cmdlet。

使用 Read-Host 提示输入

Read-Host cmdlet 在 PowerShell 脚本中执行两个功能:它暂停执行并接收输入。就是这样。 Read-Host 是一个简单的 cmdlet,但在需要从脚本用户获取信息时非常有用。

最基本的是,Read-Host cmdlet 只需要使用Prompt 参数。此 Prompt 参数允许您向脚本用户提供某种有关输入内容的指示。例如,如果您的脚本需要服务器名称,您可以选择使用 Read-Host 在脚本运行时提示用户输入该名称。

您可以在下面看到,通过使用 Prompt 参数在 PowerShell 控制台本身内执行 Read-Host,PowerShell 将停止所有执行并显示我的提示消息,向用户提供解释性消息至于我们追求什么。

[玩转系统] Read-Host:获取 PowerShell 脚本输入的好方法

让我们将其合并到脚本中。每当用户在提示符下输入信息时,Read-Host 就会将该信息返回到您的代码。您可以通过将输出分配给变量来轻松捕获此信息。也许我想询问一个服务器名称,然后使用该服务器名称执行某些操作。否则,我想向用户发送警告,让他们知道我真的非常需要该服务器名称。

$serverName = Read-Host -Prompt 'Server name to process'
if ($serverName) {
    Write-Host "We can now use the server name [$serverName] in our code"
} else {
    Write-Warning -Message "No server name input."
}

使用简单的 if/then 构造,我可以确保我的用户输入服务器名称。一旦他们这样做了,我就可以捕获它并用它做一些事情,否则,发送警告消息。

[玩转系统] Read-Host:获取 PowerShell 脚本输入的好方法

询问密码

您应该知道在脚本中以纯文本形式存储密码不是一个好主意。同样,将密码以纯文本形式存储在内存中也不是一个好主意。为了解决这个问题,PowerShell 有一个称为安全字符串的概念,它是一个加密的简单字符串。

安全字符串可以包含任何类型的敏感信息;密码就是一个很好的例子。这与 Read-Host 有什么关系? Read-Host cmdlet 有一个 AsSecureString 参数,该参数允许用户不仅将输出存储为安全字符串,还可以在键入时显示星号以隐藏您的秘密,以免被窥探眼睛!

假设我有一个深深的、黑暗的秘密,我不想让任何人知道,但我需要将此密码传递给某种软件。您可以在下面看到,当我不使用 AsSecureString 时,您就发现我了!但是,如果我使用 AsSecureString,我的秘密是安全的,因为我输入的每个字符都会替换为星号,并且输出会保存为安全字符串而不是纯文本字符串。

[玩转系统] Read-Host:获取 PowerShell 脚本输入的好方法

要引用 Read-Host 文档,请查看 Microsoft 文档。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯