Articles of PowerShell的

如何从PowerShell中访问Web服务?

我想从Windows PowerShell中使用给定的(简单的)WSDL访问Web服务。 是否有捷径可寻?

我可以使这个剧本更快吗?

我为实习编写了一个简单的脚本,通过提供的目录浏览并删除任何超过指定天数的文件。 我已经花了我所有的空闲时间,试图收紧。 这是迄今为止我所得到的: function delOld($dir, $numDays){ $timespan = new-timespan -days $numDays $curTime = get-date get-childItem $dir -Recurse -file | where-object {(($curTime)-($_.LastWriteTime)) -gt $timespan} | remove-Item -whatif } 这是一个函数调用的例子: delOld -dir "C:\Users\me\Desktop\psproject" -numDays 5 对于阅读的难点,我发现将这些操作压缩成一行比将它们重新分配给每个迭代的易读variables更有效率。 为了testing目的,删除项目目前已被删除。 我知道,在这一点上,我可能无法加速太多,但是,我正在运行一个TB文件,所以每个操作都很重要。 预先感谢您提供的任何build议!

焦点IE浏览器窗口在PowerShell中

我的代码: $ie = new-object -com "InternetExplorer.Application" $ie.navigate("http://localhost") $ie.visible = $true $ie.fullscreen = $true 但是,全屏后,窗口仍然出现在 Windows任务栏后面 。 当我点击窗口使其焦点时,任务栏落后,并显示我想要如何。 我怎样才能做到这一点编程? 谢谢!

SET-ACL文件夹权限没有正确应用我的PowerShell脚本

我有两个脚本:第一个创build一个新的根文件夹,第二个创build一个新的子文件夹。 它大部分工作正常,但是当inheritance的权限被下拉到子文件夹时,权限不会显示在“安全”选项卡上。 但是,如果我检查高级权限显示正确… 这似乎是导致问题,因为inheritance的权限似乎没有正确应用到文件夹。 我究竟做错了什么? 用图像来澄清: 这是我的两个脚本: 根/父文件夹创build: # Create initial ACE # Create the initial Object # Set domain – This could also be changed to prompt for domain if we decide it is needed # Define local Administrators group by Well Known SID # Set additional ACEs for the new AD File Share […]

如何在批处理脚本运行时获取当前的活动窗口?

我有一个批处理脚本,我想用热键来运行,这个脚本应该在活动窗口中做一些动作(例如,创build一组特定的文件夹,或小写文件夹内所有文件的名称)。 所以脚本需要在被调用时引用活动窗口。 我试图离开别名的“开始”字段为空,但回显%cd%总是打印“C:\ Windows \ System32”而不是当前的活动窗口。

错误MSB3147:找不到所需的文件“setup.bin”发布到本地失败

在网上冲浪和讨论这个问题之后 ,我终于问了一个关于旧错误的新问题。 我在Windows 10上使用Visual Studio Enterprise 2015。 这个问题和答案是从2011年MSBuild:错误MSB3147:无法find所需的文件“setup.bin” 。 这个问题和接受的答案是在2012年写的,其他答案是从2015年,有一个从2016年,这是没有帮助无法find所需的文件“setup.bin” 。 该项目的目标版本是4.0。 我正在运行一个只能从另一台本地机器运行的psl脚本。 我不断收到这个错误: C:\ Program Files \(x86)\ MSBuild \ 12.0 \ bin \ Microsoft.Common.CurrentVersion.targets(4769,5):错误MSB3147:找不到需要的文件'setup.bin' SRC \ XXX \引擎”。 [C:\ dev \ xxx \ src \ xxx \ xxx.csproj]发布到本地失败 我已经尝试了每个答案的每个解决scheme。 唯一的作品是从这个答案 <BootstrapperEnabled>false</BootstrapperEnabled> 如果需要设置为true,那么这是一个问题。 我也在MSDN上跟着这个答案 。 这个博客 。 我添加了registry项: 我也注意到Windows 10内置了.NET框架,而且它错过了4.0。 我已经卸载了dotNetFx40_Full_setup.exe,并在Visual Studio上运行了修复程序,以便根据需要安装sdks。 这没有帮助。 我有一个MSBuild的exe文件应该是这样的 : […]

将今天创build的所有文件从networking位置移动到本地驱动器

使用我下面给出的脚本,我只是想剪切粘贴从源到目标的所有.dat文件,其中源是一个networkingpath。 @echo off set datetime=%date:~0,2%-%date:~3,2%-%date:~6,4%_%time:~0,2%-%time:~3,2% mkdir "D:\data\Backup\%datetime%" net use L: \\10.xx.xx.xxx\shared\files /persistent:no set source=L: \\10.xx.xx.xxx\shared\files forfiles /P "%source%" /M *.dat /D +0 /C "cmd /c move @path D:\data\Backup\%datetime%" net use L: /delete /y 但是..抛出ERROR: The directory name is invalid. 我不明白为什么FORFILES不接受我的networkingpath作为来源。 请有人帮我出来吗? 我也没有使用PowerShell的问题。

使用Powershell更新Active Directory中的Active Directory用户属性

在使用Powershell v2.0的Windows Server 2003 R2环境中,如何复制Set-QADUser的function以更新Active Directory中的用户属性(如电话号码和标题)? 这里的技巧是,我想这样做,而不依赖于Set-QADUser,我没有select使用Server 2008的commandlets。 谢谢。

所有用户正在运行的应用程序的窗口标题/前景检测

假设应用程序将由Windows上的administrator用户执行; 有没有办法使用Windows API来检索窗口标题,并检测应用程序是否在所有login用户的前台? 尝试下面的代码,我们无法检索其他login用户正在运行的应用程序的标题。 // to get the processes Process[] processlist = Process.GetProcesses(); // and this to get the title: process.MainWindowTitle

Powershell:返回最高编号的文件名

假设我有一个像这样的文件名列表: Get-ChildItem "Antarctica Data *.xls" Antarctica Data 03625516.xls Antarctica Data 84327262.xls Antarctica Data 16374175.xls Antarctica Data 12804427.xls Antarctica Data 17477809.xls Antarctica Data 60943758.xls Antarctica Data 93962083.xls Antarctica Data 74412097.xls Antarctica Data 81562648.xls Antarctica Data 58371936.xls 我怎样才能使用Powershell返回一个string的最高数字的文件名? Antarctica Data 93962083.xls