PowerShell中和服务相关的命令
New-Service
PS C:\Program Files\PowerShell\6.0.0-beta.6> New-Service -Name LISA_41_Dev_Batch -DisplayName LISA_41_Dev_Batch -BinaryP
athName D:\ChuckLu\GitForSvn\02.source_4.1.0.0\LISA.Batch\LISA.Batch.MonitorService\bin\Debug\LISA.Batch.MonitorService.
exe
Status Name DisplayName
------ ---- -----------
Stopped LISA_41_Dev_Batch LISA_41_Dev_Batch
PS C:\Program Files\PowerShell\6.0.0-beta.6> New-Service -Name LISA_50_Dev_Batch -DisplayName LISA_50_Dev_Batch -BinaryP
athName D:\ChuckLu\Git\Edenred\LISA_5.0.0.0\LISA.Batch\LISA.Batch.MonitorService\bin\Debug\LISA.Batch.MonitorService.exe
Status Name DisplayName
------ ---- -----------
Stopped LISA_50_Dev_Batch LISA_50_Dev_Batch
PS C:\Program Files\PowerShell\6.0.0-beta.6> cd D:\ChuckLu\Git\Edenred\LISA_5.0.0.0\LISA.FileExchange\LISA.FileExchange.
Service\bin\Debug
PS D:\ChuckLu\Git\Edenred\LISA_5.0.0.0\LISA.FileExchange\LISA.FileExchange.Service\bin\Debug> New-Service -Name LISA_50_
Dev_FileExchange -DisplayName LISA_50_Dev_FileExchange -BinaryPathName .\LISA.FileExchange.Service.exe
Status Name DisplayName
------ ---- -----------
Stopped LISA_50_Dev_Fil... LISA_50_Dev_FileExchange
记得加上startup type
-StartupType
New-Service -Name LISA_50_Dev_FileExchange -DisplayName LISA_50_Dev_FileExchange -BinaryPathName .\LISA.FileExchange.Service.exe -StartupType Manual
New-Service -Name LISA_60_Dev_Batch -DisplayName LISA_60_Dev_Batch -BinaryPathName .\LISA.Batch.MonitorService.exe -StartupType Manual
Get-Service
PS C:\Users\clu> help get-service
NAME
Get-Service
SYNTAX
Get-Service [[-Name] <string[]>] [-ComputerName <string[]>] [-DependentServices] [-RequiredServices] [-Include <str
ing[]>] [-Exclude <string[]>] [<CommonParameters>]
Get-Service -DisplayName <string[]> [-ComputerName <string[]>] [-DependentServices] [-RequiredServices] [-Include <
string[]>] [-Exclude <string[]>] [<CommonParameters>]
Get-Service [-ComputerName <string[]>] [-DependentServices] [-RequiredServices] [-Include <string[]>] [-Exclude <st
ring[]>] [-InputObject <ServiceController[]>] [<CommonParameters>]
ALIASES
gsv
REMARKS
Get-Help cannot find the Help files for this cmdlet on this computer. It is displaying only partial help.
-- To download and install Help files for the module that includes this cmdlet, use Update-Help.
-- To view the Help topic for this cmdlet online, type: "Get-Help Get-Service -Online" or
go to http://go.microsoft.com/fwlink/?LinkID=113332.
https://msdn.microsoft.com/powershell/reference/5.1/microsoft.powershell.management/Get-Service
Example
Get-Service -DisplayName FileExchange4.3_SourceCode
Get-Service | Where-Object {$_.name.Contains("LBS")} | Select name,DisplayName
Get-Service | Where-Object{$_.name.Contains("LFXSVC_")} | Select name,DisplayName
Get-Service | Where-Object {$_.name.Contains("LISA")} | Select Status,Name,DisplayName
Start-Service
PS C:\Users\clu> help start-service
NAME
Start-Service
SYNTAX
Start-Service [-InputObject] <ServiceController[]> [-PassThru] [-Include <string[]>] [-Exclude <string[]>] [-WhatIf
] [-Confirm] [<CommonParameters>]
Start-Service [-Name] <string[]> [-PassThru] [-Include <string[]>] [-Exclude <string[]>] [-WhatIf] [-Confirm] [<Co
mmonParameters>]
Start-Service -DisplayName <string[]> [-PassThru] [-Include <string[]>] [-Exclude <string[]>] [-WhatIf] [-Confirm]
[<CommonParameters>]
ALIASES
sasv
REMARKS
Get-Help cannot find the Help files for this cmdlet on this computer. It is displaying only partial help.
-- To download and install Help files for the module that includes this cmdlet, use Update-Help.
-- To view the Help topic for this cmdlet online, type: "Get-Help Start-Service -Online" or
go to http://go.microsoft.com/fwlink/?LinkID=113406.
https://msdn.microsoft.com/powershell/reference/5.1/microsoft.powershell.management/Start-Service
Example
Start-Service -Name "eventlog"
Start-Service -DisplayName FileExchange4.3_SourceCode
Restart-Service
The Restart-Service cmdlet sends a stop message and then a start message to the Windows Service Controller for a specified service.
If a service was already stopped, it is started without notifying you of an error.
You can specify the services by their service names or display names, or you can use the InputObject parameter to pass an object that represents each service that you want to restart.
Stop-Service
PS C:\Users\clu> help stop-service
NAME
Stop-Service
SYNTAX
Stop-Service [-InputObject] <ServiceController[]> [-Force] [-NoWait] [-PassThru] [-Include <string[]>] [-Exclude <s
tring[]>] [-WhatIf] [-Confirm] [<CommonParameters>]
Stop-Service [-Name] <string[]> [-Force] [-NoWait] [-PassThru] [-Include <string[]>] [-Exclude <string[]>] [-WhatIf
] [-Confirm] [<CommonParameters>]
Stop-Service -DisplayName <string[]> [-Force] [-NoWait] [-PassThru] [-Include <string[]>] [-Exclude <string[]>] [-W
hatIf] [-Confirm] [<CommonParameters>]
ALIASES
spsv
REMARKS
Get-Help cannot find the Help files for this cmdlet on this computer. It is displaying only partial help.
-- To download and install Help files for the module that includes this cmdlet, use Update-Help.
-- To view the Help topic for this cmdlet online, type: "Get-Help Stop-Service -Online" or
go to http://go.microsoft.com/fwlink/?LinkID=113414.
https://msdn.microsoft.com/powershell/reference/5.1/microsoft.powershell.management/Stop-Service
Example
Stop-Service -DisplayName FileExchange4.3_SourceCode
Stop-Service -DisplayName FileExchange4.3_SourceCode
通过任务管理器,强制终结服务
找到对应的exe,在进程中直接干掉。
Set-Service
PS C:\Users\clu> help set-service
NAME
Set-Service
SYNTAX
Set-Service [-Name] <string> [-ComputerName <string[]>] [-DisplayName <string>] [-Description <string>] [-StartupTy
pe <ServiceStartMode> {Boot | System | Automatic | Manual | Disabled}] [-Status <string> {Running | Stopped | Pause
d}] [-PassThru] [-WhatIf] [-Confirm] [<CommonParameters>]
Set-Service [-ComputerName <string[]>] [-DisplayName <string>] [-Description <string>] [-StartupType <ServiceStartM
ode> {Boot | System | Automatic | Manual | Disabled}] [-Status <string> {Running | Stopped | Paused}] [-InputObject
<ServiceController>] [-PassThru] [-WhatIf] [-Confirm] [<CommonParameters>]
ALIASES
None
REMARKS
Get-Help cannot find the Help files for this cmdlet on this computer. It is displaying only partial help.
-- To download and install Help files for the module that includes this cmdlet, use Update-Help.
-- To view the Help topic for this cmdlet online, type: "Get-Help Set-Service -Online" or
go to http://go.microsoft.com/fwlink/?LinkID=113399.
https://msdn.microsoft.com/powershell/reference/5.1/microsoft.powershell.management/Set-Service
Example
Set-Service -Name LBS_MONITOR -DisplayName Batch4.3_SourceCode
Delete Service
To delete a service, use Sc.exe, or use the Get-WmiObject cmdlet to get the Win32_Service object that represents the service and then use the Delete method to delete the service. The object that Get-Service returns does not have a delete method.
PS C:\> sc.exe delete TestService 删除service之后,需要关闭任务管理器或service查看器,否则new-service的时候会出错
- or -
PS C:\> (Get-WmiObject win32_service -Filter "name='TestService'").delete()
This example shows two ways to delete the TestService service. The first command uses the delete option of Sc.exe. The second command uses the Delete method of the Win32_Service objects that Get-WmiObject returns.
Example
Get-WmiObject win32_service -Filter "name='LBS_MONITOR'" 加个括号,再调用delete
执行失败
__GENUS : 2
__CLASS : __PARAMETERS
__SUPERCLASS :
__DYNASTY : __PARAMETERS
__RELPATH :
__PROPERTY_COUNT : 1
__DERIVATION : {}
__SERVER :
__NAMESPACE :
__PATH :
ReturnValue : 2
PSComputerName :
执行成功
__GENUS : 2
__CLASS : __PARAMETERS
__SUPERCLASS :
__DYNASTY : __PARAMETERS
__RELPATH :
__PROPERTY_COUNT : 1
__DERIVATION : {}
__SERVER :
__NAMESPACE :
__PATH :
ReturnValue : 0
PSComputerName :
Remarks
PowerShell的命令,可以使用tab进行补全。
输入start-s然后tab键,两次tab后,会出现Start-Service。
然后空格,再输入服务的开头字母,再进行tab,可以通过自动补全,找到对应的服务
安装服务http://www.cnblogs.com/chucklu/p/7150420.html
CIM
https://technet.microsoft.com/en-us/itpro/powershell/windows/cimcmdlets/get-ciminstance
Get-CimInstance -ClassName Win32_Service
Get-CimInstance -ClassName Win32_Service -Filter "name like 'L%'" | select Name,DisplayName,StartMode,State,StartName,SystemName,Description |Format-Table -AutoSize
批量停止service
Get-Service | Where-Object {$_.name.Contains("LISA_43")} | Stop-Service
PS C:\Users\clu\Desktop> Get-Service | Where-Object {$_.name.Contains("SQL2014")} | Select Status,Name,DisplayName
Status Name DisplayName
------ ---- -----------
Running MSOLAP$SQL2014 SQL Server Analysis Services (SQL2014)
Running MSSQL$SQL2014 SQL Server (SQL2014)
Running MSSQLFDLauncher$SQL2014 SQL Full-text Filter Daemon Launcher (SQL2014)
Running ReportServer$SQL2014 SQL Server Reporting Services (SQL2014)
Stopped SQLAgent$SQL2014 SQL Server Agent (SQL2014)
PS C:\Users\clu\Desktop> Get-Service | Where-Object {$_.name.Contains("SQL2014")} | Select Status,Name,DisplayName | Res
tart-Service
WARNING: Waiting for service 'SQL Server Reporting Services (SQL2014) (ReportServer$SQL2014)' to stop...
WARNING: Waiting for service 'SQL Server Reporting Services (SQL2014) (ReportServer$SQL2014)' to stop...
WARNING: Waiting for service 'SQL Server Reporting Services (SQL2014) (ReportServer$SQL2014)' to start...