Я извлек электронную таблицу всех пользователей с полным доступом к нашей ферме SharePoint с помощью PowerShell.
Теперь из этого списка я пытаюсь получить список сайтов, где только администраторы SP являются эксклюзивными владельцами. Я загрузил извлеченную электронную таблицу в Access и пишу запросы для создания различных отчетов.
Все идентификаторы пользователя для одного сайта SP хранятся в ячейке в столбце с именем UserID
и разделяются точкой с запятой: User1; User2;
и т. Д.
SiteName Url UserID
-------- --------------- ----------------
Site1 https://test.com User1;User2;User3;
Site2 https://test2.com User1;User3;User5;...;User50;
У меня есть таблица со столбцом UserID.
Пример: User1, 2 и 3 - администраторы SP
Row 1 has UserID column values: "User1; User2; User3"
Row 2: "User2; User3;"
Row 3: "User1; User4; .... ;User50;"
Row 4: "User1; User2; User4;... ;User25;"
Row 5: "User3;"
Я пытаюсь создать запрос, в котором только строки, содержащие User1
, User2
или User3
, существуют в этой ячейке. Что в основном означает, что только строки 1, 2 и 5 возвращаются в результатах. Row3
и Row4
должны не возвращать результат, поскольку в его ячейках есть пользователи, отличные от User1
, 2
и 3
.
Использование LIKE
не помогает в этом, потому что он возвращает каждую строку, где находит одного из этих пользователей. Я не могу использовать NOT LIKE
, чтобы исключить оставшихся пользователей, потому что во многих строках в ячейке, имеющей полный доступ, перечислены более 30 пользователей.