Questions tagged «powershell-2.0»

Microsoft的命令行脚本语言。Windows 7和Server 2008中引入的V 2.0具有远程处理功能。


5
在默认的PowerShell ls命令中显示人类可读的文件大小
如何在PowerShell中修改默认设置ls(Get-ChildItem),以显示易于阅读的文件大小,例如ls -h在* nix机器上? ls -lh 对文件大小进行简单的逻辑处理,以便显示非常小的文件的字节数;显示超过1K的文件时显示千字节(如果小于10K,则保留小数位);超过1M的文件则显示兆字节(如果小于10MB,则保留小数位) 。


1
使用PowerShell运行msiexec
我尝试msiexec在PowerShell中运行,但始终收到错误消息。如果我从那cmd开始运行,那一切都很好。 有人可以让我知道如何在PowerShell中运行此命令吗? 这是我在PowerShell中键入的命令: msiexec.exe /qb /I "C:\m_temp\Floating\PrimeWixInstaller.msi" INSTALLLOCATION="C:\Program Files\Mathcad\Mathcad Prime 1.0" ALT_DOC_DIR="C:\Program Files\Mathcad\Mathcad Prime 1.0" 当我尝试运行命令时,将弹出Windows Installer帮助窗口:

4
Windows 7默认情况下是否安装了Windows PowerShell 2.0?
http://msdn.microsoft.com/zh-CN/library/ff637750.aspx声明 仅在Windows Server 2008和Windows Vista上安装Windows PowerShell 2.0。它已经安装在Windows Server 2008 R2和Windows 7上。 但是,powershell.exe位于此处%SystemRoot%\ system32 \ WindowsPowerShell \ v1.0 \ powershell.exe。看起来好像不是PowerShell 2.0。powershell.exe的文件版本为6.1.7600.16385,因此也无济于事。 我如何确定我是否安装了Windows PowerShell 2.0,如果没有安装,Windows 7的下载链接在哪里?


2
Powershell:从文件名获取初始字符串并从字符串创建目录,然后移动文件
我有一个包含以下文件名的文件夹: 00150005D201110172338427995.vpf 00150005D201110180005318058.vpf 00150013D201110180014448082.vpf 00150013D201110180022268098.vpf 00150013D201110180056118137.vpf 00150004D201110180102008142.vpf 00150004D201110180105398145.vpf 00150016D201110180115378151.vpf 00150016D201110180122168161.vpf 00150003Z201110180143308169.vpf 00150050S201110180232190009.vpf 每个文件都以9个字符串开头,该字符串是唯一标识符。我希望能够为每个文件解析这些文件夹,并基于9个字符的前缀,创建带有前缀名称的文件夹,然后将文件移至新创建的文件夹。 例: 之前: f:\ION\2011291 Contains the following files 00150005D201110172338427995.vpf 00150005D201110180005318058.vpf 00150013D201110180014448082.vpf 00150013D201110180022268098.vpf 00150013D201110180056118137.vpf 00150004D201110180102008142.vpf 00150004D201110180105398145.vpf 00150016D201110180115378151.vpf 00150016D201110180122168161.vpf 00150003Z201110180143308169.vpf 00150050S201110180232190009.vpf 后: F:\ION\2011291 contins only folders no files F:\ION\2011291\00150005D contains 00150005D201110172338427995.vpf 00150005D201110180005318058.vpf F:\ION\2011291\00150013D\ contains 00150013D201110180014448082.vpf 00150013D201110180022268098.vpf 00150013D201110180056118137.vpf F:\ION\2011291\00150004D \contains 00150004D201110180102008142.vpf …

1
PowerShell触摸所有比更新的文件
我在ServerFault上发现以下问题: Windows递归触摸命令 其中部分回答了我的问题: Windows递归触摸命令 但是,我想触摸2013年1月31日(31/01/13)之后的所有文件(在根目录和子文件夹中(递归))。我将如何去做呢? 我有可用的PowerShell 2。 更新: 我发现此脚本获取了我所需要的所有文件: Get-ChildItem C:\path\to\files -recurse | Where-Object { $_.LastWriteTime -ge [DateTime] "1/31/2013 9:00AM" } 但是我不确定如何将其与“ touch”命令结合使用: (ls file).LastWriteTime = DateTime.now 以下内容似乎合乎逻辑,但我无法对其进行测试,因为备份文件会破坏文件的修改日期/时间: (Get-ChildItem C:\path\to\files -recurse | Where-Object { $_.LastWriteTime -ge [DateTime] "1/31/2013 9:00AM" }).LastWriteTime = DateTime.now 那么,这行得通吗?

2
如何使用不同步时钟在远程计算机上启动/停止服务
我在MS Windows域工作。 我正在尝试集中(远程)启动和停止W32Time服务一段时间(禁用时间服务器更新,例如两个小时)然后远程更改系统日期和时间以允许低功率用户(他们不能启动和停止服务并更改时间)进行一些过时的操作。 当完成时间后,我想再次启动W32Time以允许系统时钟的自动同步。 我用WMI尝试了这个,但我的问题是,当我尝试重新启动服务时,时间偏差太大而且我无法进行WMI操作。 是否有可能做到这一点? 我想知道一个解决方案是否可能在远程系统上放置一个shell文件(可能最终删除自己),然后使用Admin权限启动它(使用像PsExec这样的somenthing)。在这种情况下,我不需要由DC授予,时间偏差可能不是问题。 也许这是一种更可行的方式?

1
为什么我需要在此Powershell此处字符串中转义最后一个单引号?
根据Powershell的“ 关于引用规则 ”: 此处的字符串是单引号或双引号的字符串,其中的引号是按字面意义解释的。 但是,以下字符串在Powershell版本5.0(内部版本10586,修订版117)中导致TerminatorExpectedAtEndOfString异常。在Powershell 2.0版中,它可以按预期工作: $herestr=@" '"' "@ Write-Host $herestr 如果我用反引号(`)引用最后一个单引号,那么here-string在2.0版和5.0版中都可以正常工作。 $herestr=@" '"`' "@ Write-Host $herestr 为什么我需要在here字符串中转义最后一个单引号?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.