ai didi

Powershell格式表错误

转载 作者:行者123 更新时间:2023-12-03 07:03:38 24 4
gpt4 key购买 nike

我正在尝试运行以下代码来检索计算机上的本地用户列表。

gwmi win32_useraccount -Computername $env:computername -Filter "Domain='$env:computername'" |
Format-Table Name,Description

在 PS1 文件中运行时出现此错误:

 The object of type "Microsoft.PowerShell.Commands.Internal.Format.FormatStartData" is not valid or not in the correct sequence. This is likely caused by a user-specified "f ormat-table" command which is conflicting with the default formatting.     + CategoryInfo          : InvalidData: (:) [out-lineoutput], InvalidOperationException     + FullyQualifiedErrorId : ConsoleLineOutputOutOfSequencePacket,Microsoft.PowerShell.Commands.OutLineOutputCommand

我知道这个问题是由于管道的解析方式引起的,但我不知道如何解决它。

最佳答案

Format-* cmdlet 不执行最终输出,而是将其输入转换为一系列格式化对象。这些格式化对象由 Out- cmdlet 之一(可能是 Out-Default)转换为实际输出。

如果脚本具有多个不同的格式化对象集,则脚本中所有表达式的合并对象的最终输出Out-Default 无法解决不一致问题。

修复:将 Out-Sting 添加到每个输出生成管道的末尾,以一次执行一个表达式的格式化:

gwmi win32_useraccount -Computername $env:computername -Filter "Domain='$env:computername'" |
Format-Table Name,Description | Out-String

关于Powershell格式表错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7517581/

24 4 0
文章推荐: ruby-on-rails - 如何卸载 Ruby on Rails 应用程序?
文章推荐: python - 如何从测试脚本中运行 WAF 编译的 C++ 程序?
文章推荐: c++ - 在 vscode 中运行时无法暂停或设置断点
文章推荐: objective-c - NSPredicate代替循环来过滤对象数组
行者123
个人简介

我是一名优秀的程序员,十分优秀!

滴滴打车优惠券免费领取
滴滴打车优惠券
全站热门文章
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com