Командний рядок як користувача SYSTEM (Windows 7)


10

Як я можу отримати командний рядок як користувача SYSTEM в Windows 7?

Контекст: Я тестую сценарій запуску комп'ютера, і мені потрібно з’ясувати поведінку команди при запуску як SYSTEM, а не моєму обліковому записі користувача.

Я бачив способи зробити це за допомогою atі psexec, але, здається, ці методи працюють лише в Windows XP або Windows Vista.

Я використовую Windows 7 Pro SP1.


1
SYSTEM - це, як правило, користувальницькі сервіси, а не інтерактивний обліковий запис ...
Austin T French

1
Можливо, я щось нерозумію. Ось мета: у мене є сценарій, який я планую розгорнути в нашій організації за допомогою групової політики. Хоча сценарій має працювати, він не є.
stephenwade

1
Сценарій буде виконуватись як сценарій запуску комп'ютера, який, на мою думку, працює як SYSTEM; тому я хочу, щоб командний рядок як СИСТЕМА перевірив свій сценарій. Чи правильно я запускаю сценарії запуску як SYSTEM? Якщо так, то який найкращий спосіб розпочати тестування мого сценарію?
stephenwade

1
Сценарій запуску комп'ютера в груповій політиці.
stephenwade

1
I've seen ways to do this with at and psexec, but those methods only appear to work on Windows XP or Windows 7. I'm using Windows 7 Pro SP1. Гм… ఠ_ ಠ
Synetech

Відповіді:


3

Про це запитували в Stack Overflow . У прийнятій відповіді використовується PsExec (з набору Systinternals ), як запропонував Скотт.

Інше рішення передбачає створення служби, яка працює під системним обліковим записом для запуску інтерпретатора команд. Ви можете це зробити вручну або скористатися програмою, яка створює сервіси, запустити підказку, а потім видалити послугу автоматично. Я просто спробував це, і це спрацювало частування:

Знімок екрана диспетчера завдань із CMD, що працює як система


9

Використовуйте PsExec з пакету Systinternals Microsoft . PsExec повинен запускатися з адміністративного командного рядка. Використовуйте -i -sперемикачі, щоб запустити сценарій / командний рядок.

Введіть тут опис зображення


1
Навіть у командному рядку адміністратора я отримую повідомлення " Access is denied."
stephenwade

@stephenwade Як отримуєш командний рядок адміністратора, ти клацнеш правою кнопкою миші та робиш "Запустити як адміністратор"? Це означає, що "Адміністратор: Командний рядок" на плитці, коли у вас є відкрите вікно перед запуском PsExec? Крім того, якщо ви намагаєтеся вказати його на мережевий файл для запуску, маркер для підключення до віддаленої спільної мережі втрачається під час процесу піднесення.
Скотт Чемберлен

Так, я натиснув правою кнопкою миші командний рядок у меню "Пуск" і натиснув "Запустити як адміністратор".
stephenwade

1
Я запускаю psexec з мережевої папки, пов'язаної з H: накопичувачем. Можливо, це проблема?
stephenwade

1
@stephenwade так, коли ви підвищуєте втрату ваших мережевих накопичувачів (оскільки вони прив’язані до облікового запису користувача і ви змінюєте облікові записи користувачів), скопіюйте локальні, і це спрацює.
Скотт Чемберлен

1

Я б дуже обережно це робив. SYSTEM - це обліковий запис адміністратора, але набагато, набагато небезпечніше, оскільки він має більш високий рівень доступу.

Як правило, ваша СИСТЕМА - це послуги облікового запису, за допомогою яких не працює інтерактивний профіль. Однак є способи зробити це.

Читаючи це, я думаю, що у нас хороший підхід:

  1. Перевірте ім’я облікового запису, на якому ви ввійшли (натисніть кнопку "Пуск". Ви
    побачите ім'я облікового запису, на якому ви ввійшли.)
  2. Запустіть командний рядок. (Запуск | Запуск | cmd | [Enter])
    у командному рядку, створіть графік запуску cmd.exe.
    Щоб створити графік, введіть наступний рядок і натисніть клавішу Enter.
    о 10:41 / інтерактивний "cmd.exe",
    це створить графік запуску cmd.exe о 10:41.
    (Оскільки ви тестуєте, перевірте час у вашій системі, спробуйте, і додайте дві-три хвилини.) Змініть цей час відповідно до місцевого часу
    Підказка: ви можете перевірити, чи розкладено графік, набравши " у "
    та натиснувши клавішу " Введення" після зазначеного вище крок.
  3. Зачекайте часу, яке ви встановили для розкладу.
    cmd.exe буде запущено у вказаний час.
  4. Після запуску cmd.exe до запланованого часу натисніть [CTRL] + [ALT] + [DEL] та запустіть менеджер завдань.
    Перейдіть на вкладку «Обробити», у списку процесів виберіть explorer.exe і натисніть кнопку « Завершити процес ».
    Ви отримаєте діалог підтвердження. Клацніть "Так", щоб закінчити процес.
  5. Закрийте менеджер завдань, натиснувши кнопку закрити (X).
    Закрийте перше вікно cmd (будьте обережні, щоб закрити перше, а не друге.)
  6. Тепер у вас є лише друге вікно командного рядка та порожній робочий стіл.
    У командному рядку введіть наступний рядок і натисніть клавішу "Enter"
    .
  7. У командному рядку введіть наступний рядок і натисніть «Enter»
    explorer.exe
    Якщо це перший раз , коли ви робите це, вікна створює необхідні
    компоненти для вас доступу System (Desktop, меню Пуск,
    Мій документ) ,
    коли вона буде закінчена ви будете мати новий робочий стіл.
  8. Закрийте вікно командного рядка. Натисніть кнопку "Пуск" і перевірте своє ім'я користувача.
    Він змінено на System.
    Тепер ви користуєтеся надпотужним користувачем. Будьте обережні, щоб не нашкодити своєму ПК та видалити або змінити системні файли, якщо ви не знаєте, що робите.

Іншим варіантом було б запустити сценарій як службу.


2
atне працює в Windows 7.
stephenwade

1
atпрацює на моїй машині Windows 7. Що для вас не працює?
uSlackr

3
Ось ще один (швидший?) Спосіб припинити ваш дослідницький процес у Windows 7: натисніть кнопку Пуск. Перемістіть курсор миші праворуч (там, де знаходяться "Виконати" та "Вийти"). (Ctrl) + (Shift) + (клацання правою кнопкою миші); натисніть «Вийти з Провідника».
Скотт

2
C: \ Windows \ system32> о 23:56 / інтерактивний "cmd.exe" Попередження: Завдяки покращенню безпеки це завдання буде виконуватися в очікуваний час, але не в інтерактивному режимі. Використовуйте утиліту schtasks.exe, якщо потрібно інтерактивне завдання ('schtasks /?' Для деталей). Додано нову роботу з ідентифікатором роботи = 1 blogs.technet.com/b/askds/archive/2008/10/22/…
Dagelf

1

До цього також є трохи більш хакітний підхід, який, в основному, передбачає підчинення cmd.exe замість Utilman.exe в \ Windows \ System32 (що, очевидно, вимагатиме резервного копіювання). Ви повинні зробити це за межами поточно запущеної системи Windows (наприклад, в Linux або через компакт-диск для встановлення / відновлення). Ось приклад сценарію для використання (через Windows):

cd "%SystemRoot%\System32"
ren Utilman.exe Utilman.exe.bak
robocopy cmd.exe Utilman.exe /copyall

Після цього завантажтесь у звичайну Windows і натисніть клавішу Windows Key + U, а замість того, щоб відкривати набір утиліт, щоб допомогти з доступністю тощо, він відкриває командний рядок на рівні системного рівня зі всіма доступними інструментами вашої системи .


Також це можна зробити всередині Windows, без дисків, навіть без перезавантаження. Просто перейдіть до System32, відкрийте властивості UtilMan.exe, візьміть усі привілеї та право власності та зробіть ці кроки після цього.
Jet

Це зручно, якщо ви не можете увійти в систему і потрапити лише на екран входу
Вітас,
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.