草庐IT

sccm-and-powershell-force-install

全部标签

windows - PowerShell:按可执行名称重启服务

全部我实现了我的第一个PowerShell脚本,该脚本执行一些设置、设置注册表项,最后需要重新启动服务。问题是我只有可执行文件的名称,但没有服务名称。Restart-Service只能与服务名称一起使用。谷歌搜索(还有Binging)并没有给我太多结果。我想知道有没有办法通过可执行名称重启服务?我知道我可以通过可执行文件名称获取进程,但仅仅终止进程并重新启动它并不是一个好的选择,因为服务启动/停止函数未被调用并且它可能无法正常工作。谢谢。 最佳答案 您可以尝试使用wmi并执行如下操作:(gwmiwin32_service|?{$_.

.net - Powershell ScriptBlock 不执行

我正在尝试使用invoke-command在远程机器上执行代码。该方法的一部分包括一个ScriptBlock参数,我感觉我做的事情不正确。首先,我尝试在脚本中创建一个方法,如下所示:param([string]$filename)functionValidatePath($file,$fileType="container"){$fileExist=$nullif(-not(test-path$file-PathType$fileType)){throw"Thepath$filedoesnotexist!"$fileExist=false}else{echo$filenamefound

windows - 批处理 : How to run a program when the computer is idle and stop when it's used?

我需要运行一个Windows批处理(或任何其他命令行软件都可以),它会在计算机闲置一分钟时运行一个程序,并在使用时停止它。当它再次空闲时,我显然应该重新启动它。有什么想法吗?找不到任何不使用GUI的内容。 最佳答案 如果您使用的是Win-7,则可以在任务计划程序中执行此操作。打开任务计划程序,选择我的任务计划,然后选择创建任务(不是创建基本任务)。为其命名,单击“操作”选项卡并选择要运行的程序。选择“条件”选项卡,单击“如果空闲xxx分钟则运行”,并选中如果计算机不再空闲则停止运行。 关

windows - 如何压缩 PowerShell 脚本以适应单行

快速提问。我正在尝试编写以下PowerShell脚本,但我希望它适合一行:$app=New-Object-comobjectExcel.Application$wb1=$app.Workbooks.Open("C:\xampp\upload_files\Launchpad.xlsm")$app.Run("Refresh")$wb1.Close($false)$app.Quit()伪代码看起来像这样:$app=New-Object-comobjectExcel.ApplicationAND$wb1=$app.Workbooks.OpenAND"C:\xampp\upload_files\

windows - 为什么回显到 Windows PowerShell 中的主机文件会在字符之间创建空格?

在Windows8.1上的管理员模式PowerShell中运行以下命令会产生奇怪的输出:PSC:\>catC:\Windows\System32\drivers\etc\hosts#Copyright(c)1993-2009MicrosoftCorp.##ThisisasampleHOSTSfileusedbyMicrosoftTCP/IPforWindows.#上面是hosts文件的初始内容。PSC:\>echo"127.0.0.1example.com">>C:\Windows\System32\drivers\etc\hosts我使用echo命令添加一行并...PSC:\>cat

windows - cmd 或 powershell 获取所有子目录

我想弄清楚我可以使用什么cmd或powershell命令来获取目录中包含的子目录。我只想要每个列出的最后一个子目录,例如,如果我有类似的东西:matthew\folder1\folder2\folder3和matthew\folder6\folder7\folder8我在“matthew”目录中,我只想返回包含以下内容的列表:folder1\folder2\folder3folder6\folder7\folder8我尝试使用dir/b/s但它给了我类似的东西:folder1folder1\folder2folder1\folder2\folder3folder6...如有任何帮助,我

windows - Powershell get-service 通过管道传输到停止进程

Get-Service|Stop-Process-NameWSearch-WhatIfStop-Process:Theinputobjectcannotbeboundtoanyparametersforthecommandeitherbecausethecommanddoesnottakepipelineinputortheinputanditspropertiesdonotmatchanyoftheparametersthattakepipelineinput.Atline:1char:15+Get-Service|Stop-Process-NameWSearch-WhatIf+~~

windows - PowerShell boolean 表达式

我正在编写一个powershell脚本,但在评估boolean表达式时遇到问题。这是我遇到问题的代码行:if(Get-Content.\Process2Periods.xmla|Select-String((Get-Date)|Get-Date-Format"yyyyMM")-quiet-neTrue)我在尝试运行时收到此错误消息:Select-String:Aparametercannotbefoundthatmatchesparametername'ne'.请帮助我理解这个问题。还有一点上下文,我正在文件中搜索一个字符串,如果它不存在,我想执行ifblock中的内容。我没有将代码粘

windows - Powershell Windows 应用程序获取发布者显示名称

希望有人能帮助我。我正在尝试获取我计算机上安装的每个Windows应用程序的列表。使用Powershell可以轻松获得完整列表Get-AppxPackage结果如下:Name:Amazon.com.AmazonPublisher:CN=5050E920-F712-4A72-AFD4-2E82CC365EEFArchitecture:NeutralResourceId:Version:3.1.2.7PackageFullName:Amazon.com.Amazon_3.1.2.7_neutral__343d40qqvtj1tInstallLocation:C:\ProgramFiles\

windows - 我将如何在 Powershell 中的每个循环中保存我的凭据

有没有办法保存我的凭据,这样它就不会一直询问每个循环?比如,将它隔离在foreach循环之外。我尝试删除-credentials并将其添加到外部,但它给我一个未经授权访问的错误。我似乎无法弄清楚。抱歉,如果这个问题看起来很愚蠢,我是Powershell的新手。Import-ModuleActiveDirectory$ServerList=Get-Content"C:\servers.txt"foreach($ServerNamein$ServerList){"$ServerName""=========="Get-WmiObject-ClassWin32_UserAccount-Com