Не запускается excel от другого пользователя

Обновлено: 05.07.2024

Во всех поддерживаемых версиях Windows существует возможность запускать в текущей сессии программы от имени другого пользователя ( Run As ). Благодаря этому можно выполнить скрипт (.bat, .cmd, .vbs, .ps1), исполняемый .exe файл или запустить установку приложения (.msi, .cab) с полномочиями другого пользователя (привелигированного).

К примеру, благодаря возможности использовать функционал Run As можно в сессии пользователя с ограниченными правами запустить установку программы или открыть нужную MMC оснастку управления компьютером под административной учетйно записью. Также возможность запуска программы «от имени» может быть полезна в ситуациях, когда приложение настроено под другим пользователем (и соответственно хранит свои настройке в чужом профиле, к которому у данного пользователя нет данных), а его нужно запустить с теми же настройками в сессии другого пользователя.

В Windows 10 есть несколько способов запустить процесс от имени другого пользователя.

Запуск программы от имени другого пользователя из Проводника (File Explorer)

Самый простой способ запустить приложение под другим пользователем – воспользоваться графическим интерфейсом Проводника Windows (File Explorer). Просто найдите нужно приложение (или ярлык), зажмите клавишу Shift и щелкните по нему правой кнопкой мыши. Выберите пункт контекстного меню « Запуск от имени другого пользователя » (Run as different user).

Примечание . Если пункт меню « Запуск от имени другого пользователя » отсутствует, см. следующий раздел.

В появившемся окне нужно будет указать имя и пароль пользователя, под чьей учетной записью нужно запустить приложение и нажать кнопку ОК .

Примечание . Если нужно указать доменного пользователя, используется один из следующий форматов имени: UserName@DomainName или DomainName\UserName

Важно . Запуск программы от имени другого пользователя возможен, если для него задан пароль. Использовать Run as для учетки с пустым паролем не получится.

Откройте Диспетчер задач и убедитесь, что приложение запущенно под указанным пользователем.

Что делать, если отсутствует пункт «Запуск от имени другого пользователя»

В том случае, если у вас в контекстном меню отсутствует пункт Запуск от имени другого пользователя (Run as different user), откройте редактор групповых политик (gpedit.msc) и убедитесь, что в разделе Конфигурация компьютера -> Административные шаблоны -> Компоненты Windows -> Пользовательский интерфейс учетных данных (Computer Configuration -> Administrative Templates -> Windows Components -> Credential User Interface) отключена (Не задана) политика Запрашивать достоверный путь для входа в учетную запись (Require trusted path for credential entry) .

Утилита Runas:как запустить приложение от имени другого пользователя из командной строки

Запустить программу или скрипт от имени другого пользователя можно и из командной строки или ярлыка приложения. Кроме того, этот способ предполагает возможность сохранения пароля пользователя, чтобы его не пришлось набирать каждый раз. Для этого можно воспользоваться консольной утилитой runas.exe .

Откройте командную строку (или окно Выполнить, нажав сочетание клавиш Win+R ). Для запуска Блокнота под учетной записью admin выполните команду:

runas /user:admin “C:\Windows\notepad.exe”

В отрывшемся окне появится приглашение «Введите пароль для admin», где нужно набрать пароль пользователя и нажать Enter.

Совет . В том случае если имя пользователя содержит пробел, его нужно взять в кавычки.

При необходимости запуска программы под доменным пользователем нужно использовать формат имени UserName@DomainName или DomainName\UserName. Например, чтобы с помощью блокнота открыть текстовый файл от имени доменного пользователя, воспользуемся командой:

runas /user:corp\domain_admin “C:\Windows\notepad.exe C:\tmp\2871997x64.txt”

Введите пароль для corp\domain_admin:
Попытка запуска C:\Windows\notepad.exe C:\tmp\2871997x64.txt от имени пользователя "corp\domain_admin" .

Чтобы создать на рабочем столе ярлык для запуска программы под другим пользователем, просто создайте новый ярлык, в окне с адресом объекта которого укажите нужную команду с runas.

При запуске такого ярлыка будет запрашиваться пароль пользователя.

Чтобы сохранить вводимый пароль другого пользователя нужно воспользоваться ключом /savecred .

runas /user:admin /savecred “C:\Windows\notepad.exe”

После указания пароля он сохранится в диспетчере паролей Windows и при следующем запуске команды runas под этим же пользователем с ключом /savecred система автоматически воспользуешься сохраненным паролем, а не будет запрашивать его повторно.

Однако использование параметра /savecred не безопасно, т.к. пользователь, в чьем профиле сохранен чужой пароль может использовать его для запуска любой команды под данными привилегиями, или даже сменить чужой пароль. Кроме того, сохраненные пароли из Credential Manager можно легко украсть, поэтом лучше запретить использование сохраненных паролей (а тем более нельзя сохранять пароль привилегированной административной учетной записи ).

Примечание . Кроме того, ключ /savecred не работает в Home редакциях Windows.

Запуск MMC оснасток от имени другого пользователя

В некоторых случаях от имени другого пользователя нужно запустить одну из управляющих оснасток Windows. К примеру, если под другим пользователем нужно запустить оснастку Active Directory Users and Computers , можно воспользоваться такой командой.

runas.exe /user:DOMAIN\USER “cmd /c start \”\” mmc %SystemRoot%\system32\dsa.msc”

Аналогичным образом можно запустить любую другую оснастку (главное знать ее имя).

Как добавить пункт «Запуск от имени..» программам в меню Пуск

По-умолчанию в Windows 10 у элементов меню Пуск (начального экрана) отсутствует возможность запуска приложений под другим пользователем. Чтобы добавить контекстное меню «Запуск от имени другого пользователя» нужно включить политику Показывать команду «Запуск от имени другого пользователя» при запуске ( Show “Run as different user” command on Start ) в разделе редактора групповых политик (консоль gpedit.msc) Конфигурация пользователя -> Административные шаблоны -> Меню Пуск и панель задач (User Configuration -> Administrative Templates ->Start Menu and Taskbar).

Либо, если редактор gpedit.msc отсутствует , создать в ветке реестра HKEY_CURRENT_USER\Software\Policies\
Microsoft\Windows\Explorer ключ типа DWORD с именем ShowRunasDifferentuserinStart и значением 1.

Осталось обновить политики (gpupdate /force) и убедиться, что у программ в меню Пуск появится новое контекстное меню Дополнительно -> Запуск от имени другого пользователя .

Возникла необходимость обновления файла Excel и отправлять эти данные по почте.
Во время реализации этой задачи сложилась следующая ситуация.

При запуске VB скрипта с сервера

Скрипт нормально запускается под "правильным" пользователем, но реализованный запуск екселя внутри скрипта открывается под "рандомным активным пользователем" из-за чего скрипт вылетает(повисает на ошибках екселя).

Так же для проверки был написан скрипт, чтобы убедиться в правильности логина.

Dim WshNetwork
Dim Username

При запуске в ручную скрипт и макрос возращают логин запустившего, но если запустить с сервера, то vbs возвращает логин авторизации сервера, а vba логин другого пользователя.

Возникла необходимость обновления файла Excel и отправлять эти данные по почте.
Во время реализации этой задачи сложилась следующая ситуация.

При запуске VB скрипта с сервера

Скрипт нормально запускается под "правильным" пользователем, но реализованный запуск екселя внутри скрипта открывается под "рандомным активным пользователем" из-за чего скрипт вылетает(повисает на ошибках екселя).

Так же для проверки был написан скрипт, чтобы убедиться в правильности логина.

Dim WshNetwork
Dim Username

При запуске в ручную скрипт и макрос возращают логин запустившего, но если запустить с сервера, то vbs возвращает логин авторизации сервера, а vba логин другого пользователя. Saliaz

Возникла необходимость обновления файла Excel и отправлять эти данные по почте.
Во время реализации этой задачи сложилась следующая ситуация.

При запуске VB скрипта с сервера

Скрипт нормально запускается под "правильным" пользователем, но реализованный запуск екселя внутри скрипта открывается под "рандомным активным пользователем" из-за чего скрипт вылетает(повисает на ошибках екселя).

Так же для проверки был написан скрипт, чтобы убедиться в правильности логина.

Dim WshNetwork
Dim Username

При запуске в ручную скрипт и макрос возращают логин запустившего, но если запустить с сервера, то vbs возвращает логин авторизации сервера, а vba логин другого пользователя. Автор - Saliaz
Дата добавления - 08.07.2015 в 11:18

А если шелл из скуля запустить от имени нужного пользователя?
То есть не надеяться на "автозапуск по расширению", а прописать сразу в @cmd полный вызов, по типу:
[vba] [/vba]
Но тут одна проблема - если у вас коннект к sql-серверу работает через авторизацию sql-сервра, а не windows/AD (т.е. на сервер-хосту неизвестна windows-учётка нужного пользователя) - то скрипту просто не от кого аутентифицироваться. А если шелл из скуля запустить от имени нужного пользователя?
То есть не надеяться на "автозапуск по расширению", а прописать сразу в @cmd полный вызов, по типу:
[vba] [/vba]
Но тут одна проблема - если у вас коннект к sql-серверу работает через авторизацию sql-сервра, а не windows/AD (т.е. на сервер-хосту неизвестна windows-учётка нужного пользователя) - то скрипту просто не от кого аутентифицироваться. AndreTM [/vba]
Но тут одна проблема - если у вас коннект к sql-серверу работает через авторизацию sql-сервра, а не windows/AD (т.е. на сервер-хосту неизвестна windows-учётка нужного пользователя) - то скрипту просто не от кого аутентифицироваться. Автор - AndreTM
Дата добавления - 08.07.2015 в 14:25 Но тут одна проблема - если у вас коннект к sql-серверу работает через авторизацию sql-сервра, а не windows/AD (т.е. на сервер-хосту неизвестна windows-учётка нужного пользователя) - то скрипту просто не от кого аутентифицироваться.

Учетные записи у нас с обязательной авторизацией.

Протестировав данный вариант на паре машин, получилось так, что скрипт запускается под указанной учеткой, а вот ексель запускается все равно под учетной записью запустившего.

Но тут одна проблема - если у вас коннект к sql-серверу работает через авторизацию sql-сервра, а не windows/AD (т.е. на сервер-хосту неизвестна windows-учётка нужного пользователя) - то скрипту просто не от кого аутентифицироваться.

Учетные записи у нас с обязательной авторизацией.

Протестировав данный вариант на паре машин, получилось так, что скрипт запускается под указанной учеткой, а вот ексель запускается все равно под учетной записью запустившего. Saliaz

Но тут одна проблема - если у вас коннект к sql-серверу работает через авторизацию sql-сервра, а не windows/AD (т.е. на сервер-хосту неизвестна windows-учётка нужного пользователя) - то скрипту просто не от кого аутентифицироваться.

Учетные записи у нас с обязательной авторизацией.

Протестировав данный вариант на паре машин, получилось так, что скрипт запускается под указанной учеткой, а вот ексель запускается все равно под учетной записью запустившего. Автор - Saliaz
Дата добавления - 08.07.2015 в 15:25

Ага, понял.
А если отказаться от VBS-прокладки и сразу запустить через RunAs именно Excel c открытием нужного файла? Ага, понял.
А если отказаться от VBS-прокладки и сразу запустить через RunAs именно Excel c открытием нужного файла? AndreTM А если отказаться от VBS-прокладки и сразу запустить через RunAs именно Excel c открытием нужного файла?

Как ты себе это представляешь.

Я попробовал выполнить ексель и cmd и поругался на отсутствие MSVCR90.dll.

А если отказаться от VBS-прокладки и сразу запустить через RunAs именно Excel c открытием нужного файла?

Как ты себе это представляешь.

Я попробовал выполнить ексель и cmd и поругался на отсутствие MSVCR90.dll. Saliaz

А если отказаться от VBS-прокладки и сразу запустить через RunAs именно Excel c открытием нужного файла?

Как ты себе это представляешь.

Я попробовал выполнить ексель и cmd и поругался на отсутствие MSVCR90.dll. Автор - Saliaz
Дата добавления - 08.07.2015 в 17:20

[/vba]
А уже в refresh.xls прописать все то, что выполняет VBScript (естественно, без CreateObject) [/vba]
А уже в refresh.xls прописать все то, что выполняет VBScript (естественно, без CreateObject) AndreTM [/vba]
А уже в refresh.xls прописать все то, что выполняет VBScript (естественно, без CreateObject) Автор - AndreTM
Дата добавления - 09.07.2015 в 03:54

Office 365 ProPlus переименован в Майкрософт 365 корпоративные приложения. Для получения дополнительной информации об этом изменении прочитайте этот блог.

Симптомы

На этом компьютере уже активен сеанс другого пользователя из вашей организации.

Причина

Это ожидаемое поведение. Это происходит, если другая учетная запись уже авторизована в Office 2013 с использованием другой учетной записи Office 365 в той же организации.

Решение

Для диагностики и автоматического устранения нескольких распространенных проблем, связанных с регистрацией Office, можно загрузить и запустить Помощник по поддержке и восстановлению Microsoft.

Выйдите из активной учетной записи, затем перезапустите компьютер. Если это решение не помогло устранить проблему, используйте следующее обходное решение.

Обходной путь

Точно следуйте всем указаниям из этого раздела. Внесение неправильных изменений в реестр может привести к возникновению серьезных проблем. Прежде чем приступить к изменениям, создайте резервную копию реестра для восстановления на случай возникновения проблем.

Это обходное решение может привести к потере некоторых настроек учетной записи.

Чтобы обойти это поведение, удалите существующую учетную запись пользователя и все подключенные службы из профиля Office 2013, а затем очистите кэшированные учетные данные, которые могут быть на компьютере:

Шаг 1. Выйти из Office, а затем войти обратно в

Выйти из Microsoft Office с помощью любого продукта Office: Word, Excel, PowerPoint, Outlook и т. д.

  1. Выберите Файл, а затем Учетная запись.
  2. Выберите Выйти.
  3. Закройте продукт Office, а затем запустите его повторно.
  4. Выберите Файл, а затем Учетная запись.
  5. Выберите Войти и с помощью учетных данных выполните вход обратно.

Шаг 2. Удаление учетной записи пользователя из профиля Office 2013

В правом верхнем углу приложения Office 2013 (Word, Excel, PowerPoint) выберите имя, а затем выберите Сменить учетную запись.

На экране Учетные записи нажмите Выйти.

Выполните выход на странице «Учетные записи».

Найдите учетную запись, которую нужно удалить, и нажмите кнопку Выйти.

Шаг 3. Удаление подключенных служб из профиля Office 2013

Перейдите в меню Файл и нажмите Учетная запись.

В разделе Подключенные службы удалите все службы для существующей учетной записи.

Снимок экрана удаления всех служб для существующей учетной записи в разделе «Подключенные службы».

Шаг 4. Очистка кэшированных учетных данных на компьютере

Измените раздел реестра, чтобы удалить кэшированные учетные данные:

Открыв редактор реестра, выберите следующий подраздел:

HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Common\Identity\Identities

Выберите учетную запись Office, которую необходимо удалить, и нажмите кнопку Удалить.

В подразделе Identity найдите Профили, щелкните правой кнопкой мыши ту же учетную запись Office, которую вы указали в Шаге 1 этой процедуры, а затем нажмите Удалить.

Выберите Файл, а затем Выйти для выхода из редактора реестра.

Удаление кэшированных учетных данных в диспетчере учетных данных:

Выберите Пуск, система Windows, затем откройте Панель управления, Диспетчер учетных данных.

Возможно, вам придется использовать поле поиска в панели управления, чтобы найти диспетчер учетных данных.

На вкладке Учетные данные Windows найдите учетную запись, которую необходимо удалить, а затем нажмите Удалить.

В Windows 7 это указано как Общие учетные данные.

Удалить учетные данные Windows

Выйдите из системы и войдите в нее с новой учетной записью.

Дополнительная информация

В приложениях Office 2013 вы можете получить доступ к контенту Office 365 в SharePoint Online со своим идентификатором и паролем пользователя Office 365. Если у вас есть несколько идентификаторов пользователей Office 365 от разных организаций, вы можете получить доступ к содержимому из развертывания SharePoint Online каждой организации.

Тем не менее, Office 2013 поддерживает вход только одного пользователя Office 365 от каждого клиента или организации за сеанс.

Office 2013 прилагает все усилия, чтобы предотвратить вход второго пользователя, когда другой пользователь из той же организации уже выполнил вход. Однако могут быть случаи, когда этот сценарий не обнаружен, и пользовательский интерфейс Office 2013 может показать успешный вход другого пользователя. В этом случае второй пользователь не может получить доступ к своему содержимому. Все содержимое Office 365, которое пользователь пытается открыть, будет выполняться с использованием учетных данных первого пользователя.

Имейте в виду, что Office 2013 признает разрешения всех документов и библиотек SharePoint Online. То есть, если первый пользователь не имеет доступа к документу, к которому имеет доступ второй пользователь, а второй пользователь (который считает, что он вошел) пытается открыть этот документ, документ не откроется, потому что Office пытается открыть документ в качестве первого пользователя.

Если перезагрузка компьютера не решает проблему, рекомендуется корректировка реестра.

Данная статья посвящена личному опыту по решению проблемы с невозможностью одновременного редактирования книги Excel с включенным общим доступом. При открытии файла по сети пользователи получали предупреждение Редактирование запрещено пользователем ‘другой пользователь’.

Общий файл Excel заблокирован для редактирования другим пользователем

Заблокирован файл Excel: решение

В моем окружении (Клиентские ПК – Windows 7, Office 2010; Серверы – Windows 2008 R2) проблема возникла после переноса файлового ресурса с удаленной площадки в центральный офис. Естественно первым делом были проверены все права доступа в NTFS и на Share, но с этим все было в порядке.

Хочу напомнить механизм, который Excel использует для открытия и сохранения файлов. При открытии файла в Excel создаётся временный файл, с которым пользователь и работает. При сохранении файла оригинальный документ удаляется, а временному файлу присваивается имя оригинального документа.

Также были проведены эксперименты, исключающие версии о блокировке файла антивирусным ПО, службой репликации DFSR и заданиями robocopy.exe.

Поискав по Интернету, наткнулся на упоминания на форумах о возможной блокировке файлов из-за включенных в проводнике Windows области сведений и области предварительного просмотра,

Проверка настроек области сведений и области предварительного просмотра в проводнике Windows

а также из-за всплывающих подсказок для папок и элементов рабочего стола (Мой компьютер, Упорядочить, Параметры папок и поиска, Вид):

Параметр папок - отображать описание для папок и элементов рабочего стола

Настройку проводника большому количеству пользователей самое простое сделать через групповые политики (Group Policy).

Пример отчета групповой политики по настройке области сведений и области предварительного просмотра:

Настройка области сведений и области предварительного просмотра проводника с помощью Group Policy

Как вы видите, используются административные шаблоны групповых политик, поэтому сложностей с настройкой возникнуть не должно.

Чуть трудней будет со всплывающими подсказками, так как стандартной настройки в административных шаблонах нет. Нам необходимо добавить следующую информацию в реестр:

Key: KEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced
Name: ShowInfoTip
Type: REG_DWORD
Value: 0

Самое простое использовать для этих целей так называемые Group Policy Preferences .

Пример отчета по настройке реестра через Preferences:

Настройка всплывающих подсказок для папок и элементов рабочего стола с помощью Group Policy

Результат экспериментов с настройками проводника оказался отрицательным – файл Excel все равно периодически был занят другим пользователем.

Поддержка Microsoft рекомендовала установить обновления из замечательной статьи из блога команды поддержки Excel, а также добавить следующие значения в реестр на клиентах:

Читайте также: