问题标签 [pscustomobject]
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.
powershell - PowerShell:将 16MB CSV 导入 PowerShell 变量会创建 >600MB 的 PowerShell 内存使用量
我试图理解为什么当我导入一个大约 16MB 的文件作为变量时,PowerShell 的内存会膨胀得如此之多。我可以理解该变量周围有额外的内存结构,但我只是想了解它为什么这么高。这就是我在下面所做的 - 只是一个任何人都可以运行的另一个脚本的简化片段。
笔记/问题
- 不抱怨,试图理解为什么这么多的使用,有没有更好的方法来做到这一点或更有效地管理内存以尊重我正在运行它的系统。
- 同样的行为发生在 PowerShell 5.1 和 PowerShell 7 上,RC3 刚刚发布。我不认为这是一个错误,只是另一个让我了解更多信息的机会。
- 我的总体目标是运行一个 foreach 循环来检查另一个小得多的数组与该数组是否匹配。
我的测试代码
致任何回答此问题的人:感谢您抽出宝贵时间帮助我每天了解更多信息!
powershell - 无法输出 PSCustomObject
我输入了一个集合,然后我必须循环创建自定义对象。对象中的名称都是唯一的。我希望将 PSCustomObject 放入以后可以使用的变量中。
当我将它分配给一个变量时,它似乎发生了 $null 。
我要求 System.Object[] 是 PSCustomObject
PS> $TheTypeNeedsToBePSCustomOutputType.PSobject.TypeNames
BaseObject 中的“$null”妨碍了我。
powershell - 从运行 Invoke-Command for Test-NetConnection 的脚本输入信息时,Export-csv 未在文件中写入内容
首先感谢您的阅读。我是 Powershell 的新手,所以请原谅我的无知。另外,这是我第一次在这里发帖。
然而,在我拥有它并且它正在工作之前,它非常缓慢。这是初始脚本:
然后通过这样做来运行它
所以下面我删除了 -Property * 并清理了它。但是 CSV 文件中没有内容。谁能告诉我为什么当我运行它时 csv 文件中没有内容?
所以最后一个脚本不会向 CSV 输出任何内容。为什么?
powershell - 为什么 PSCustomObject 填充的是单个字符而不是单个字符串?
我正在尝试通过翻译我为使用 FFmpeg 转换视频而制作的旧批处理脚本来学习 PowerShell。
我相信,这几乎与手头的问题无关。
这是给我带来麻烦的代码片段:
存储在$FileList
剪贴板中的文件列表中,由新行分隔。
存储在$Counter
整数0
中。
对于 中的每个项目$FileList
,创建一个包含项目高度和持续时间的新对象,并将 1 添加到$Counter
。
看起来直截了当,对吧?这里有一个问题:如果只有一个高度为 1080 in 的文件$FileList
,$List.VideoHeight[0]
将只返回,1
但如果 至少有两个文件$FileList
,$List.VideoHeight[0]
将返回1080
。
命令行输出:
有什么想法吗?我被困住了。
arrays - Powershell:PSCustomObject 数组作为函数中的参数被意外更改
在下面的简化 PS 代码中,我不明白为什么在调用函数$MyPeople
后数组会发生变化。changeData
这个数组变量应该只是一个副本,我希望该函数将另一个数组变量返回到$UpdatedPeople
而不是 touch $MyPeople
:
控制台输出:
谢谢!
powershell - 比较多个电子表格并生成 CSV 输出
我正在尝试比较两个 csv 文件,第一个称为 ticket.csv 并包含列标题:“tcn”、“two”、“twod”。第二个文件名为 tracker.csv,包含标题:“cn”、“wo”和“wod”。我想输出tracker.csv的内容,如果有“tcn”(tickets.csv)匹配“cn”(tracker.csv),则将其关联的“二”(tickets.csv)写入“wo”( tracker.csv) 和 "twod" (tickets.csv) 到 "wod" (tracker.csv)。
我遇到了我的代码没有移动“两个”或“wod”的问题,并且它还编写了每个对象 4 次。
powershell - 使用 pscustomobject 为一个结果/输出组合 2 个 cmdlet
基本上我在这里想要实现的是一个带有 4 列/列表的输出(在这种情况下我作为文本导出)Get-MailboxPermission 给了我一个身份、用户、访问权限的属性,但它没有给我一个“经理”的财产。我需要确定该特定用户向何处报告。所以,我尝试了 PSCustomObject 并希望我可以将结果放入一个数组中。请参阅下面的脚本
这是文本文件中的输出。我得到了正确的 DisplayName 和 Manager,但 Account 和 Access 似乎没有从文本文件中循环。
显示名称:MAILBOX1
帐户:{user1@domain.ca, user2@domain.ca, user3@domain.ca, user4@domain.ca...}
经理 : MANAGER1
访问:{FullAccess、FullAccess、FullAccess、FullAccess...}
显示名称:MAILBOX2
帐户:{user1@domain.ca, user2@domain.ca, user3@domain.ca, user4@domain.ca...}
经理:MANAGER2
访问:{FullAccess、FullAccess、FullAccess、FullAccess...}
powershell - Powershell PSCustomObject 提取值
当创建和使用 PSCustomObjects 导致 NoteProperty 成员具有“定义”(如下所示)时,是否有任何简单的编程方法可以从定义字段中选择值而不诉诸拆分字符串?
例如下面,是否有一种“好”的方法可以从不需要传统字符串操作的名称“token”字段中提取值“silver”?我一直在搞乱 select 和 -ExpandProperty 但没有快速获得任何地方,并且希望朝着正确的方向轻推。
谢谢。
更新:按照 Thomas 的指导,我想出了这个函数来从 PSObject 中提取 Noteproperty 成员并返回一个带有字段名称和值的 Hashtable:
谢谢!
powershell - 在两个 .JSON 文件上使用 Compare-Object 后,有没有办法对 PSCustomObjects 进行排序?
我正在比较 .JSON 文件,使用Compare-Object
如下:
然后$a
是一个System.Array
。它包含 .JSON 文件中的所有行,每个都位于一个 中InputObject
,并SideIndicator
显示差异。因此,对于诸如
比较函数给出使用
输出:
我的问题是:我想对这些 InputObjects 进行排序,使它们如下所示:
以便在变量不同时对匹配的名称进行排序。我怎样才能对它们进行排序?