web-dev-qa-db-ja.com

SYSTEM32 \ Tasksへのアクセス権があっても、スケジュールされたタスクを表示できません

this へのフォローアップの質問があります。

次の2つのタスクを含むタスクフォルダRPAがあります。

enter image description here

タスクスケジューラUIを使用してこれら2つのタスクを自分で作成しました(上の画像のように)。私の問題は、SchTasks.exeを使用してSPSBatchを表示できないことです。

enter image description here

私はユーザーBEETHOVEN\kingkであり、\Windows\System32\Tasks\RPAフォルダー内の両方のタスクに対する同じフルアクセス権を持っています。

enter image description here

Tasksフォルダー内のファイルに対するファイルのアクセス許可の他に、タスクへのアクセスを制御しているものは何ですか?

1
Old Geezer

セキュリティ記述子は、サービスに対して行われるのと同様に、レジストリに格納されます。

キー:HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tree\RPA
値:SD

おそらく、各タスクの値でもあります。

1
Greg Askew

@OldGeezer @GregAskew SDへのリンクのおかげで、次のPowershellを使用してバイナリSDを読み取り可能なプロパティに変換できました。

$PathToTask = "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tree\Microsoft"
$SDBin =  ( (get-itemProperty $PathToTask).sd )

ConvertFrom-SddlString ([wmiclass]"Win32_SecurityDescriptorHelper").BinarySDToSDDL($SDBin).SDDL

上記を使用すると、現在のACLを読み取ることができ、Win32_SecurityDescriptorHelperのメソッドを使用して作業する場合は、独自のACLを作成して置換し、タスクにアクセスできるようにする必要があります。私はそれをテストしていません

0
Koliat