Запустите скрипт на запуске Windows без зарегистрированного пользователя

Более простой способ передачи данных - создание собственного класса. Пример Мне нужно передать данные через UITapGestureRecognizer.

Сначала создайте пользовательский UITapGestureRecognizer и определите экземпляр, который является вашими данными

class CustomTapGesture: UITapGestureRecognizer {
    var data: YourData
}
let tapGesture = CustomTapGesture(target: self, action: #selector(tapGesture(_:)))
tapGesture.data = yourData
yourView.addGestureRecognizer(tapGesture)

#selector function

@objc func tap(_ sender: UITapGestureRecognizer) {
    if let sender = sender as? CustomTapGesture {
       yourData = sender.data
       // do something with your data
    }
}
14
задан Jon Seigel 6 March 2010 в 04:48
поделиться

5 ответов

Короткий ответ: GPEDIT.MSC (Запускаются, Выполнение, GPEdit.msc),

Windows 2000 и выше [1] предлагают компьютерный набор Сценариев Запуска в редакторе политики:

  • Компьютерные Настройки-> Windows Settings-> Сценарии (Запуск/Завершение работы)

Существует эквивалентная область сценария входа в систему (т.е. после компьютерного запуска, когда пользователь входит в систему) в Пользовательском бите конфигурации.

Дольше:

GPEDIT.MSC является консолью редактирования Групповой политики и работает против хранилища Групповой политики локального компьютера, когда это используется непосредственно, таким образом, это полезно для установки локально-единственных параметров. При использовании Active Directory тот же интерфейс используется для редактирования размещенных лесом объектов групповой политики (GPOS), таким образом, те же настройки доступны через набор машин.

Компьютерные сценарии запуска работают в компьютерном контексте, т.е. LocalSystem, как Вы отметили, таким образом, они часто не могут диски сети доступа, которые требуют, чтобы определенный пользователь или состав группы работали и так далее. Когда компьютеры получают доступ к сети, они обычно (за исключениями) используют свою учетную запись MACHINENAME$.

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

Компьютерный процесс запуска будет затронут к тому времени, когда он берет для запущения программы, тем не менее, таким образом, Вы могли бы хотеть удостовериться, чтобы Вы назвали его с командой START от пакетного файла, или указывающий для не ожидания исполняемого файла для завершения на любом языке сценария, который Вы используете. (ключевой пункт существует: запустите скрипт асинхронно, если это не очень важно, или не должно быть выполнено асинхронно, потому что это будет всегда занимать время вообще. Высокая обувь = несчастные пользователи).

Используя Win32 Сервис является альтернативной опцией - можно использовать утилиту SRVANY от Набора Ресурса до "сервиса-ify" в значительной степени любой исполняемый файл. VS.Net 2002 и позже также позволяют Вам создать управляемый сервис непосредственно.

И Планировщик задач становится намного более способным с Vista/2008, которая в состоянии запускать скрипты при запуске, на неактивном, и/или когда журналы событий сгенерированы, или соблюдают определенные другие условия: это довольно прохладно! Запланированные задачи имеют возможное преимущество способности указать учетную запись пользователя, под которой работает задача, если это важно для Вас.

Протест Scriptor: http://support.microsoft.com/kb/256320

Запустите скрипты запуска асинхронно: http://msdn.microsoft.com/en-us/library/ms811602.aspx

Планировщик задач Vista (новые функции и возможности): http://technet.microsoft.com/en-us/appcompat/aa906020.aspx

[1] Windows XP, 2003, Vista/2008, Windows 7/2008R2, Windows 8/2012, Windows 8.1/2012R2, Windows 10/Windows Server 2016. Все. Но NT4 не сделал!

19
ответ дан 1 December 2019 в 09:33
поделиться

Вы уже обрисовали в общих чертах хорошее решение:

Установите запланированную задачу, чтобы работать при Запуске и позволить заданию работать, когда пользователь не будет зарегистрирован.

8
ответ дан 1 December 2019 в 09:33
поделиться

Можно запустить скрипт при системном запуске с помощью групповой политики gpedit.msc

1
ответ дан 1 December 2019 в 09:33
поделиться

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

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

0
ответ дан 1 December 2019 в 09:33
поделиться

Существует, если Вы используете Active Directory. Если можно изолировать компьютер к его собственному OU или использовать фильтрацию WMI, Вы могли присвоить GPO, который имеет сценарий запуска для компьютера. Это гарантировало бы, что, даже если бы кто-то пошел на пути безопасный режим и отключил Планировщика задач после запуска и соединения с доменом, сценарий работал бы.

0
ответ дан 1 December 2019 в 09:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: