ワークフローは、別のActive Directory OUでユーザーにタスクを割り当てることができませんか?

sharepoint.stackexchange https://sharepoint.stackexchange.com/questions/15182

  •  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];
        }

次に、フィールドに割り当てられたものにスーパーを保存します。

ライセンス: CC-BY-SA帰属
所属していません sharepoint.stackexchange
scroll top