草庐IT

powerShell

全部标签

windows - 如何使用 Powershell 清除 "Applications and Services Logs"?

有人知道如何使用Powershell清除“应用程序和服务日志”吗?我可以使用Clear-EventLog轻松清除Windows日志,但我无法清除Windows事件日志中“应用程序和服务日志”下的子文件夹。 最佳答案 这看起来像你需要的http://gallery.technet.microsoft.com/scriptcenter/4502522b-5294-4c31-8c49-0c9e94db8df9更新-该链接有一个登录名。这是它的脚本-FunctionGlobal:Clear-Winevent($Logname){[Syste

windows - 检查注册表值是否等于 1 无法正常工作

我将一些PowerShell拼凑在一起以远程查询存储在.csv文件中的机器列表以获取注册表值。如果注册表项的值等于“1”,则脚本应使用机器名称作为文本文件的名称来创建一个文本文件。一切正常。该脚本运行愉快,没有任何错误。问题是,当我返回并远程检查目标注册表值时,我发现该值不是1。脚本只是为.csv中的每一行创建一个文件。我做错了什么?编辑***我发现一个问题我在注册表路径的$key变量中有错字。2013年7月17日下午2:21$File=Import-Csv'c:\temp\machines.csv'foreach($linein$file){$machinename=$line.ma

windows - 命令在命令行上运行良好,但在任务计划程序中运行不正常

Windows764位上的PowerShell2.0当我在shell中进行测试时,以下工作正常:powershell-command{sleep5}但是当我在计划任务中使用此程序时,在程序框中使用powershell并在参数框中使用-command{sleep5},任务计划程序报告“The操作已成功完成。(0x0)”但未运行任何内容。我不得不用摄像机录制屏幕,然后以慢动作回放以了解发生了什么。PowerShell配置文件脚本运行后,sleep5显示在屏幕上且没有错误,PowerShell立即关闭。(我的x86和x64版本都将ExecutionPolicy设置为RemoteSigned。

windows - 如何从批处理文件调用 Powershell 文件

我想调用一个简单的Powershell脚本文件,它应该在ps脚本失败或通过时分别从批处理文件返回0或1。根据返回值,我想继续或退出。以下说明了我的尝试:启动.bat:-@ECHOOFFSETx=powershellC:\Users\saravind\Desktop\pingping.ps1if"%x%"==1then(doSomething1ECHORanproject1)pingping.ps1:-$someIP='192.168.173.299'$result=$truetry{Test-Connection$someIP-Sourcelocalhost-ErrorActionSt

regex - 在 PowerShell 中,如果环境变量(如 $SystemRoot$)是字符串的一部分,我该如何转换它们?

我正在尝试编写一个脚本,该脚本从一组注册表项中读取文件路径,但这些路径具有%SystemRoot%之类的环境变量。我知道您通常可以使用以下方法查找这些路径的值:$env:SystemRoot例如。但是,如果PS收到一个字符串,如“%SystemRoot%\System32\Winevt\Logs\DebugChannel.etl”,如何将其转换为我需要的完整路径,即“C:\Windows\System32\Winevt\Logs\DebugChannel.etl"?我试过使用regex-replace将%%格式转换为$env:格式:$_.FileName-replace"%(\w*)%

windows -/ChainingPackage 做什么?

我正在远程PC上安装.netframework4.5,以便从CMD升级powershell4。"%PathToInstaller%\NDP451-KB2858728-x86-x64-AllOS-ENU.exe"/q/norestart/log%log%\.net4.5installLog.htm我看到有些人用/ChainingPackage开关来做这件事,只是想知道这是做什么的?因为我在/?中没有看到这个选项 最佳答案 根据vonPryz链接的MSDN页面"Specifiesthenameoftheexecutablethatisd

c++ - 如何以编程方式关闭 Windows 中打开的文件/应用程序?

作为操作的结果,我正在将数据写入csv文件。然后我在excel中打开文件来检查数据。经常在excel中忘记关闭文件,下一次操作无法写入同一个文件。如果不是不可能的话,这看起来非常困难,但是有没有一种方法可以在写入文件之前以编程方式关闭文件(=正在使用该文件的应用程序)?我想第一件事是确定哪个应用程序正在使用该文件,然后关闭该应用程序?也许有人为此编写了一个类? 最佳答案 好的,根据评论:在第一个操作中将文件标记为只读。然后您可以启动Excel并防止它对文件进行机会锁定。您仍然可以在后续操作中通过删除RO属性或在编写更新时使用-For

windows - Powershell:返回数字最大的文件名

假设我有一个这样的文件名列表:Get-ChildItem"AntarcticaData*.xls"AntarcticaData03625516.xlsAntarcticaData84327262.xlsAntarcticaData16374175.xlsAntarcticaData12804427.xlsAntarcticaData17477809.xlsAntarcticaData60943758.xlsAntarcticaData93962083.xlsAntarcticaData74412097.xlsAntarcticaData81562648.xlsAntarcticaDat

windows - 替换 Windows 中整个子文件夹中文件名中的所有 #

将大约200,000个文件迁移到OneDriveforbusiness,发现有几个他们不喜欢的字符-最大的违规者是#。我有大约3,000个带哈希的文件,我想用No.替换它们。例如,旧的:File#3.txt新的:FileNo.3.txt我尝试使用PowerShell脚本,但它也不喜欢#:Get-ChildItem-Filter"*#*"-Recurse|Rename-Item-NewName{$_.name-replace'#','No.'}我不太幸运地弄清楚保留字符的语法-我尝试了\#、#\、'*#*',运气不好。谁能阐明这一点或提供一种递归替换所有这些哈希标签的快速方法?谢谢。

windows - midl 找不到 C 预处理器 cl.exe

我正在尝试用midl编译我的arith.idl文件。我正在运行Windows7专业版。这是我在powershell提示符下启动的命令:PS>'C:\ProgramFiles(x86)\MicrosoftSDKs\Windows\v7.0A\Bin\midl.exe'.\arith.idlMicrosoft(R)32b/64bMIDLCompilerVersion7.00.0555Copyright(c)MicrosoftCorporation.Allrightsreserved.64bitProcessing.\arith.idlmidl:commandlineerrorMIDL100