问题标签 [powershell-5.1]

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 回答
82 浏览

powershell - Powershell - 如何在powershell中编写会话刷新脚本?

我有一个 ps1 脚本来驱动我想要执行的操作。我在使用命令模式的模块中使用具有类定义的模块。

第一次打开powershell会话控制台并运行脚本时,一切都很好。

如果我以任何方式更改一个类并在同一个控制台中重新运行,控制台似乎没有拾取更改后的脚本。我必须关闭 powershell 控制台并重新运行脚本才能使我的更改生效。否则,我只会让脚本的行为与我进行更改之前的行为相同。显然有一些缓存正在进行。

我想知道MS是否最终解决了这个问题。我读过很多关于这个问题的旧帖子。

我尝试了以下方法,但它们似乎都不起作用:

Remove-Variable * -ErrorAction SilentlyContinue; 删除模块 *; $error.Clear(); 清除主机

我什至都试过了。仍然没有帮助。

是否可以采取其他措施来确保加载任何支持模块中的最新代码?必须关闭整个控制台并重新加载是一个严重的生产力问题。

我在做什么的例子:6

0 投票
1 回答
581 浏览

powershell - 在 Powershell 5.1 中与 Base64 相互转换

我找到了一些资源(包括Convert base64 string to file,这里实际上是重复的,因为它是我用来构建它的资源之一),但我似乎无法让它工作。

我有以下代码(大致 - 显然它已被剥离),我可以根据评论验证该过程的大部分步骤。

我在这里想念什么?对于它的价值,我愿意看看其他解决方案 - 但 Base64 有点重要(因为我将数据存储在脚本中。)

0 投票
1 回答
44 浏览

powershell - Powershell如何只获得唯一的结果而不是全部

这是我的第一个问题。非常感谢您的帮助。

下面是实际结果

1.exe A1Testservice,
1.exe A2Testservice

但我需要以下结果
1.exe A1Testservice,
2.exe A2Testservice

0 投票
2 回答
1217 浏览

powershell - Get-WMIObject 卸载与 Get-CIMInstance 卸载

可能是一个愚蠢的问题,但我只是好奇。

Get-CIMInstance为类下的应用程序调用卸载和Get-WMIObject调用卸载之间有区别Win32_Product吗?我问的唯一原因是因为:

  • Get-CIMInstance用于卸载应用程序,将使用某些程序重新启动我的计算机。
  • 用于卸载应用Get-WMIObject程序无需重新启动即可运行。

此外,将 aGet-Member连接到任何Get-CIMInstance产品都不会给我提供卸载方法,但它确实使用Get-WMIObject. 开发人员就是这样写的吗?虽然,Invoke-CIMMethod -Name Uninstall仍然有效。

获取 CIMInstance / 卸载

Get-CIMInstance下面是我使用/卸载多个应用程序的操作Invoke-CIMMethod -Name Uninstall

获取 WMIObject / 卸载

请原谅长篇大论,只是一个好奇的头脑。

如果不允许,请删除/关闭。

0 投票
1 回答
58 浏览

java - 限制 Powershell 将输入命令打印到输出流

我正在使用 Java ProcessStream 将输入命令写入本地计算机上的 powershell。现在,问题是除了输出之外,我还看到了输入命令。如何限制输入命令显示在输出中。

下面是重现相同的代码:

我只需要输出中的“你好”。

0 投票
1 回答
41 浏览

powershell - 管道与参数参数输入?

我对通过管道或参数输入接受值时有什么区别有疑问。

我问是因为:

  • 在我的脚本中通过管道接受值是可行的。
  • 使用参数参数接受值,例如“ -ComputerName”类的作品。

我之所以这么说是因为,它确实从同一个变量中获取了我的输入,直到它无法连接到某个变量,然后它停止了脚本。是否有一个原因?

这是我的脚本给任何好奇的人:

总的来说,它是一个非常简单的脚本,它将为我获取一些远程文件版本。我只是不确定为什么从管道接受值不会停止脚本,但使用常规参数输入它们会。

我从 csv 导入以使用以下方法获取名称:

并且在使用管道输入运行它时:$CritNames | Set-DWRCVersion有效但Set-DWRCVersion -ComputerName $CritNames无效;好吧,直到它遇到离线计算机然后停止脚本。

我有什么遗漏吗?比我聪明得多的人能教育我吗?(:

0 投票
1 回答
39 浏览

powershell - 在不使用 SupportsShouldProcess 的 cmdlet 中停止 WhatIf 继承

阻止WhatIfPreference被子函数继承的正确方法是什么?

我编写了一些函数,使用WhatIf参数允许它们在安全/测试模式下运行是有意义的。WhatIf但是,无论参数如何,这些函数都会调用我想要运行的其他 cmdlet(例如,将日志写入文件) 。我假设这WhatIfPreference将由已SupportsShouldProcess实现的命令自动继承(就是这种情况),但是任何没有此属性的命令都不会意识到SupportsShouldProcess/ WhatIfPreference,因此会破坏链条。

我可以让那些我想始终运行的 cmdlet 调用任何SupportsShouldProcess-WhatIf:$False;实现的 cmdlet 但这意味着将这个值放在很多地方,并且在调用上下文不知道的情况下似乎是错误的SupportsShouldProcess

我可以在我的所有 cmdlet 上实现,然后从我真正想要使用的那些中SupportsShouldProcess调用我想要始终运行的那些;但是再次实现某些东西而不使用它感觉很愚蠢。-WhatIf:$FalseSupportsShouldProcess

我敢肯定那里有更好的选择;但到目前为止我还没有找到它。

这种继承的例子:

使用和不使用 -WhatIf 参数调用这些函数会产生以下行为:

我想得到的是这样的:

0 投票
1 回答
301 浏览

powershell - 使用 Microsoft 团队错误异常调用“GetRemoteNewCsOnlineSession”配置应用程序访问策略

我是 powershell 新手,并使用此过程与 microsoft 团队一起设置应用程序策略根据此过程创建在线会议时,上述内容是必要的, 但每当我运行时

我收到一个错误

我已经通过使用管理员凭据连接了

我的设备上有 powershell 5.1。

我错过了什么或如何解决上述错误。

0 投票
1 回答
210 浏览

powershell - 为 powershell 进程提供名称

我已经从 powershell 创建了一个长时间运行的进程,它运行一个命令很长一段时间,如下所示:

Start-process "powershell" "long running command"

我想给这个过程一个自定义名称或某种类型的字符串标记,以便稍后引用该过程。

这可以命名从 powershell 启动的 powershell 进程吗?

在我的情况下,我不能使用 pid,因为我们必须使用他提供的名称来提供我们的客户端进程搜索能力。

0 投票
2 回答
57 浏览

powershell - Get-Content .csv 并将其用作路径名的变量

我正在尝试使用 Get-Content 并创建一个变量,该变量将根据文件的每一行填写目录路径名。

我在 .csv 文件中有很长的用户列表,我想检查他们的每个用户名以获取目录大小。

如果我删除 $username 变量并在 $startdirectory 的末尾手动键入用户名,该脚本将起作用。