问题标签 [psobject]

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 投票
3 回答
4930 浏览

.net - 深拷贝 PSObject

我有一个 powershell 脚本,我在其中执行以下操作

我需要这样做,因为我想在 CSV 中制作几个不同的数据副本以执行几个不同的操作。从某种意义上说,我正在对PSObject的结果数组执行“INNER JOIN” 。$somePSObjectHashtables我可以轻松地使用ForEach-Object迭代并在数组的每个成员上调用Hashtable.Clone() 。然后我可以New-Object PSObject -Property $someHashTable[$i]用来获取 PSObject 的深层副本。

我的问题是,是否有一些更简单的方法来制作深层副本,而无需中间哈希表?

0 投票
2 回答
1329 浏览

datetime - 为什么 Get-Date 似乎返回 DateTime 对象,但 BinarySerializer 表明它返回一个 PSObject?

以简单的HashTable为例:

关键 StartDate 似乎包含一个DateTime

但是,如果我尝试对其执行二进制序列化,则会收到一个异常,抱怨PSObject不可序列化。

抛出:

如果我像这样对 [DateTime] 使用显式强制转换,这条消息就会消失,一切正常:

Get-Date 是不是真的返回了 DateTime,或者是其他一些 powershell 奇怪的东西在这里工作。

0 投票
1 回答
2027 浏览

c# - 将 C# Psobjects 集合传递给 powershell 管道

我有一个 C# PSObjects 集合,我想将它们传递给一个 powershell 脚本。我喜欢在管道中传递它,这样我就可以在 psfile 的进程部分中使用它。

任何人都知道这是否可能,在这种情况下。我该怎么做?

0 投票
1 回答
3649 浏览

powershell - Powershell查找特定行(查询)psobject

我是 Powershell 的新手。我正在为最简单的任务而苦苦挣扎。

好的。这是一个非常愚蠢的问题,但是我创建了一个 PSObject ...添加了成员​​(4 列,ID,Name,Status,TagFile;许多行)...我有一个循环...对于每个 i(迭代) ...我希望它使用我的对象中 ID = i 的行的值。

真的不难。我用谷歌搜索并没有想出足够清晰或简洁的答案来帮助我。

0 投票
1 回答
9358 浏览

powershell - 将自定义对象数组传递给函数

我正在尝试将一组自定义对象传递给函数以进一步处理这些对象。

这是我创建自定义对象数组的函数:

然后在我的主代码中,我像这样调用上面的函数:

$netAdapterList 返回预期的数据,我可以执行以下操作:

到现在为止还挺好。

现在我想调用一个传入 $netAdapterList 的函数

我创建了一个像这样的虚拟函数:

当我这样调用它时:

什么都没有打印出来。

我尝试更改函数的签名,但仍然没有运气:

有人知道我在做什么错吗?如何访问函数内的自定义对象?

0 投票
6 回答
57816 浏览

powershell - PSObject、Hashtable 和 PSCustomObject 之间的区别

谁能解释一下细节?如果我使用创建一个对象

然后我使用getType()PowerShell 查找它的类型,告诉我它的类型是Hashtable

当使用Get-Member(别名gm)检查对象时,很明显已经创建了一个哈希表,因为它有一个keys和一个values属性。那么与“普通”哈希表有什么区别?

另外,使用 PSCustomObject 有什么好处?当使用这样的东西创建一个

对我来说唯一可见的区别是PSCustomObject的不同数据类型。同样,不是键和值属性,检查gm显示现在每个键都已添加为 NoteProperty 对象。

但我有什么优势?我可以通过使用它的键来访问我的值,就像在哈希表中一样。我可以在 PSCustomObject 中存储多个简单的键值对(例如键对象对),就像在哈希表中一样。那么有什么好处呢?有什么重要的区别吗?

0 投票
2 回答
5378 浏览

powershell - PowerShell - Win32_OperatingSystem 中的 Select-Object 显示相当奇怪

第一次在这里发布海报,我有点初学者,我一直热衷于让我的 PowerShell 脚本技能达到标准,但我遇到了一些相当令人困惑的事情......

我制作了一个脚本来查询一组计算机,我想查询 Win32_OperatingSystem 但只推断内部版本号,以便我可以用它填充我的 PSObject。我正在尝试添加一些 If 逻辑,以便如果内部版本号是 7601,我可以在我的 OS 列下写一条消息。

我遇到的问题是 BuildNumber 值以 @{BuildNumber=7601} 而不是 7601 的形式出现。那,我的 If 语句很无聊。

0 投票
2 回答
15820 浏览

c# - 在 C# 中按名称访问 PSObject 属性

例如,我有一个具有两个属性的 PSObject 事务: id 和 transactionName ,因此它看起来像: transaction { id: 123 transactionName : tranName1 }

如果事务的名称是 tranName1,我想返回事务的 id。

在我看来,在 powershell 脚本中,我们可以简单地执行以下操作:

但是在 c# 中它会给出错误,因为它无法通过名称识别属性......任何想法如何在 c# 中做到这一点?

0 投票
2 回答
4976 浏览

powershell - 将“本机”对象传递给后台作业

这是我想以一种或另一种方式实现的目标。

我有一个定义一些对象的自定义程序集。在我的脚本中,我创建了一个我想传递给脚本块的自定义对象,以保持该对象的行为。

我怎样才能做到这一点或达到相同的效果?谢谢你的帮助

0 投票
2 回答
598 浏览

vb.net - 如何将包含“”的字符串附加到 VB .NET 中的现有字符串?

我正在开发一个实用程序,它将获取 .ps1 脚本 (Powershell) 的内容,并在 VB.NET Winform 的上下文中运行它。基本上,它通过引用一些 Powershell DLL、打开 .ps1 文件、读取一行文本并将其输入到将在按钮单击事件上运行的内部字符串来实现这一点。

这是我到目前为止的完整代码:

对不起,冗长的东西,但我很好奇的台词是curLine.Contains部分。我要做的是让解析器检测该行是否是特定行(读取$Folder = "")并将空引号替换为存储在文本框(tbpath.selectedtext)中的文件夹路径。不幸的是,由于 Powershell 脚本需要在路径字符串周围加上引号(如果有空格),我无法弄清楚如何做我想要它做的事情。

我应该在那里做什么?我应该将我想要的东西构建到一个新变量(也许vbPath = tbpath.selectedtext)中并将其放入新行吗?有没有“最佳实践”?