ワークフローは、別のActive Directory OUでユーザーにタスクを割り当てることができませんか?
-
16-10-2019 - |
質問
2010年のワークフローでタスクを作成し、ドメインユーザーの1人に割り当てようとしています。この男はサイトコレクションのユーザーではありませんが、彼が自動的にSharePointに追加されると思います。彼はまた、南アフリカのどこかにある別の会社支部にもあります。私が使用しているコードは似ています
private void CreateTask_MethodInvoking(object sender, EventArgs e)
{
TaskProps = new SPWorkflowTaskProperties();
TaskId = Guid.NewGuid();
TaskProps.AssignedTo = @"MYDOMAIN\username";
TaskProps.Title = "Sample task";
}
ワークフローを展開して実行すると、タスクは正常に作成されますが、「割り当てられた」フィールドは空白です。イベントログは、「ユーザーは存在しないか、一意ではない」ことを示しています。
さらに、手作業でタスクを作成し、「Assioned」フィールドにDomain Usernameを配置すると、問題なく作成され、ユーザーはサイトコレクションにインポートされます。その後、ワークフローは大丈夫です。ただし、200以上のドメインユーザーをサイトコレクションに手動で追加することはオプションではありません。提案?
解決
ユーザーがサイトコレクションに追加されるという仮定は真実ではありません。サイトコレクションにPormissiOSNを持っていないユーザーにタスクを割り当てることはできませんが、すべてのユーザーを手動で追加する必要はありません。
- mbsurfが提案し、ユーザーをコードに追加するようにする
- すべてのユーザーをADのグループに入れて(まだ持っていない場合)、SharePointサイトにグループを割り当てます
- タスクリストに「すべての認証されたユーザー」許可を付与して、タスクを誰にでも割り当てることができます...
他のヒント
モスでは、以下のようなことをします:
SPUser spUser = null;
try
{
// Attempt to get the user first
spUser = userCollection[user];
}
catch (Exception)
{
// The User does not exist, so we need to add them
userCollection.Add(user, string.Empty, user, string.Empty);
spUser = userCollection[user];
}
次に、フィールドに割り当てられたものにスーパーを保存します。
所属していません sharepoint.stackexchange