ここでの問題は、ユーザーのリストが見つかったとしても、ユーザーがユーザー情報リストに存在しない場合、ワークフローはアクションをトリガーしないことだと思います。
ユーザーがユーザー情報リストに存在しない場合、ユーザーは SharePoint に存在しないため、SharePoint オブジェクト モデルを介してユーザーを見つけることができません。他の方法でそれらを見つける必要があります。
したがって、基本的には、SharePoint サーバーで認証がどのように構成されているかによって異なります。
FBA を使用している場合、SharePoint で認証できるユーザーは、どこかの SQL データベースに存在する必要があります。Membership.Providerは、FBA メンバーシップ プロバイダー (SqlMembershipProvider であるか他のものであるかに関係なく) へのフックを提供します。その後、次のようなメソッドを使用できます
Membership.Provider.GetUser(username)
ユーザーが存在するかどうかを確認します。また、ユーザーをループしたり、ユーザー ピッカーに表示できる既存のユーザー名をすべて検索したりすることもできます。
Windows 認証を使用している場合は、潜在的なユーザーを見つけるために AD を調べる必要があります。DirectoryEntryオブジェクトが必要になります。特定の AD グループのユーザーだけが SharePoint にアクセスできると思いますか? その場合は、DirectoryEntry オブジェクトを使用してそのグループを分離し、ユーザーをループして、ユーザー ピッカー用のデータ ソースを取得します。
上で述べたように、どちらの方法でも可能なユーザーが得られますが、ユーザーがログインしていない場合、ワークフローは機能しません。ワークフローは、ユーザー情報リストに存在するユーザーに対してのみ適切に機能します。
誰かが SharePoint に存在しないユーザーを選んだ場合、おそらくコードで作成する必要があります。これを行う安全な方法は、SPWeb.EnsureUserを使用することです。
指定されたログイン名が Web サイトの有効なユーザーに属しているかどうかを確認し、ログイン名がまだ存在しない場合は、それを Web site.site に追加します。
本当に、あなたの質問に答えるには、どこにもありません。どこから来ているのかを探す必要があります。