Der Workflow kann den Benutzer in einem anderen Active Directory OU keine Aufgabe zuweisen?
-
16-10-2019 - |
Frage
Ich versuche, eine Aufgabe in einem VS 2010 -Workflow zu erstellen und sie einem unserer Domain -Benutzer zuweisen. Dieser Typ ist kein Benutzer der Site -Sammlung, aber ich gehe davon aus, dass er automatisch zu SharePoint hinzugefügt wird. Er befindet sich auch in einer anderen Firma, irgendwo in Südafrika. Der Code, den ich benutze, ist so etwas wie
private void CreateTask_MethodInvoking(object sender, EventArgs e)
{
TaskProps = new SPWorkflowTaskProperties();
TaskId = Guid.NewGuid();
TaskProps.AssignedTo = @"MYDOMAIN\username";
TaskProps.Title = "Sample task";
}
Sobald ich den Workflow bereitstellt und ausführe, wird die Aufgabe gut erstellt, aber das Feld "Zugewiesen" ist leer. Das Ereignisprotokoll zeigt, dass "der Benutzer nicht existiert oder nicht eindeutig ist".
Wenn ich eine Aufgabe von Hand erstelle und MyDomain Benutzername in das Feld "Zugewiesen" eingehe, wird sie ohne Probleme erstellt, und der Benutzer wird in die Site -Sammlung importiert. Danach läuft der Workflow in Ordnung. Manuell ist es jedoch keine Option, jedes unserer 200+ Domain -Benutzer zur Site -Sammlung hinzuzufügen. Anregungen?
Lösung
Die Annahme, dass der Benutzer zur Site -Sammlung hinzugefügt wird, ist nicht wahr. Sie können einem Benutzer, der nicht in der Site -Sammlung keine Übersicht übersagt, eine Aufgabe nicht zuweisen. Sie müssen jedoch nicht jeden Benutzer manuell hinzufügen.
- Tun Sie, wie MBSurf vorschlägt, und fügen Sie den Benutzer in Code hinzu
- Setzen Sie alle Benutzer in eine Gruppe in die Anzeige (wenn Sie noch keine haben) und weisen Sie die Gruppe der SharePoint -Site zu
- Gewähren Sie die Aufgabenliste "Alle authentifizierten Benutzer" Berechtigungen, damit Aufgaben jedem zugewiesen werden können ...
Andere Tipps
In Moss würde ich so etwas wie unten tun:
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];
}
Dann würde ich den Streit im Feld zugewiesen.