2015-06-02 2 views
1

Я пытаюсь написать скрипт, который будет удаленно удалять SQL-экземпляры. Ссылаясь на форуме, я подставил следующую строку для выполнения exe-файл на удаленном другом сервере:Exe file remote Execution

Invoke-Command -ComputerName $computer -ScriptBlock { 
    & cmd /c 'D:\SQL_PATCH\SQLServer2012SP2-KB2958429-x64-ENU.exe' /qs /action=patch /allinstances /IAcceptSQLServerLicenseTerms 
} 

попытался Также это также:

более
Invoke-Command -ComputerName $computer -ScriptBlock { 
    & 'D:\SQL_PATCH\SQLServer2012SP2-KB2958429-x64-ENU.exe' -ArgumentList "/qs", "/action=patch", "/allinstances", "/IAcceptSQLServerLicenseTerms" 
} 

Одна специфическая вещь с этим, первая команда работает нормально на серверах Windows 2012, но не на сервере Windows 2008R2. Я не знаю, в чем причина этого.

+0

Попробуйте выполнить команду 'Invoke-Command -ComputerName $ computer -ScriptBlock {D: \ SQL_PATCH \ SQLServer2012SP2-KB2958429-x64-ENU.exe/qs/action = patch/allinstances/IAcceptSQLServerLicenseTerms}' Вам также необходимо убедиться, что A) удаленный компьютер включил PowerShell Remoting. B) ваш текущий сеанс PowerShell работает как администратор, а C) у вас должен быть админ на удаленном компьютере. Если у вас нет admin privs, вам необходимо предоставить учетные данные, которые делают. –

+0

@KeithHill: Команда, которую вы дали, не работает. Кроме того, все параметры, которые вы сказали, все были проверены, прежде чем я начал создавать этот скрипт. Пожалуйста, предложите любую другую альтернативу. спасибо – Lilly123

+0

замените '/ qs' на'/q'. Также устанавливает ли запись файл журнала на удаленном сервере? Существует определенное место для журналов настройки SQL-Server. –

ответ

1

Следующая сделал трюк на то, что я искал:

psexec \\$computer -s -u Adminuser -p AdminPassword E:\SQL_PATCH\SQLServer2012SP2-KB2958429-x64-ENU.exe /quiet /action=patch /allinstances /IAcceptSQLServerLicenseTerms 

Эта часть работает на всех серверах, независимо от версий Windows. Спасибо всем за ваши ценные предложения.

+0

Когда вы запускали Invoke-Command, вы вошли в систему как Adminuser? Если нет, то должен использовать параметр '-Credential' в Invoke-Command для передачи учетных данных Adminuser. –

+0

Да, у меня есть права администратора на сервере. Нет необходимости в параметре полномочий – Lilly123

 Смежные вопросы

  • Нет связанных вопросов^_^