Запуск команды PowerShell для принудительной остановки процессов через T-SQL (xp_cmdshell) - PullRequest
0 голосов
/ 24 октября 2019

У меня проблема с запуском команды PowerShell в T-SQL через xp_cmdshell.

Ниже приведен код, который я пытался запустить. Запрос выполняется успешно, однако он не убивает и не принудительно останавливает процесс:

EXEC sp_configure 'show advanced options', 1
RECONFIGURE
GO
EXEC sp_configure 'xp_cmdshell', 1
RECONFIGURE
GO
DECLARE @PSCommand as varchar(1000) 
SET @PSCommand = 'powershell.exe -command "get-process chrome* | where{$_.CPU -gt 1} | kill -force"'
EXEC xp_cmdshell @PSCommand

Я подозреваю, что это связано с учетной записью, которую SQL-сервер использует для выполнения команд cmd.

при попытке запустить whoami через TSQL:

EXEC sp_configure 'show advanced options', 1
RECONFIGURE
GO
EXEC sp_configure 'xp_cmdshell', 1
RECONFIGURE
GO
EXEC xp_cmdshell 'whoami'

Возвращает: nt service \ mssqlserver

В любом случае я могу запустить указанную выше команду PS?

...