Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Zadania są rejestrowane i uruchamiane w określonym kontekście zabezpieczeń. Użytkownicy mogą tworzyć aplikacje, które pomyślnie rejestrują, aktualizują, usuwają lub uruchamiają zadania, ale użytkownik musi podać poprawne poświadczenia po zarejestrowaniu zadania, a aplikacja musi być uruchomiona w procesie z odpowiednimi uprawnieniami.
Określanie poświadczeń
Kontekst zabezpieczeń zadania można określić, określając poświadczenia w folderze ITaskFolder::RegisterTask lub ITaskFolder::RegisterTaskDefinition (TaskFolder.RegisterTask lub metody TaskFolder.RegisterTaskDefinition na potrzeby skryptów) lub przez przypisanie podmiotu zabezpieczeń do właściwości głównej ITaskDefinition (TaskDefinition.Principal na potrzeby skryptów). Jeśli jednostka jest tworzona dla definicji zadania, a następnie definicja zadania jest rejestrowana przy użyciu metody RegisterTaskDefinition z różnymi poświadczeniami określonymi w parametrach metody, a następnie poświadczenia określone w RegisterTaskDefinition metody zastąpi poświadczenia w jednostce głównej. Jeśli jednostka jest tworzona dla definicji zadania przy użyciu kodu XML, a następnie kod XML zadania jest rejestrowany przy użyciu metody RegisterTask z różnymi poświadczeniami określonymi w parametrach metody, poświadczenia określone w metodzie RegisterTask zastąpi poświadczenia w jednostce głównej.
Podczas rejestrowania zadania należy określić konto użytkownika lub grupę lub określić zasadę zadania. Kontekst zabezpieczeń konta użytkownika lub grupy jest używany na potrzeby kontekstu zabezpieczeń zadania. W tych metodach i właściwościach zdefiniujesz również typ logowania. Typ logowania jest definiowany przez jedną z stałych w wyliczenie TASK_LOGON_TYPE.
Zadania zarejestrowane przy użyciu flagi TASK_LOGON_PASSWORD lub TASK_LOGON_S4U będą uruchamiane tylko wtedy, gdy określony użytkownik ma włączone uprawnienie logowania w usłudze Batch. Administratorzy i operatorzy kopii zapasowych domyślnie mają to uprawnienie włączone.
Po wywołaniu metody ITaskService::Connect (TaskService.Connect na potrzeby obsługi skryptów), wszystkie kolejne wywołania metody do usługi Harmonogram zadań będą używać poświadczeń przekazanych do metody Connect. Jest to ważne, aby wziąć pod uwagę podczas rejestrowania zadań przy użyciu typu logowania interakcyjnego. Podczas rejestrowania zadania przy użyciu typu logowania równego TASK_LOGON_INTERACTIVE_TOKEN i zadanie nie ma poświadczeń określonych we właściwości Principal definicji zadania określonego w parametrach RegisterTaskDefinitionlub określonego w kodzie XML przekazywanym do RegisterTask, następnie zadanie zostanie zarejestrowane przy użyciu poświadczeń użytkownika, który nazwał metodę Connect.
Zabezpieczenia kontroli konta użytkownika (UAC) dla zadań
kontrola konta użytkownika (UAC) umożliwia użytkownikom wykonywanie ogólnych funkcji, takich jak uruchamianie programów i zapisywanie i modyfikowanie danych bez ujawniania uprawnień administracyjnych. Domyślnie zadanie jest uruchamiane z uprawnieniami niskiego poziomu, gdy kontrola konta użytkownika jest włączona. Zadania mogą określać, że będą uruchamiane z podwyższonym poziomem uprawnień lub niskimi uprawnieniami, ustawiając poziom uprawnień z TASK_RUNLEVEL_TYPE wyliczenia dla właściwości RunLevel IPrincipal (Principal.RunLevel na potrzeby skryptów). Wartość właściwości RunLevel określa poziom uprawnień, na którym będą uruchamiane akcje zadania. Jeśli akcje zadania muszą mieć podwyższony poziom uprawnień do uruchomienia, należy ustawić właściwość RunLevel na TASK_RUNLEVEL_HIGHEST. Jeśli zadanie jest zarejestrowane przy użyciu grupy Administratorzy dla kontekstu zabezpieczeń zadania, należy również ustawić właściwość RunLevel, aby TASK_RUNLEVEL_HIGHEST, jeśli chcesz uruchomić zadanie. Jeśli zadanie zostanie zarejestrowane przy użyciu konta Builtin\Administrator lub konta systemu lokalnego lub usługi lokalnej, właściwość RunLevel zostanie zignorowana. Wartość właściwości będzie również ignorowana, jeśli kontrola konta użytkownika (UAC) jest wyłączona. Wartość właściwości RunLevel nie ma wpływu na uprawnienia wymagane do uruchomienia lub usunięcia zadania.
Nuta
Po uaktualnieniu systemu operacyjnego z systemu Windows XP do systemu Windows Vista zadania zarejestrowane przy użyciu konta Builtin\Administrator w systemie Windows XP będą miały właściwość RunLevel ustawioną na TASK_RUNLEVEL_LUA. Może to spowodować niepowodzenie niektórych zadań. Tę właściwość można zaktualizować ręcznie, aby upewnić się, że wszystkie zadania zostaną uruchomione.
W procesie niskiego poziomu uprawnień nie można zarejestrować zadania za pomocą właściwości RunLevel równej TASK_RUNLEVEL_HIGHEST, ale można zarejestrować zadanie za pomocą właściwości RunLevel równej TASK_RUNLEVEL_LUA. Akcje zadania będą uruchamiane z niskimi uprawnieniami. Nie możesz zarejestrować zadania jako wbudowanego/administratora, systemu lokalnego lub grupy.
W procesie uprawnień z podwyższonym poziomem uprawnień można zarejestrować zadanie za pomocą właściwości RunLevel równej TASK_RUNLEVEL_HIGHEST lub TASK_RUNLEVEL_LUA. Zadanie zostanie uruchomione z poziomem uprawnień określonym przez właściwość RunLevel, chyba że używasz konta administratora, w tym przypadku zadanie jest uruchamiane z podwyższonym poziomem uprawnień.
W procesie z podwyższonym poziomem uprawnień można zarejestrować zadanie Harmonogramu zadań 1.0. Usługa Harmonogram zadań ustawi poziom uruchamiania zadania na TASK_RUNLEVEL_HIGHEST, a zadanie zostanie uruchomione z podwyższonym poziomem uprawnień.
W procesie niskiego poziomu uprawnień można również zarejestrować zadanie Harmonogramu zadań 1.0. Usługa Harmonogram zadań ustawi poziom uruchamiania zadania na TASK_RUNLEVEL_LUA, a zadanie zostanie uruchomione z niskimi uprawnieniami. Jeśli to zadanie zostanie zaktualizowane z poziomu procesu z podwyższonym poziomem uprawnień, poziom uruchamiania zadania pozostanie TASK_RUNLEVEL_LUA.
Zabezpieczenia dotyczące rejestrowania zadań
Podczas rejestrowania zadania z konta, które jest członkiem grupy Administratorzy, wystarczy określić hasło podczas rejestrowania zadania w następujących sytuacjach:
- Jeśli zarejestrujesz zadanie do uruchomienia w kontekście zabezpieczeń konta lub konta innego użytkownika i użyjesz flagi TASK_LOGON_PASSWORD w metodzie RegisterTask lub RegisterTaskDefinition.
- Jeśli zarejestrujesz zadanie do uruchomienia w kontekście zabezpieczeń konta innego użytkownika i użyjesz flagi TASK_LOGON_S4U w RegisterTask lub RegisterTaskDefinition metody.
Nie można użyć grupy użytkowników jako kontekstu zabezpieczeń zadania podczas rejestrowania zadania przy użyciu flagi TASK_LOGON_S4U lub flagi TASK_LOGON_PASSWORD w RegisterTask lub RegisterTaskDefinition metody.
Podczas rejestrowania zadania z konta użytkownika, które nie jest członkiem grupy Administratorzy, nie musisz określać hasła podczas rejestrowania zadania, jeśli zarejestrujesz zadanie do uruchomienia w kontekście zabezpieczeń konta i używasz typu logowania interakcyjnego lub S4U. W przeciwnym razie należy określić hasło podczas rejestrowania zadania. Ponadto nie można zarejestrować zadania przy użyciu konta usługi lokalnej lub grupy dla kontekstu zabezpieczeń zadania.
Zabezpieczenia odczytu, aktualizowania, usuwania i uruchamiania zadań
Domyślnie użytkownik tworzący zadanie może odczytywać, aktualizować, usuwać i uruchamiać zadanie. Użytkownik musi mieć uprawnienia do zapisu plików w pliku zadań, aby zaktualizować zadanie, uprawnienia do odczytu pliku zadania, aby odczytać zadanie, usunąć uprawnienia do pliku zadania podrzędnego w celu usunięcia zadania i uprawnienia do wykonywania pliku w zadaniu, aby uruchomić zadanie przy użyciu IRegisteredTask::Uruchom lub metody RunEx (RegisteredTask.Run i RunEx do wykonywania skryptów). Członkowie grupy Administratorzy lub konto SYSTEM mogą odczytywać, aktualizować, usuwać i uruchamiać wszystkie zadania. Członkowie grupy Użytkownicy, konto usługi lokalnej i konto usługi sieciowej mogą tylko odczytywać, aktualizować, usuwać i uruchamiać utworzone przez nich zadania. To domyślne zachowanie jest zmieniane, gdy lista DACL pliku zadania zostanie zmieniona, w takim przypadku lista DACL definiuje, którzy użytkownicy mają uprawnienia do zapisu, odczytu, wykonywania i usuwania plików. Aby ustawić uprawnienia dla pliku zadania, użyj metody IRegisteredTask.SetSecurityDescriptor (RegisteredTask.SetSecurityDescriptor na potrzeby skryptów) lub ustaw deskryptor zabezpieczeń podczas rejestrowania zadania przy użyciu metody RegisterTask lub RegisterTaskDefinition metod.
Użytkownik musi mieć uprawnienie WriteDAC oprócz uprawnień do odczytu/zapisu, aby zaktualizować zadanie, jeśli aktualizacja zadania wymaga zmiany listy DACL dla zadania.
Tematy pokrewne