问题标签 [powershell-4.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 投票
2 回答
8097 浏览

powershell - Getting VHD info using PowerShell

Can you help me with my Powershell script? I am fairly new to Powershell but my boss wants me to get this done soon.

For each VM on our HyperVisor (Server 2012) we want the associated VHD files and for each VHD file:
- The location of the file
- The size of the file (max allowed)
- The actual size of the file (current allocated)
- The type of allocation: thick or thin
- The location of the snapshot file
- The size of the snapshot file

I have come up with this so far (well.. what I've found)(* is our HV name):

Somehow this doesnt give any output for Filesize, disktype, size and Snapshot..

0 投票
1 回答
85 浏览

powershell - 保存并重新加载目录历史

我想保存Get-Location -Stackpowershell 退出时的最后一个 $cnt 条目,然后在 powershell 启动时重新加载该历史记录。
这不起作用:

.xml 没有条目,即使在命令行中运行的“Get-Location -Stack”显示了多个条目。
如果我在 powershell 会话期间通过 Export-CliXml cmdlet 运行相同的命令获取历史记录和管道,它会按预期工作。
同样,导出命令历史记录按预期工作。
尝试导出目录历史记录我做错了什么?

0 投票
1 回答
1152 浏览

powershell - observablecollection 谓词过滤器

我想知道如何使用谓词过滤器过滤集合 $view。我在 C# 中看到了许多谓词过滤器的示例,但对于 PowerShell 来说并不多。很高兴在 PowerShell 中看到一个工作示例。

基本上,当我将过滤器变量设置为字符串并刷新 $view 时,集合应该过滤以仅显示与过滤器匹配的行或对象。如果过滤器为空,则应显示整个对象集合。

我认为这应该在不使用任何表单的情况下在控制台中工作,但我无法在 PowerShell 中创建类型为 (system.predicate) 的过滤器。

0 投票
2 回答
1455 浏览

powershell-4.0 - 通过 DSC PullServer 部署自定义资源无法提取模块

我在 Server 2008 R2 上设置了 DSC PullServer,但在部署自定义模块时遇到了问题。PullServer 上的模块位于 C:\ NTFSPermission_1.0.zip,我使用 NEW-DSCChecksum 为 zip 文件创建了一个校验和,并且我的节点配置中有 Import-DSCResource NTFSPermission。当我运行 Invoke-CimMethod 将配置推送到节点时,它会出错:

Invoke-CimMethod:无法从下载管理器 WebDownloadManager 下载的 zip 文件 C:\Windows\TEMP\\635291179507191263\NTFSPermission_1.0.zip 中提取模块。

节点在事件查看器中记录 4104 错误:

此事件表示当 LCM 尝试使用下载管理器 WebDownloadManager 从拉取服务器获取配置时发生故障。ErrorId 为 0x1。ErrorDetail 无法从下载管理器 WebDownloadManager 下载的 zip 文件 C:\Windows\TEMP\\635291179507191263\NTFSPermission_1.0.zip 中提取模块。

有没有其他人遇到过这个?我不确定某处是否有一个配置文件实际上是在额外的反斜杠中管道并导致无效的下载/提取路径,或者压缩模块是否有问题。如果我手动移动模块,配置将被推送并成功应用,这让我相信它不是模块。

0 投票
1 回答
611 浏览

windows - 使用 Register-WmiEvent 使用 PowerShell 4.0 捕获 Windows 8.1 系统事件/触发器?

我正在尝试编写一个高效的Windows 8.1 PowerShell 4.0 脚本,它将捕获/触发两种类型的事件。我希望能够捕获这些事件/触发器,以便我可以执行诸如运行脚本或启动/停止服务之类的操作。

我想捕捉/触发的事件是:

  • 电源线插入/拔出(电池充电/放电)
  • 硬件(如 Surface Pro 2 Type Cover 2)已连接/断开

高效我的意思是脚本不应该有一个无限循环来定期检查状态。我会假设我应该能够编写一些可以在 Windows 生成事件时捕获事件的东西?

到目前为止,我了解到我可以使用Register-WmiEventPowerShell cmdlet 订阅 WMI 事件。

  1. 我认为这是最有效的方法,所以我不必不断轮询而是对事件做出反应?
  2. 如果是这样,是使用更好-query还是-class在注册活动时更好?-query我看到的唯一区别是使用(例如Register-WmiEvent -query "Select * From Win32_PowerManagementEvent where EventType=10")时显然很容易过滤事件。

我会担心以后如何捕捉我需要的特定事件。现在我正试图弄清楚如何捕捉/触发事件。

0 投票
1 回答
74 浏览

powershell - 为域名自定义 PowerShell 选项卡扩展

我经常需要在 powershell 命令中键入我们公司的一个域名——例如,在将计算机指定为参数时(ping machine.domain.com)。我想使用 PowerShell TabExpansion 来完成域名。

这些资料给了我一些想法。但是我究竟需要如何修改该功能?

http://blogs.msdn.com/b/powershell/archive/2006/04/26/584551.aspx http://www.powertheshell.com/dynamicargumentcompletion/

0 投票
1 回答
105 浏览

powershell - Powershell 中的字符串替换因 Windows 版本而异

以下 PowerShell 脚本:

从 Windows 8.1 机器产生这些结果:

相同的脚本从 Windows 2012 服务器产生这些结果:

该脚本应该产生在文本周围留下单引号的结果。它在 Windows 8.1 机器上运行良好,但在 Windows Server 2012 上却不行。有什么想法可以在 Windows Server 2012 上产生相同的结果吗?

0 投票
1 回答
213 浏览

powershell - 在 PoSH 4.0 中读取文件内容时展开 Hash 变量

我有一个 xml 文件,我在其中定义了一些 HashTable 变量,当我在运行时读取内容时,它们应该被解析。

XML 文件

它在 Powershell 2.0 中运行,代码片段如下。

PowerShell 2.0

电源外壳 4.0

在 PoSH 4.0 中,当我执行相同的命令时,我得到了错误

0 投票
1 回答
75 浏览

powershell - Get-Help about* 仅找到一篇文章

根据“在一个月的午餐中学习 Windows PowerShell”一书,帮助系统中应该有各种关于文章,其中提供了有关特定主题的更多背景信息。例如 about_common_parameters 应该描述每个 cmdlet 支持的八个常用参数。

但是,Get-Help about*在我的 PowerShell 4 实例上执行会立即显示 about_BITS_Cmdlets。根据Get-Help *这是唯一以 开头的文章about_

Update-Help -UICulture "en-us"我已经用...更新了帮助系统

没有安装这些文章的任何原因?

编辑:Windows 8.1 如果重要的话。

0 投票
1 回答
149 浏览

powershell - 一次输出一行

我想在运行此命令时一次获得一行输出。

Invoke-RestMethod -Uri http://blogs.msdn.com/powershell/rss.aspx | Format-Table -Property Title, pubDate

所以我想得到一行输出,然后按EnterorAny key得到下一行输出或按Ctrl+C中断命令。

我无法实现它$Host.UI.RawUI.ReadKey('NoEcho,IncludeKeyDown')