问题标签 [powershell-2.0]

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 投票
4 回答
253 浏览

powershell-2.0 - 可以远程连接到其他系统并发出命令的控制台实用程序

我的工作经常涉及到 VNC 到远程系统并进行处理。因为我大部分时间都在这个远程系统上运行命令行应用程序,所以我想知道是否有可以在本地计算机上安装的命令提示符的替代软件。使用这个我应该能够创建与远程系统的会话,从那时起,在命令提示符下发出的所有命令都应该在远程系统中运行。

localHost>dir --> 应该列出远程主机活动目录中的目录内容

localhost>app.exe 应该在远程主机中运行 app.exe 并在 localhost 命令提示符中显示其内容

我浏览了一下并阅读了有关 powershell 中的 cmdlet 的信息。但看起来我需要为路径中的每个应用程序(路径中的 dir、mkdir、app.exe)编写一个 cmdlet。如果我错了,请纠正我。建立会话后,我只需要在本地主机中调用的命令在远程主机中运行并将控制台输出返回到本地主机。如果 powershell + cmdlet 是唯一的方法,请告诉我

谢谢

0 投票
4 回答
10629 浏览

powershell - 使用 PowerShell 清理文件夹

我想在脚本运行后通过从当前目录中删除某些文件夹和文件(如果存在)来清理一些目录。最初,我这样构建脚本:

既然我在本节中列出了很多项目,我想清理一下代码。我该怎么做?

旁注:这些项目在脚本运行之前被清理,因为它们是上次运行留下的,以防我需要检查它们。

0 投票
2 回答
942 浏览

sql-server - 如果 Powershell 中的 elseif 结果,则根据 foreach 更改写入主机输出颜色

我正在尝试根据 Powershell 中 SQL Server 作业的 lastrunoutcome 属性更改写入主机输出的颜色...如...如果作业成功,lastrunoutcome 的输出为绿色的“成功”。 ...如果失败,则以红色显示“失败”。我有脚本工作以获得所需的工作状态......我只是不知道如何更改颜色。

这是我到目前为止所拥有的:

这似乎是我得到的最接近的......但它给了我一个错误““LastRunOutcome”是一个只读属性。”

任何帮助将不胜感激!

谢谢!

情绪

0 投票
1 回答
315 浏览

powershell - 这是 PowerShell 类型解析机制中的边缘案例吗?

这是我的情况。我有一个导入PowerShell-JSON库的 PowerShell 模块;此库将 JSON 字符串转换为 PowerShell 对象。我的模块提供了一个到 CouchDB 的接口,所以我的 JSON 字符串是从 HTTP 调用中获得的。我有一个函数,Send-CouchDbRequest它向 CouchDB 发出 HTTP 请求并将响应数据作为字符串返回(响应数据是使用 获取的StreamReader.ReadToEnd())。

在另一个函数中Get-CouchDbDocument,我调用了 Send-CouchDbRequest,并将输出保存在变量中$json。根据$json.GetType()and $json | Get-Member,这是 类型System.String。如果我随后将此字符串输入ConvertFrom-JSON,我希望返回一个PSCustomObject根据提供给它的 JSON 文档定义的属性;相反,我得到一个 PowerShell 哈希表的字符串表示形式,即@{name1=value; name2=value2; name3=value3}. 返回的对象也是System.String基于与上述相同测试的类型,而不是预期的PSCustomObject. 在我看来,PowerShell 在这里进行了某种自动(和不需要/不需要的)类型转换。

该错误不在 PowerShell-JSON 中——我已经与作者讨论过,并且我们都设法ConvertFrom-JSON在虚拟模块中获得相同的调用。因此,我得出结论,错误一定在我的代码中的某个地方,这可能是字符串通过 HTTP 进入的事实的结果。

Get-CouchDbDocument 的代码如下:

Send-CouchDbRequest 的代码很长,可以在 GitHub 上找到。在我描述的场景中失败并在其他地方工作的示例 JSON 字符串是:

有什么想法吗?提前谢谢了。

0 投票
1 回答
1921 浏览

powershell - 看似相同的输入数据的神秘不同转换为字符串[]

在调查一些问题的过程中,我发现原因是意外不同的转换为看似相同的输入数据的 string[]。即,在下面的代码中,两个命令都返回相同的两个项 File1.txt 和 File2.txt。但是转换为 string[] 会产生不同的结果,请参阅注释。

任何想法为什么会这样?这可能是一个错误。如果有人也这么认为,我会提交。但是很高兴了解正在发生的事情并避免这样的陷阱。

0 投票
2 回答
9155 浏览

sql-server - SMO ConnectionContext.StatementTimeout 设置被忽略

我成功地使用 Powershell 和 SMO 来备份大多数数据库。但是,我有几个大型数据库,其中收到“超时”错误“System.Data.SqlClient.SqlException:超时已过期”。超时始终发生在 10 分钟。我尝试将 ConnectionContext.StatementTimeout 设置为 0、6000 和 [System.Int32]::MaxValue。设置没有任何区别。我发现许多 Google 参考资料表明将其设置为 0 使其不受限制。无论我尝试什么,超时始终发生在 10 分钟。我什至将服务器上的远程查询超时设置为 0(通过 Studio Manager),但无济于事。下面是我设置超时和实际备份功能的 SMO 连接。下面是我的脚本的输出。

更新 有趣的是,我使用 VS 2008 在 C# 中编写了备份功能,并且超时覆盖确实在该环境中工作。我正在将该 C# 进程合并到我的 Powershell 脚本中,直到我找出为什么超时覆盖不适用于 Powershell。这非常烦人!

}


0 投票
1 回答
532 浏览

powershell - Powershell:Get-Process 返回“无效”VM 大小

我在 Windows XP SP3 上运行 PowerShell 2.0 并执行:

它返回:

但是,Windows 任务管理器显示 firefox.exe 的以下统计信息:

为什么 PowerShell 的 VM 输出比 Windows 任务管理器的输出多 300 MB?

编辑: 看起来PowerShell的PM( ) 属性输出与 Windows 任务管理器的“VM 大小”输出密切相关。PagedMemorySize然而, MSDN表示该PagedMemorySize属性已过时。我应该依靠该PM属性来获取虚拟内存吗?VM财产代表什么?

0 投票
4 回答
8508 浏览

function - 具有默认值的参数不在 PsBoundParameters 中?

通用代码

考虑这段代码:

我希望这$PsBoundParameters将包含$p两种情况下的变量记录。这是正确的行为吗?

问题

我想对很多功能使用可以像这样工作的飞溅:

我不想用枚举的所有参数调用 SomeFuncWithManyRequiredParams:

可能吗?

0 投票
4 回答
1967 浏览

performance - 在 V2 中加速 PowerShell 脚本?

我正在使用 PowerShell V2 运行许多脚本,并且我注意到控制台窗口首次加载时会出现长时间的停顿。我可以做些什么来提高我的脚本的性能?

谢谢,魔术安迪

0 投票
1 回答
3539 浏览

exception - 如何捕获另一个 Powershell 脚本中抛出的异常?

我有两个 Powershell 脚本;main.ps1 和 sub.ps1。main.ps1 调用 sub.ps1。有时 sub.ps1 会引发异常。是否可以从 main.ps1 捕获 sub.ps1 引发的异常?

示例 main.ps1:

示例 sub.ps1: