在 PowerShell 中提示用户输入

2024-06-25

我想提示用户进行一系列输入,包括密码和文件名。

我有一个使用的例子host.ui.prompt,这似乎很合理,但我无法理解回报。

有没有更好的方法在 PowerShell 中获取用户输入?


Read-Host http://technet.microsoft.com/en-us/library/hh849945.aspx是从用户获取字符串输入的简单选项。

$name = Read-Host 'What is your username?'

要隐藏密码,您可以使用:

$pass = Read-Host 'What is your password?' -AsSecureString

要将密码转换为纯文本:

[Runtime.InteropServices.Marshal]::PtrToStringAuto(
    [Runtime.InteropServices.Marshal]::SecureStringToBSTR($pass))

至于返回的类型$host.UI.Prompt(),如果您在 @Christian 评论中发布的链接中运行代码,您可以通过将其通过管道传递到来找出返回类型Get-Member http://technet.microsoft.com/en-us/library/hh849928.aspx(例如,$results | gm)。结果是一个字典,其中键是某个名称FieldDescription提示中使用的对象。要访问链接示例中第一个提示的结果,您可以键入:$results['String Field'].

要访问信息而不调用方法,请去掉括号:

PS> $Host.UI.Prompt

MemberType          : Method
OverloadDefinitions : {System.Collections.Generic.Dictionary[string,psobject] Pr
                    ompt(string caption, string message, System.Collections.Ob
                    jectModel.Collection[System.Management.Automation.Host.Fie
                    ldDescription] descriptions)}
TypeNameOfValue     : System.Management.Automation.PSMethod
Value               : System.Collections.Generic.Dictionary[string,psobject] Pro
                    mpt(string caption, string message, System.Collections.Obj
                    ectModel.Collection[System.Management.Automation.Host.Fiel
                    dDescription] descriptions)
Name                : Prompt
IsInstance          : True

$Host.UI.Prompt.OverloadDefinitions将为您提供该方法的定义。每个定义显示为<Return Type> <Method Name>(<Parameters>).

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 PowerShell 中提示用户输入 的相关文章

  • 如何更改参数的抛出消息?

    问题 希望更改显示的错误消息 表示需要将 passed warning 或 failed 包含在 cmdlet 参数中 或者不关心这三个参数是否丢失并写入消息 假设它在那里 解释 创建了一个接受三个参数的函数 一条消息 第二条消息和消息状态
  • 使用 New-WebServiceProxy 在 PowerShell 中添加自定义 SOAP 标头

    在 C 中我可以执行以下操作 var header MessageHeader CreateHeader MyHeader http mynamespace Header value OperationContext Current Out
  • 使用 powershell 从 tfs 获取项目的最新版本

    我正在尝试使用 powershell 自动化我们的日常开发人员任务 我的 powershell 脚本已经完成一半了 我想从 TFS 获取特定项目的最新版本 开发人员将可以访问 TFS 中的多个项目 在这些项目中 特定项目下的文件需要更新 我
  • Powershell 使用 ConvertFrom-Csv 解析带有换行符的管道 CSV 数据

    当尝试解析字段内带有换行符的 CSV 数据时 ConvertFrom Csv 将无法正常工作 这是一个例子 test csv name address John Doe 123 Easy Way Apt 10 Somewhere USA J
  • 具有默认值的参数不在 PsBoundParameters 中?

    通用代码 考虑这段代码 PS gt function Test param p default value PsBoundParameters PS gt Test some value Key Value p some value PS
  • 如何使用 PowerShell 检查文件是否早于特定时间?

    我怎样才能办理登机手续电源外壳查看 fullPath 中的文件是否早于 5 天 10 小时 5 分钟 老 我的意思是如果创建或修改不晚于 5 天 10 小时 5 分钟 这是一种非常简洁但易读的方法 lastWrite get item fu
  • 如何使用 gnuwin32 Makefile 执行 powershell/cmd 命令?

    我尝试使用以下 makefile 处理器在 Windows 的 makefile 中使用curl rm start 等命令 http gnuwin32 sourceforge net packages make htm http gnuwi
  • Powershell - 获取邮箱统计| Powershell总项目大小-gt“40GB”

    我正在使用以下命令尝试提取 Office 365 中的邮箱大小 然后我尝试过滤结果以仅包含超过 40GB 的邮箱 我相信这是因为下面将 TotalItemSize 转换为字符串 然后我无法与 40 GB 的 int 值进行比较 但是我不够兼
  • 如何声明字符串数组(多行)

    为什么 dlls Count返回单个元素 我尝试这样声明我的字符串数组 basePath Split Path MyInvocation MyCommand Path dlls basePath bin debug dll1 dll bas
  • 如何使用 powershell 重命名 blob 文件

    看似简单的任务 我只想重命名一个 blob 文件 我知道我必须复制它来重命名或执行其他操作 然后删除原始文件 但这很棘手 我已经创建了存储上下文 New AzureStorageContext 并获取了 blob Get AzureStor
  • 如何从 .ps1 文件运行 powershell 脚本?

    我正在尝试自动执行一个简单的 PS 脚本 以删除某个 txt 文件 显然 我是 powershell 新手 当我在 shell 中运行代码时 它工作完美 但是当我将代码保存为 ps1 并双击它 或远程执行它 时 它只是弹出一个窗口 什么也不
  • Copy-Item 将目录及其内容复制到 UNC 路径

    我正在尝试使用 PowerShell 1 0 获取文件夹的内容并将其复制到另一个文件夹 非常简单的东西 使用起来一切都很好Copy Item from to recurse如果我从本地文件夹复制到本地文件夹 然而 如果 to变量是一个UNC
  • 在 Powershell 中获取小文件的“磁盘大小”

    我正在使用一个遗留系统 该系统有大量来自外部系统的导入 其中大多数通过下载文件 根据上下文大小不同 处理它 然后将文件存储在 SAN 卷上的其他位置 格式为 NTFS 和安装在 WS2008R2 盒子上 我们遇到的问题是 由于簇的大小 大量
  • 基于团体成员资格的额外输出

    我希望你们都度过愉快的一天 如果这是一个糟糕的问题尝试 我提前道歉 我不太擅长这个 介绍 首先 我想介绍一下我实际正在创作的内容 我为 MSP 工作 我的任务是创建一个供我们的一位客户使用的用户管理 Powershell 脚本 以便我们可以
  • Powershell脚本为用户创建主文件夹并设置权限

    我正在做一个 powershell 脚本 它在 AD 中创建新的域用户帐户 并在文件服务器中创建具有相关权限的主目录 我的问题是我无法获得权限设置 在下面的代码中 my fileServer是文件服务器名称 sso 表示单点登录 id 在下
  • 如何使用 7zip powershell 包含文件和文件夹

    我试图让我的 powershell 脚本压缩一些文件和文件夹 目前 我可以使我的脚本要么压缩所有文件 不包含文件夹 要么压缩包含文件夹但到错误路径的所有文件 一个例子是 如果我有一个名为 wordpress 的文件夹 其中包含文件和一些子文
  • Azure 自动化 Powershell Runbook 无法进行 LoadAssembly

    我是 Powershell Runbook 的新手 所以如果我遗漏了一些明显的内容 请原谅我 我正在尝试从我的脚本记录 Application Insights 请求 但甚至无法加载 DLL 尽管我已经看到其他代码执行非常类似的操作 请注意
  • 如何在 powershell 中更改其他用户的特定注册表设置

    Goal 要编辑特定用户 而不是其他用户 的特定注册表项设置 请在电源外壳 Known 操作系统 Windows 8 1 Embedded Industry Pro 与Win 8 1相同 但具有一些嵌入式功能 我可以在目标计算机上手动执行此
  • 使用 Pester 5 和 PowerShell 7 模拟类函数

    有谁有使用 Pester 5 和 PowerShell 7 模拟点源类函数的示例吗 谢谢 编辑 示例 类 MyClass ps1 class MyClass void Run Write Host Class Invoking run 我的
  • PowerShell - 提示“您想继续吗”

    我有一个脚本用于自动化 WSUS 进程 它的最后阶段继续删除所有旧的 不必要的文件 对象 我想在清理阶段之前提示 按 输入 继续删除或按任何其他键停止 以便人们可以选择不运行它 我目前在脚本末尾的代码在这里 Get WsusServer 1

随机推荐

  • 将布尔值转换为整数值php

    PHP 是否有任何内置函数可以接受布尔值并返回其等效整数 0 代表假 1 代表真 当然 您可以轻松创建一个函数来执行此操作 我只是问 PHP 内部是否有内置函数 我已经尝试过了intval 并将其投射到 int 但它们不起作用 在 TRUE
  • ReSharper 和 Rational Team Concert (RTC) - 它们配合得很好吗?

    我最近加入了一个小型开发团队 该团队正在考虑新的版本控制系统 由于它是大型组织的一部分 因此我们很可能采用 Rational Team Concert 的公司标准 我建议他们应该选择更简单的东西 但我可能不会如愿 我主要担心它无法与 ReS
  • Python Celery - 通过 pid 查找任务

    也许是一个非常简单的问题 我经常看到我的系统上运行着一个celery任务进程 但我在使用时却找不到celery task control inspect s active 方法 通常这个进程会运行几个小时 我担心它是某种僵尸 通常它也会消耗
  • 递归分层父子

    我有一个来自数据库的项目集合 该数据库具有parentid值或空 这是我的班级设计 public class Item public int id get set public string Name get set public int
  • 从父节点读取特定叶/子节点的 Firebase 规则

    我的 firebase 数据库看起来像这样 students firebase key 1 Name blah blah Address blah blah Roll No blah blah Marks Sub1 blah Sub2 bl
  • asp.net MVC - 如何通过不同的存储库类共享 SqlConnection 的同一实例

    我正在使用 MVC5 和普通 ADO NET 创建一个新项目 只是作为学习练习 我需要创建一个存储库 用于注册一个模型 其中包含几个也需要同时创建的相关对象以及这些对象反过来可能需要插入其他对象 我能想到的最简单的解决方案是拥有一个庞大的方
  • Puppeteer - 如何获取当前页面(应用程序/pdf)作为缓冲区或文件?

    使用 Puppeteer https github com GoogleChrome puppeteer https github com GoogleChrome puppeteer 我有一个页面是申请 pdf With headless
  • 高效滚动最大和最小窗口

    我想有效地计算滚动最大值和最小值 这意味着比每次窗口移动时从使用的所有值重新计算最大值 最小值更好 这里有一篇文章问了同样的问题 有人发布了一个涉及某种堆栈方法的解决方案 据说该方法是根据其评级来工作的 然而我这辈子都找不到它了 在寻找解决
  • 在RelativeLayout android中使用java动态改变TextView的位置

    我有RelativeLayout 并且RelativeLayout中有一个textview 我从服务器获取位置 如ALIGN PARENT LEFT ALIGN PARENT TOP 基于该值我想更改textview的位置 我的 xml 文
  • NSDate 输出不正确[重复]

    这个问题在这里已经有答案了 可能的重复 获取日期与 NSDate date 相差几个小时 https stackoverflow com questions 8466744 getting date from nsdate date off
  • 使用 Set 而不是 List 会导致“无法写入 JSON:无限递归”异常

    我收到错误 无法编写 JSON 无限递归 当尝试访问端点时http localhost 8080 categoryOfPermissions http localhost 8080 categoryOfPermissions 我研究并找到了
  • 如何将浮动列表项居中?

    我的网站导航有需要居中的列表项 我处于浮动状态 以便可以在列表项上进行填充 将它们设置为内联似乎可以消除顶部和底部填充 div ul ul div
  • SVG 线条描边-dasharray 无法正确打印为 PDF

    打印行与stroke dasharrayPDF 创建不同的行为 请 看着那 这image https i stack imgur com doOku png here 图A 我直接从浏览器 Chrome 获取的屏幕截图 图B是同一页面的打印
  • 如何将画布转换为图像以上传到烧瓶?

    好吧 我正在尝试将调整大小的画布图像作为文件上传到 Flask 首先我尝试使用canvas toDataURL 将其转换为 base64 字符串 然后尝试使用以下命令将其作为图像上传formdata使用AJAX 就没那么幸运了 然后我尝试使
  • Castle.Windsor可以自动解析具体类型吗

    我们正在评估 C 项目的 IoC 容器 Unity 和 Castle Windsor 都表现出色 我喜欢 Unity 的一件事 NInject 和 StructureMap 也这样做 是 显而易见如何构造它们的类型不必向 IoC 容器注册
  • 使 DateTime::createFromFormat() 返回子类而不是父类

    我正在延长DateTime添加一些有用的方法和常量 使用时new创建一个新对象一切都很好 但是使用静态方法时createFromFormat它总是返回原来的DateTime对象 当然没有任何子方法可用 我正在使用以下代码来规避此问题 这是最
  • 以编程方式将样式应用于 MaterialButton

    我正在尝试创建一个扩展自的自定义视图MaterialButton并在代码中应用样式 这样我就不需要在 xml 中执行它 class CustomRedButton JvmOverloads constructor context Conte
  • 用于替换格式但保留单元格值的 VBA:部分解决

    我正在尝试组合 VBA 来搜索特定的单元格格式 然后更改该单元格格式 我从这篇文章中得到了灵感 Excel VBA 值替换后仍保持字符串格式 https stackoverflow com questions 25825136 excel
  • 当 SQL 包含变量时在 pgAdmin 中调试 SQL

    在 SQL Server 中 我可以从应用程序中复制 sql 代码并将其粘贴到 SSMS 中 声明并分配 sql 中存在的变量并运行 是的 很棒的调试场景 例如 请注意 我很生疏 语法可能不正确 declare x as varchar 1
  • 在 PowerShell 中提示用户输入

    我想提示用户进行一系列输入 包括密码和文件名 我有一个使用的例子host ui prompt 这似乎很合理 但我无法理解回报 有没有更好的方法在 PowerShell 中获取用户输入 Read Host http technet micro