全部我实现了我的第一个PowerShell脚本,该脚本执行一些设置、设置注册表项,最后需要重新启动服务。问题是我只有可执行文件的名称,但没有服务名称。Restart-Service只能与服务名称一起使用。谷歌搜索(还有Binging)并没有给我太多结果。我想知道有没有办法通过可执行名称重启服务?我知道我可以通过可执行文件名称获取进程,但仅仅终止进程并重新启动它并不是一个好的选择,因为服务启动/停止函数未被调用并且它可能无法正常工作。谢谢。 最佳答案 您可以尝试使用wmi并执行如下操作:(gwmiwin32_service|?{$_.
我正在尝试使用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
快速提问。我正在尝试编写以下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\
在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
我想弄清楚我可以使用什么cmd或powershell命令来获取目录中包含的子目录。我只想要每个列出的最后一个子目录,例如,如果我有类似的东西:matthew\folder1\folder2\folder3和matthew\folder6\folder7\folder8我在“matthew”目录中,我只想返回包含以下内容的列表:folder1\folder2\folder3folder6\folder7\folder8我尝试使用dir/b/s但它给了我类似的东西:folder1folder1\folder2folder1\folder2\folder3folder6...如有任何帮助,我
Get-Service|Stop-Process-NameWSearch-WhatIfStop-Process:Theinputobjectcannotbeboundtoanyparametersforthecommandeitherbecausethecommanddoesnottakepipelineinputortheinputanditspropertiesdonotmatchanyoftheparametersthattakepipelineinput.Atline:1char:15+Get-Service|Stop-Process-NameWSearch-WhatIf+~~
我正在编写一个powershell脚本,但在评估boolean表达式时遇到问题。这是我遇到问题的代码行:if(Get-Content.\Process2Periods.xmla|Select-String((Get-Date)|Get-Date-Format"yyyyMM")-quiet-neTrue)我在尝试运行时收到此错误消息:Select-String:Aparametercannotbefoundthatmatchesparametername'ne'.请帮助我理解这个问题。还有一点上下文,我正在文件中搜索一个字符串,如果它不存在,我想执行ifblock中的内容。我没有将代码粘
希望有人能帮助我。我正在尝试获取我计算机上安装的每个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\
有没有办法保存我的凭据,这样它就不会一直询问每个循环?比如,将它隔离在foreach循环之外。我尝试删除-credentials并将其添加到外部,但它给我一个未经授权访问的错误。我似乎无法弄清楚。抱歉,如果这个问题看起来很愚蠢,我是Powershell的新手。Import-ModuleActiveDirectory$ServerList=Get-Content"C:\servers.txt"foreach($ServerNamein$ServerList){"$ServerName""=========="Get-WmiObject-ClassWin32_UserAccount-Com
我的系统中没有telnet命令。但是我的系统安装了Windows10,因此必须有一种方法来检查远程系统中特定端口是否打开。我已经使用ping命令检查了那个特定的远程系统。所以这是我的简单问题-如何使用powershell检查特定端口是否打开。命令netstat可以简要说明本地系统服务和端口以及UDP或TCP正在运行的特定协议(protocol)。因为我没有telnet,所以我需要通过powershell来解决这个问题。欢迎任何意见和建议。 最佳答案 Test-NetConnection###.###.###.###-Port##