У меня проблема с запуском команды 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?