Articles of PowerShell的

无法将脚本名称识别为cmdlet,函数等; 也不能在简单的脚本上find位置参数

我正在尝试做我的第一个剧本。 为了简单地让PowerShell在记事本中input一个脚本,并保存为名为“test”的.ps1文件(也尝试了Script,但是知道名字与它无关): Write-Host "Hello, World!" 在PowerShell中,我打字 & "C:\Scripts\test.ps1" 以及 ./test.ps1 我只是遇见了这个: ./test.ps1.txt:术语'./test.ps1.txt'不被识别为a的名称 cmdlet,函数,脚本文件或可操作的程序。 检查拼写 名称,或者如果包含path,请validationpath是否正确,然后重试。 在行:1 char:1 + ./test.ps1.txt + ~~~~~~~~ + CategoryInfo:ObjectNotFound:(./test.ps1.txt:String)[],CommandNotFoundException 曾尝试用PowerShell重命名文件 PS C:\Scripts> Rename-Item test.ps1.txt test.ps1 我已经在RemoteSigned和Unrestricted之间切换,我已经尝试了一个代码,包括executionpolicy bypass (我做道歉,我closures了我的窗口,而不写下一个)。 据我所知,一切都是最新的,我正在运行Windows 10,Windows PowerShell和常规的Windows记事本。

没有CR-LF的Powershellpipe柱

我在PowerShell中总是noob,我想传递一个包含空字符的string到一个命令(openssl在当前的工作目录中): powershell -command "& { \"`0myemail@gmail.com`0mypassword\" | %cd%\openssl enc -base64 }" 事情是我得到我的string编码,就好像它是通过一个回车符和一个新的行字符在它的末尾。 我错过了什么?

当使用POWERSHELL将数据添加到表中时,“该行已经属于该表”

下午好堆栈溢出。 我正在尝试使用Powershell自动化一些基于纸张的stream程。 我们已经有了一个Powershell解决scheme,其中的输出是一个Excel电子表格,但为了规划未来,我们觉得CSV输出比Excel更容易使用。 我们正在做的是非常基本的,我们正在接触到在AD的组的所有者,在一个文本文件中指定。 对于列出的每个组,我们循环并将项目添加到表中。 问题出在这里,我对Powershell还是很陌生,并且在循环遍历“for each”语句时遇到了问题。 我遇到以下错误: Exception calling "Add" with "1" argument(s): "This row already belongs to this table." At line:77 char:17 + $table2.Rows.Add <<<< ($row2) + CategoryInfo : NotSpecified: (:) [], MethodInvocationException + FullyQualifiedErrorId : DotNetMethodException 我觉得分享我正在使用的代码是合适的: import-module activedirectory $strGroupList = get-content "C:\Users\MYUSERNAME\Documents\Group Audit\audit.txt" $strDate = Get-Date foreach ($strGroup in $strGroupList) { […]

FORFILES date -after-(cmd文件中的date计算)

我想在一个cmd文件中使用FORFILES,在给定的date之后通过“today”来处理所有文件。 我可以使用forfiles /d +07/10/2013 /c "cmd /c echo @fname"东西在7/10/13之后执行,但是我想要的只是从90天开始计算在“今天”之前。 是否有一个date计算的语法,将在一个cmd文件,将让我指定“今天之前x天”饲料到FORFILES? 我更喜欢不使用VBS(并且发现了可以在VBS中工作的代码片段),不过我可以重写Powershell脚本,但理想情况下我想使用cmd。 为了澄清,“-90”会find所有超过90天的文件; “+90”会发现所有文件比今天晚了90天(这基本上是无用的,因为文件很less会在未来的date编写),“+7 / 30/2013”​​会查找所有比7/30更新的文件/ 2013。 我想要最后一段时间,最好能够传递给CMD文件的天数variables,也就是说“在今天之前x天之后”,即“在最近x天”。 所以,而不是如上所示使用硬编码的date,我希望能够在cmd文件中计算该date。

确保在任何给定时间只有1个PowerShell脚本实例正在运行

我正在使用PowerShell v1编写一个批处理脚本,让它每分钟运行一次。 不可避免地,会有一段时间,这个工作需要1分多钟才能完成,现在我们有两个脚本运行的实例,然后可能有3个,等等。 我想通过让脚本本身检查是否有一个已经运行的实例来避免这种情况,如果是,脚本就会退出。 我在Linux上使用其他语言完成此操作,但从未在Windows上使用PowerShell完成此操作。 例如在PHP中,我可以这样做: exec("ps auxwww|grep mybatchscript.php|grep -v grep", $output); if($output){exit;} 在PowerShell v1中是否有这样的东西? 我还没有遇到过这样的事情。 在这些常见模式中,哪一个最适合使用经常运行的PowerShell脚本? locking文件 OS任务计划程序 无限循环与睡眠间隔

如何从RUN运行特定窗口大小的PowerShell?

如何从具有特定窗口大小的“RUN”启动PowerShell? 有没有像“-size:100×100”的任何争论。 这是可能的运行或有没有其他的方式来运行一个给定的大小的程序窗口?

将组“Everyone”添加到目录及其所有子目录中

我目前正在使用Vista 32位。 如何添加Windows安全组“Everyone”并完全控制目录及其所有子目录和所有文件? 有一个PowerShell脚本,我可以使用? 谢谢!

VBScript中Msgbox的替代方法

我想在基于VBS的login脚本运行后显示状态信息。 我可以简单地使用一个消息框,但是宁愿在用户login后短暂地在这个时钟之上出现这个信息。 我有什么替代scheme,而不是一个消息框?

根据大小(窗口)将文本文件拆分成较小的文件

有时会创build太大而无法打开(5GB +)的日志(.txt)文件,我需要创build一个解决scheme,将其分割成更小的可读块,以便在写字板中使用。 这是在Windows Server 2008 R2中。 我需要的解决scheme是一个batch file,PowerShell,或类似的东西。 理想情况下,它应该是硬编码,每个文本文件包含不超过999 MB,并不停止在一行的中间。 我发现了一个类似于我的需求的解决scheme,有时工作(按行数)在https://gallery.technet.microsoft.com/scriptcenter/PowerShell-Split-large-log-6f2c4da0 ############################################# # Split a log/text file into smaller chunks # ############################################# # WARNING: This will take a long while with extremely large files and uses lots of memory to stage the file # Set the baseline counters # Set the line counter to 0 […]

外部驱动器盘符 – 备份

我正在编写一个PowerShell脚本,使用robocopy将我的Vista驱动器中的多个文件夹备份到外部USB驱动器。 Windows不保证它将始终将相同的驱动器号分配给外部驱动器。 解决这个问题的最好方法是什么? 如何编码目标path? 谢谢。