问题标签 [powershell-5.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 投票
1 回答
333 浏览

powershell - 获取脚本块中的所有远程变量

有没有办法在脚本块中获取所有远程变量的列表?

考虑以下:

在 $block 内部,有没有办法获取可用的 $using: 范围变量列表?

不产生 $x 作为可用变量

0 投票
1 回答
663 浏览

powershell - PowerShell DSC 脚本资源失败

这似乎无法正常工作

我有以下脚本资源。

使用 Start-DscConfiguration -Wait -Verbose 进行此脚本的配置,它在

这可能是因为未找到 RDS: 路径,因为 Import-Module RemoteDesktopServices 无法正常工作。也就是说,在失败的正上方,我看到来自 Import-Module RemoteDesktopServices 的详细日志记录正在发生。

如果我更改我的脚本资源,以便 SetScript、GetScript 和 TestScript 都将 powershell 作为一个新进程调用,它就可以工作。

如果我使用 Invoke-Command 或 Invoke-Expression,它会爆炸,所以似乎运行一个单独的进程是关键。有没有办法让脚本资源在没有这种黑客攻击的情况下正常工作,或者它们只是无用/实施不善?

0 投票
1 回答
927 浏览

class - 访问 powershell 类中的属性

我需要在我的类函数中访问公共属性,不幸的是,在我的类之外的其他函数中。

例如

当我尝试作为类的一部分进行访问时$myvarmy_function我得到一个解析错误“变量未在方法中定义”,这是有道理的,因为变量没有在类中声明,但我想在属性块中的东西会可以使用。

我希望有一些我不知道并且无法在允许我这样做的文档中找到的东西。我不能在我的类函数中使用属性似乎很愚蠢。

我当前(不利)的解决方案是让我的类从另一个类继承,该类中只定义了一堆静态变量,因为您可以通过在脚本中的其他任何地方访问这些变量[MyOtherClass]::static_variable_name。这不是我喜欢的方式。

请指教

0 投票
1 回答
58 浏览

powershell - Powershell5 IndexOf 行为改变 - 建议?

最近将我的工作站升级到 Windows10 后,我一直在检查我所有的旧脚本,似乎 IndexOf 的行为有所不同。

在 PS4 中这很好用:

但是在 PS5 中,IndexOf 只为所有值返回 -1。我根本找不到一种方法让它与 arraylists 一起工作 - 现在我有这个 kludge 修复让它在 PS5 中工作:

任何关于为什么会发生变化的想法,如果您有更好的解决方案,将不胜感激!

0 投票
1 回答
2697 浏览

class - PowerShell 5 and classes - Cannot convert the "X" value of type "X" to type "X"

I'm trying to use PowerShell's classes that is very handy way of grouping related data together and facing quite tedious to deal with behavior. The simplified scenario: one PS script that defines class and another script that uses that class.

Common.ps1

Script1.ps1

Everything is good - you can run Script1.ps1 arbitrary amount of times with no issues - until you make any change in Common.ps1. You will face the following error.

Conceivably any change (even if you just added whitespace) in PS file forces its recompilation, so that type X becomes different than X it used to be - temporary container assembly has been changed (the very same issue easily reproducible in .NET - types are identical as long as "Fully Qualified Assembly Names" are the same). Change in Script1.ps1 makes things function normally again.

Is there any way to overcome such kind of issues?

0 投票
1 回答
424 浏览

powershell - PowerShell 中忽略的 sqlcmd -v 参数

我已经阅读了文档( s ​​qlcmd Utility),但我无法让sqlcmd's-v参数按预期工作。

假设这个 SQL 脚本(echo.sql):

在没有设置参数的情况下在 PowerShell 提示符下运行时-v

设置数值变量 ( THE_TOP) 被忽略:

THE_TOP如果我消除in的默认值echo.sql,它强化了参数被忽略的断言:

如果我尝试设置THE_PATH参数,我会得到:

什么是正确的-v语法?

0 投票
1 回答
337 浏览

windows - PowerShell 5 AppSettings 错误?

我升级到 PowerShell v5.0.10586.117,现在我无法从我的 app.config 文件访问 AppSettings。该代码适用于 PowerShell v4(我已经在其他安装了 v4 的计算机上尝试过它,它从 AppSettings 返回数据)。

我在 PowerShell 中设置应用程序配置

我可以验证当前域是否具有应用程序设置

返回PATH\App.config 但当我跑步时

PowerShell v5 返回:0

但在 PowerShell v4(Windows 7、Windows Server 2008 R2 Enterprise 等)上返回:5

为什么 PowerShell 5 与 PowerShell 4 的行为会有所不同?这是一个错误吗?知道如何解决应用程序设置问题吗?

[更多信息]

我试过做一个解决方法

通过使用 $retVal 的这项工作,我可以从我期望的 AppSettings 中获取数据,但稍后它在我正在导入的期望 App Config 数据存在的 .dll 上失败。

[更新 1]:我在 Windows 8、Windows 8.1 和 Server 2012 上升级到 PowerShell 5 并遇到了同样的问题。更新了标题和问题描述,以反映它在我测试过的所有 PowerShell 5 实例上。

[更新 2]:

根据@PetSerAl,我发现如果我在设置配置文件之前尝试获取 AppSetting,我将在 PowerShell v4 中遇到同样的问题

0在 PowerShell v4 中返回。

如果我将我的应用程序配置文件移动到,C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe.config那么我返回数据没有问题,我正在加载的外部 dll 也没有问题,即应用程序配置中的预期信息

0 投票
1 回答
80 浏览

python - Python 到 PowerShell,词干:类

python的豪华等价物是什么:

对于 SO 纯粹主义者,我迄今为止的尝试:

0 投票
1 回答
5157 浏览

powershell - 如何更改我键入的字符串值的颜色?

在我的工作中,我最近开始经常使用 Powershell。为了方便使用它,我尝试根据自己的喜好自定义命令提示符颜色,但是在尝试自定义引用字符串值的颜色时遇到了障碍。鉴于 PS 是一个基于文本的界面,这个说法可能没有那么大的意义,所以请参考这个

带有冒犯(ly?)彩色文本的图片被黄色框包围

显然我还不能嵌入图像,所以你必须点击链接。无论如何,这段文字对我来说非常难以阅读,我正在尝试将其切换为对比度更高的内容,但我找不到它的设置。

我已经看过以下选项:

  1. 在 UI 中设置这些颜色(右键单击上下文菜单),但只允许设置默认前景和背景
  2. 设置颜色使用$host.UI.RawUI,但这也只允许设置默认的前景和背景
  3. 使用 $host.PrivateData 设置颜色,但是虽然这提供了更多选项,但它似乎没有设置更多上下文敏感项目的选项,例如引用的文本甚至是您可以在图像中看到的变量。

如果必须,我的备用计划是使用 PowerShell ISE(它允许我自定义它),但如果可能,我希望有一个更轻量级的命令提示符可用。

有没有人想出如何改变这个?

我在 Windows 10 上使用 PowerShell v5。

0 投票
0 回答
49 浏览

csv - 读取 CSV 时出现空白

我正在尝试读取 csv 文件并存储在 hasmap 中。下面是我正在使用的代码。

下面是 的输出$ht。我$null为其中一个字段获得 1 个值OrgId

CSV 样本: