问题标签 [write-host]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
33 浏览

powershell - PowerShell 中的错误输出

但我得到以下输出:

而不仅仅是“确定”。

给出:

看起来 HP iLO cmdlet 可能正在使用 aWrite-Host来输出错误消息,这可能是问题所在。

0 投票
1 回答
79 浏览

powershell - Do-Until 循环询问两次值

问题在于循环 DoUntil。脚本必须获取 URL,然后询问如何处理他并在用户选择数字(1-4)后给出结果,然后输出再次给出菜单,用户可以根据需要选择另一个数字或完成脚本输入“X”。

但是这个脚本以不同的方式工作,它是询问 URL,在我选择号码之后,然后它再次询问 URL 和号码,然后(例如,如果我将选择两次相同的号码)它将为我带来 2 个 URL 的值。

请指教,我做错了什么。

Ps 和一点评论,在 2-3-4 选项中我有 ' Resolve-DNSName' 但是这个脚本不会在循环doUntil完成之前在控制台上显示它。所以只有当我选择'X'并完成循环时我才能看到结果

0 投票
1 回答
1718 浏览

powershell - 如何在同一行上连接 2 个写入输出?

我写了一个脚本,如果安装了软件,它可以返回你。

我想给它一些颜色,但我不知道如何将 2 连接到仅适用于...Write-Output的同一行上,在这种情况下我不能使用:-NoNewlineWrite-Host

在此处输入图像描述

我知道我可以与

但不工作。

0 投票
1 回答
393 浏览

powershell - 如何根据powershell中的主机名将设备对象过滤为单个设备?

我正在尝试通过使用单个设备的主机名从包含 Powershell 中 100 台设备的详细信息的对象中获取设备的站点名称。我该如何过滤它?

数据最初来自 API,并以 Json 的形式被拉入,我已经使用它进行了转换,ConvertFrom-Json因此它现在应该在一个对象中。

我尝试通过管道传递对象但未成功Select-ObjectWhere-Object我使用命令的方式似乎没有做任何事情,但我不确定我做错了什么。

最初使用以下方法提取数据:

然后使用以下方法转换为对象:

然后可以使用以下命令查看结果:

这将显示与此类似的数据:

我希望能够根据主机名将输出过滤为 1 个结果,因此我尝试使用Where-ObjectSelect-Object函数的组合:

这似乎什么都不做,并再次显示所有内容。我试着不那么具体,但也只选择站点名称:

但这也再次显示了一切。我尝试了Select-Object具有相同结果的类似变体。

当使用Where-Object来指定我想要的对象,然后使用我希望只选择站点名称值/属性时,Select-Object我希望得到的输出只是

0 投票
0 回答
35 浏览

powershell - 从 Powershell 中的管道对象中提取或取消引用“名称”属性

Name在管道之后指定对象部分的正确方法是什么?

实际答案从管道中取出Select并直接使用,例如

dir $staging | Write-Host -ForegroundColor DarkCyan


设置 我正在为输出做一个目录列表,我想用它Write-Host来实现它,但是需要区分对象装箱并只显示Name.

命令 dir | select Name | Write-Host -ForegroundColor DarkCyan

但是控制台的输出看起来像这样

恩斯


如何做到这一点以仅显示 的值Name

0 投票
1 回答
138 浏览

powershell - 尝试测试代码,不断得到“System.____comobject”而不是变量值

我正在尝试编写一个小的 powershell 脚本来做一些事情

1) 在我的 Outlook 中解析收件箱项目 2) 搜索 RegEx 字符串 3) 将与 RegEx 字符串匹配的行转储到 CSV

我无法让#3 工作。它肯定会运行大约 10 分钟,但生成的 csv 是空的。

这是我希望它寻找的片段:

账户名称:Jbond

我试着在各个部分打一个“Write-Host $variable”来看看发生了什么,但我得到的只是“System.____comobject”。我在网上找不到将其转换为纯文本的解决方案。

0 投票
1 回答
59 浏览

regex - 等效的 powershell 正则表达式

是否有一些非荒谬的(foreach)方法可以用 powershell 重现 linux 输出?

回声 A{0..9} A0 A1 A2 A3 A4 A5 A6 A7 A8 A9


写主机 A(0..9) A 0 1 2 3 4 5 6 7 8 9

谢谢!

0 投票
1 回答
665 浏览

powershell - Output file doesn't match Write-Host

When I Write-Host from my .ps1 file I see:

When I output to a file, I see:

I am using a simple write-host ($childgroup.name), ">>", ($object.samaccountname)

When I try to output the same information using Return, Out-File, Export to CSV, etc... I get 3 lines for what Write-Host prints as a single line.

I just want the output file to be in the same format as the Write-Host output.

as requested:

0 投票
1 回答
1196 浏览

powershell - 使用 Write-Host 时删除对象之间的空间

我有一个类似这样的文本文件:

然后我读入文件,选择我想要的行,拆分行,以便我只得到“=”符号右侧的内容,修剪空格,然后使用以下代码将其全部放入变量中:

对于我拥有的每个设置(即年、月、日、时间),都会重复上述代码。

当我将 $Year 放入命令提示符时,我得到“YYYY”(没有前导空格);但是当我使用 Write-Host 时,我得到“YYYY”(有一个前导空格)。

由于文件路径和文件命名原因,我能够将 $Year $Month 放在eathother 旁边,这一点很重要。(即 .\YYYY\MM 或 YYYYMM.txt)。

我努力了:

如果问题不在 Write-Host 行,那么我唯一能想到的另一件事就是它必须与数据如何写入变量有关。请记住,这只是一个例子,我的实际问题更大。这只是我需要完成的一个简单示例。

快速更新:我发现了一个很长的解决方法,如下所示:

但是必须有更好的方法来做到这一点。我在实际代码中使用了大约 8 个变量。因此,给出 1 个文件名和路径的示例将是 8 行长......这将是愚蠢的。

0 投票
2 回答
561 浏览

powershell - 在 Write-Host 中间运行命令

我有一个 write-host 行,我想在其中执行一个命令,因此输出将插入到 write-host 字符串的中间。

基本上我有一个 txt 文件,其中包含一套脚本的配置数据,其中一个配置是日期和时间的格式。例如,有一个年份格式的配置是 'YYYY',它被写入 $Year。

所以我想做的是这样的:

运行时我希望在屏幕上看到的是

现在我知道我可以用这个逻辑声明另一个变量并且只是......

...但我希望不要创建另一个变量。这是我的脚本的一个愚蠢的例子,所以如果我走这条路,我会创造很多变量。请注意,我使用 .ToLower() 来补偿用户对配置文本文件的输入。