tag:blogger.com,1999:blog-56303614576381467692024-03-14T00:20:33.832-07:00IT knowledge sharing - SharePoint (MOSS 2007,2010,2013,2016 and 2019 + office 365 )keep track and sharing on my sharepoint knowledge :) nice to meet you allnsphttp://www.blogger.com/profile/05129467294075533854noreply@blogger.comBlogger229125tag:blogger.com,1999:blog-5630361457638146769.post-81997024670085245062023-10-26T20:25:00.005-07:002023-10-26T20:25:30.296-07:00篇文章探讨了SharePoint中的一个问题,即用户随机失去权限或被从站点中删除的问题。<p>链接中的文章标题是"SharePoint: Users randomly lose permission – are deleted from site",这篇文章探讨了SharePoint中的一个问题,即用户随机失去权限或被从站点中删除的问题。作者解释了该问题的原因和解决方法。这篇文章提供了详细的信息,包括SQL查询和PowerShell脚本,以帮助管理员识别和解决此问题。文章还提到了如何避免出现这个问题。如果您想详细了解这个问题和解决方法,请点击链接查看完整的文章:SharePoint: Users randomly lose permission – are deleted from site。</p><p>章标题: SharePoint: Users randomly lose permission – are deleted from site</p><p>作者: Josh Roark</p><p>发布日期: 2018年12月30日</p><p>更新日期: 2022年11月16日</p><p><br /></p><p>文章内容:</p><p>这是一个复杂的问题。它似乎是随机和不定期的(实际上都不是),并且非常难以跟踪。这被称为“SID不匹配”问题。</p><p>这个问题的一个场景如下:</p><p>Intermittently, when a user browses to a resource (site, list, etc) that they are supposed to have access to, they receive “Access Denied“, or our friendlier version: “Sorry, this site hasn’t been shared with you“.</p><p>When looking at permissions, you find that the user no longer has any explicitly-given permission within the site collection.</p><p>The permission to the resource has been removed and the user must be added back. In fact, the user has been deleted from the entire site collection. The only permissions they may have left are those they get via Active Directory (AD) group membership.</p><p>You may find entries like the following in your SharePoint ULS logs at the time the user lost permission:</p><p>Failed to add [Login=i:0#.w|contoso\user1] to the database. It may already exist at [SiteId=5F39AB50-AD42-4B35-85E3-3BDF60028A7B][UserId=0]. HR=0x80070050</p><p>Found a user with the same tp_Login but different tp_SystemId. Try to delete it. Site ID: 5F39AB50-AD42-4B35-85E3-3BDF60028A7B tp_Login: i:0#.w|contoso\user1</p><p>不定期地,当用户浏览到他们应该有访问权限的资源(站点、列表等)时,他们会收到“拒绝访问”或更友好的版本:“抱歉,此站点尚未与您共享”。</p><p>在查看权限时,您会发现用户不再在站点集合中具有任何明确授予的权限。</p><p>资源的访问权限已被删除,用户必须重新添加。实际上,用户已从整个站点集合中删除。他们可能仅通过Active Directory(AD)组成员身份获得的权限仍然存在。</p><p>在用户失去权限的时间,您的SharePoint ULS日志中可能会出现以下类似的条目:</p><p>Failed to add [Login=i:0#.w|contoso\user1] to the database. It may already exist at [SiteId=5F39AB50-AD42-4B35-85E3-3BDF60028A7B][UserId=0]. HR=0x80070050</p><p>Found a user with the same tp_Login but different tp_SystemId. Try to delete it. Site ID: 5F39AB50-AD42-4B35-85E3-3BDF60028A7B tp_Login: i:0#.w|contoso\user1</p><p>原因:</p><p>在某个时候,用户通过用户配置文件同步(Profile Sync)导入,然后从Active Directory(AD)中删除,再次在Active Directory中使用相同的帐户名重新创建,并随后重新通过Profile Sync导入。当以这种方式重新在AD中创建用户时,他们具有相同的帐户名,但具有新的安全标识符(SID)值。当用户被重新导入到SharePoint时,它们的SID未在Profile数据库中的UserProfile_Full表中更新。现在,用户配置文件服务应用程序(UPA)中的SID与站点集合使用的UserInfo表中的SID不匹配。</p><p>Verify you're hitting this issue:</p><br />您可以运行以下SQL查询来识别处于此状态的用户。以下是根据不同版本的SharePoint运行的查询示例。<div>SharePoint 2016+查询:<pre style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #444654; border-radius: 0.375rem; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #d1d5db; font-family: "Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace !important; font-size: 0.875em; line-height: 1.71429; margin-bottom: 0px; margin-top: 0px; overflow-x: auto; padding: 0px;"><div class="bg-black rounded-md" style="--tw-bg-opacity: 1; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: rgba(0,0,0,var(--tw-bg-opacity)); border-radius: 0.375rem; border: 0px solid rgb(217, 217, 227); box-sizing: border-box;"><div class="flex items-center relative text-gray-200 bg-gray-800 gizmo:dark:bg-token-surface-primary px-4 py-2 text-xs font-sans justify-between rounded-t-md" style="--tw-bg-opacity: 1; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-text-opacity: 1; --tw-translate-x: 0; --tw-translate-y: 0; align-items: center; background-color: rgba(52,53,65,var(--tw-bg-opacity)); border-top-left-radius: 0.375rem; border-top-right-radius: 0.375rem; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: rgba(217,217,227,var(--tw-text-opacity)); display: flex; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 0.75rem; justify-content: space-between; line-height: 1rem; padding: 0.5rem 1rem; position: relative;"><span style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box;">sql</span><button class="flex ml-auto gizmo:ml-0 gap-2 items-center" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; align-items: center; appearance: button; background-image: none; border-color: rgb(217, 217, 227); border-style: solid; border-width: 0px; cursor: pointer; display: flex; font-family: inherit; font-size: 12px; font-weight: inherit; gap: 0.5rem; line-height: inherit; margin: 0px 0px 0px auto; padding: 0px;"><svg class="icon-sm" fill="none" height="1em" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" stroke="currentColor" viewbox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"></path><rect height="4" rx="1" ry="1" width="8" x="8" y="2"></rect></svg>Copy code</button></div><div class="p-4 overflow-y-auto" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; overflow-y: auto; padding: 1rem;"><code class="!whitespace-pre hljs language-sql" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background: none; border-radius: 0.3em; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: white; font-family: inherit; font-size: inherit; font-weight: inherit; hyphens: none; line-height: 1.5; overflow-wrap: normal; padding: 0.1em; tab-size: 4; white-space: normal; word-break: normal; word-spacing: normal;"><span class="hljs-comment" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: rgba(255, 255, 255, 0.5);">-- 识别在UserProfile_Full和UserProfileValue之间SID不匹配的配置文件:</span>
<span class="hljs-comment" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: rgba(255, 255, 255, 0.5);">-- SharePoint 2016及更高版本</span>
<span class="hljs-keyword" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #2e95d3;">select</span> upf.RecordId, upf.NTName, upf.PreferredName, upv.PropertyVal <span class="hljs-keyword" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #2e95d3;">as</span> [SIDfromUserProfileValue], pl.PropertyName, upv.PropertyID
<span class="hljs-keyword" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #2e95d3;">into</span> #temp
<span class="hljs-keyword" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #2e95d3;">from</span> upa.UserProfile_Full upf (nolock)
<span class="hljs-keyword" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #2e95d3;">join</span> upa.UserProfileValue upv (nolock)<span class="hljs-keyword" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #2e95d3;">on</span> upf.RecordID <span class="hljs-operator" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box;">=</span> upv.RecordID
<span class="hljs-keyword" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #2e95d3;">join</span> upa.PropertyList pl (nolock) <span class="hljs-keyword" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #2e95d3;">on</span> pl.PropertyID <span class="hljs-operator" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box;">=</span> upv.PropertyID
<span class="hljs-keyword" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #2e95d3;">where</span> upv.propertyid <span class="hljs-operator" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box;">=</span> <span class="hljs-number" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #df3079;">2</span>
<span class="hljs-keyword" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #2e95d3;">select</span> upf.RecordId, upf.NTName, upf.PreferredName, upf.SID <span class="hljs-keyword" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #2e95d3;">as</span> [SIDfromUserProfile_Full], #temp.SIDfromUserProfileValue
<span class="hljs-keyword" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #2e95d3;">from</span> upa.UserProfile_Full upf (nolock)
<span class="hljs-keyword" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #2e95d3;">join</span> #temp <span class="hljs-keyword" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #2e95d3;">on</span> upf.RecordID <span class="hljs-operator" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box;">=</span> #temp.recordid
<span class="hljs-keyword" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #2e95d3;">where</span> upf.SID <span class="hljs-operator" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box;">!=</span> #temp.SIDfromUserProfileValue
<span class="hljs-keyword" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #2e95d3;">drop</span> <span class="hljs-keyword" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #2e95d3;">table</span> #temp
</code></div></div></pre>SharePoint 2013查询:<pre style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #444654; border-radius: 0.375rem; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #d1d5db; font-family: "Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace !important; font-size: 0.875em; line-height: 1.71429; margin-bottom: 0px; margin-top: 0px; overflow-x: auto; padding: 0px;"><div class="bg-black rounded-md" style="--tw-bg-opacity: 1; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: rgba(0,0,0,var(--tw-bg-opacity)); border-radius: 0.375rem; border: 0px solid rgb(217, 217, 227); box-sizing: border-box;"><div class="flex items-center relative text-gray-200 bg-gray-800 gizmo:dark:bg-token-surface-primary px-4 py-2 text-xs font-sans justify-between rounded-t-md" style="--tw-bg-opacity: 1; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-text-opacity: 1; --tw-translate-x: 0; --tw-translate-y: 0; align-items: center; background-color: rgba(52,53,65,var(--tw-bg-opacity)); border-top-left-radius: 0.375rem; border-top-right-radius: 0.375rem; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: rgba(217,217,227,var(--tw-text-opacity)); display: flex; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 0.75rem; justify-content: space-between; line-height: 1rem; padding: 0.5rem 1rem; position: relative;"><span style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box;">sql</span><button class="flex ml-auto gizmo:ml-0 gap-2 items-center" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; align-items: center; appearance: button; background-image: none; border-color: rgb(217, 217, 227); border-style: solid; border-width: 0px; cursor: pointer; display: flex; font-family: inherit; font-size: 12px; font-weight: inherit; gap: 0.5rem; line-height: inherit; margin: 0px 0px 0px auto; padding: 0px;"><svg class="icon-sm" fill="none" height="1em" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" stroke="currentColor" viewbox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"></path><rect height="4" rx="1" ry="1" width="8" x="8" y="2"></rect></svg>Copy code</button></div><div class="p-4 overflow-y-auto" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; overflow-y: auto; padding: 1rem;"><code class="!whitespace-pre hljs language-sql" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background: none; border-radius: 0.3em; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: white; font-family: inherit; font-size: inherit; font-weight: inherit; hyphens: none; line-height: 1.5; overflow-wrap: normal; padding: 0.1em; tab-size: 4; white-space: normal; word-break: normal; word-spacing: normal;"><span class="hljs-comment" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: rgba(255, 255, 255, 0.5);">-- 识别在UserProfile_Full和UserProfileValue之间SID不匹配的配置文件:</span>
<span class="hljs-comment" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: rgba(255, 255, 255, 0.5);">-- SharePoint 2013版本</span>
<span class="hljs-keyword" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #2e95d3;">select</span> upf.RecordId, upf.NTName, upf.PreferredName, upv.PropertyVal <span class="hljs-keyword" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #2e95d3;">as</span> [SIDfromUserProfileValue], pl.PropertyName, upv.PropertyID
<span class="hljs-keyword" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #2e95d3;">into</span> #temp
<span class="hljs-keyword" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #2e95d3;">from</span> UserProfile_Full upf (nolock)
<span class="hljs-keyword" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #2e95d3;">join</span> UserProfileValue upv (nolock)<span class="hljs-keyword" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #2e95d3;">on</span> upf.RecordID <span class="hljs-operator" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box;">=</span> upv.RecordID
<span class="hljs-keyword" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #2e95d3;">join</span> PropertyList pl (nolock) <span class="hljs-keyword" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #2e95d3;">on</span> pl.PropertyID <span class="hljs-operator" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box;">=</span> upv.PropertyID
<span class="hljs-keyword" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #2e95d3;">where</span> upv.propertyid <span class="hljs-operator" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box;">=</span> <span class="hljs-number" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #df3079;">2</span>
<span class="hljs-keyword" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #2e95d3;">select</span> upf.RecordId, upf.NTName, upf.PreferredName, upf.SID <span class="hljs-keyword" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #2e95d3;">as</span> [SIDfromUserProfile_Full], #temp.SIDfromUserProfileValue
<span class="hljs-keyword" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #2e95d3;">from</span> UserProfile_Full upf (nolock)
<span class="hljs-keyword" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #2e95d3;">join</span> #temp <span class="hljs-keyword" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #2e95d3;">on</span> upf.RecordID <span class="hljs-operator" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box;">=</span> #temp.recordid
<span class="hljs-keyword" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #2e95d3;">where</span> upf.SID <span class="hljs-operator" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box;">!=</span> #temp.SIDfromUserProfileValue
<span class="hljs-keyword" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #2e95d3;">drop</span> <span class="hljs-keyword" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #2e95d3;">table</span> #temp
</code></div></div></pre>这些查询将帮助您识别在UserProfile_Full和UserProfileValue之间SID不匹配的用户。</div><div><div>您在查询结果中列出的用户将与遇到此随机权限丧失问题的用户匹配,其中可能包括一些您不了解的用户。</div><div><br /></div><div>注意: 结果中列出的SIDs已经进行了编码。您需要使用一些PowerShell来将它们解码为熟悉的"S-1-..."格式,但这对我们的目的来说并不必要。主要目的是识别它们是不同的。</div><div><br /></div><div>另一个线索是这些问题用户将在内容数据库的UserInfo表中具有多个记录,每个记录的tp_systemID(即其编码的SID)都不同。其中一个将被标记为已删除 (tp_deleted > 0)。</div></div><div><br /></div><div>通过运行以下SQL查询,您可以验证这一点:<pre style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #444654; border-radius: 0.375rem; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #d1d5db; font-family: "Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace !important; font-size: 0.875em; line-height: 1.71429; margin-bottom: 0px; margin-top: 0px; overflow-x: auto; padding: 0px;"><div class="bg-black rounded-md" style="--tw-bg-opacity: 1; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: rgba(0,0,0,var(--tw-bg-opacity)); border-radius: 0.375rem; border: 0px solid rgb(217, 217, 227); box-sizing: border-box;"><div class="flex items-center relative text-gray-200 bg-gray-800 gizmo:dark:bg-token-surface-primary px-4 py-2 text-xs font-sans justify-between rounded-t-md" style="--tw-bg-opacity: 1; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-text-opacity: 1; --tw-translate-x: 0; --tw-translate-y: 0; align-items: center; background-color: rgba(52,53,65,var(--tw-bg-opacity)); border-top-left-radius: 0.375rem; border-top-right-radius: 0.375rem; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: rgba(217,217,227,var(--tw-text-opacity)); display: flex; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 0.75rem; justify-content: space-between; line-height: 1rem; padding: 0.5rem 1rem; position: relative;"><span style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box;">sql</span><button class="flex ml-auto gizmo:ml-0 gap-2 items-center" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; align-items: center; appearance: button; background-image: none; border-color: rgb(217, 217, 227); border-style: solid; border-width: 0px; cursor: pointer; display: flex; font-family: inherit; font-size: 12px; font-weight: inherit; gap: 0.5rem; line-height: inherit; margin: 0px 0px 0px auto; padding: 0px;"><svg class="icon-sm" fill="none" height="1em" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" stroke="currentColor" viewbox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"></path><rect height="4" rx="1" ry="1" width="8" x="8" y="2"></rect></svg>Copy code</button></div><div class="p-4 overflow-y-auto" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; overflow-y: auto; padding: 1rem;"><code class="!whitespace-pre hljs language-sql" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background: none; border-radius: 0.3em; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: white; font-family: inherit; font-size: inherit; font-weight: inherit; hyphens: none; line-height: 1.5; overflow-wrap: normal; padding: 0.1em; tab-size: 4; white-space: normal; word-break: normal; word-spacing: normal;"><span class="hljs-keyword" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #2e95d3;">select</span> <span class="hljs-operator" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box;">*</span> <span class="hljs-keyword" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #2e95d3;">from</span> userinfo (nolock)
<span class="hljs-keyword" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #2e95d3;">where</span> tp_login <span class="hljs-keyword" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #2e95d3;">like</span> <span class="hljs-string" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #00a67d;">'%YourUsersNameHere%'</span>
<span class="hljs-keyword" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #2e95d3;">and</span> tp_siteid <span class="hljs-operator" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box;">=</span> <span class="hljs-string" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #00a67d;">'YourSiteCollectionIDHere'</span>
</code></div></div></pre>例如:<pre style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #444654; border-radius: 0.375rem; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #d1d5db; font-family: "Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace !important; font-size: 0.875em; line-height: 1.71429; margin-bottom: 0px; margin-top: 0px; overflow-x: auto; padding: 0px;"><div class="bg-black rounded-md" style="--tw-bg-opacity: 1; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: rgba(0,0,0,var(--tw-bg-opacity)); border-radius: 0.375rem; border: 0px solid rgb(217, 217, 227); box-sizing: border-box;"><div class="flex items-center relative text-gray-200 bg-gray-800 gizmo:dark:bg-token-surface-primary px-4 py-2 text-xs font-sans justify-between rounded-t-md" style="--tw-bg-opacity: 1; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-text-opacity: 1; --tw-translate-x: 0; --tw-translate-y: 0; align-items: center; background-color: rgba(52,53,65,var(--tw-bg-opacity)); border-top-left-radius: 0.375rem; border-top-right-radius: 0.375rem; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: rgba(217,217,227,var(--tw-text-opacity)); display: flex; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 0.75rem; justify-content: space-between; line-height: 1rem; padding: 0.5rem 1rem; position: relative;"><span style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box;">sql</span><button class="flex ml-auto gizmo:ml-0 gap-2 items-center" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; align-items: center; appearance: button; background-image: none; border-color: rgb(217, 217, 227); border-style: solid; border-width: 0px; cursor: pointer; display: flex; font-family: inherit; font-size: 12px; font-weight: inherit; gap: 0.5rem; line-height: inherit; margin: 0px 0px 0px auto; padding: 0px;"><svg class="icon-sm" fill="none" height="1em" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" stroke="currentColor" viewbox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"></path><rect height="4" rx="1" ry="1" width="8" x="8" y="2"></rect></svg>Copy code</button></div><div class="p-4 overflow-y-auto" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; overflow-y: auto; padding: 1rem;"><code class="!whitespace-pre hljs language-sql" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background: none; border-radius: 0.3em; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: white; font-family: inherit; font-size: inherit; font-weight: inherit; hyphens: none; line-height: 1.5; overflow-wrap: normal; padding: 0.1em; tab-size: 4; white-space: normal; word-break: normal; word-spacing: normal;"><span class="hljs-keyword" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #2e95d3;">select</span> <span class="hljs-operator" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box;">*</span> <span class="hljs-keyword" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #2e95d3;">from</span> userinfo (nolock)
<span class="hljs-keyword" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #2e95d3;">where</span> tp_login <span class="hljs-keyword" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #2e95d3;">like</span> <span class="hljs-string" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #00a67d;">'%josh%'</span>
<span class="hljs-keyword" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #2e95d3;">and</span> tp_siteid <span class="hljs-operator" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box;">=</span> <span class="hljs-string" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #00a67d;">'020E1B20-92B7-4CBC-B072-EA9369204350'</span>
</code></div></div></pre>如果您不确定站点集合ID,可以运行以下PowerShell命令来获取它:<pre style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #444654; border-radius: 0.375rem; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #d1d5db; font-family: "Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace !important; font-size: 0.875em; line-height: 1.71429; margin-bottom: 0px; margin-top: 0px; overflow-x: auto; padding: 0px;"><div class="bg-black rounded-md" style="--tw-bg-opacity: 1; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: rgba(0,0,0,var(--tw-bg-opacity)); border-radius: 0.375rem; border: 0px solid rgb(217, 217, 227); box-sizing: border-box;"><div class="flex items-center relative text-gray-200 bg-gray-800 gizmo:dark:bg-token-surface-primary px-4 py-2 text-xs font-sans justify-between rounded-t-md" style="--tw-bg-opacity: 1; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-text-opacity: 1; --tw-translate-x: 0; --tw-translate-y: 0; align-items: center; background-color: rgba(52,53,65,var(--tw-bg-opacity)); border-top-left-radius: 0.375rem; border-top-right-radius: 0.375rem; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: rgba(217,217,227,var(--tw-text-opacity)); display: flex; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 0.75rem; justify-content: space-between; line-height: 1rem; padding: 0.5rem 1rem; position: relative;"><span style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box;">powershell</span><button class="flex ml-auto gizmo:ml-0 gap-2 items-center" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; align-items: center; appearance: button; background-image: none; border-color: rgb(217, 217, 227); border-style: solid; border-width: 0px; cursor: pointer; display: flex; font-family: inherit; font-size: 12px; font-weight: inherit; gap: 0.5rem; line-height: inherit; margin: 0px 0px 0px auto; padding: 0px;"><svg class="icon-sm" fill="none" height="1em" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" stroke="currentColor" viewbox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"></path><rect height="4" rx="1" ry="1" width="8" x="8" y="2"></rect></svg>Copy code</button></div><div class="p-4 overflow-y-auto" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; overflow-y: auto; padding: 1rem;"><code class="!whitespace-pre hljs language-powershell" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background: none; border-radius: 0.3em; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: white; font-family: inherit; font-size: inherit; font-weight: inherit; hyphens: none; line-height: 1.5; overflow-wrap: normal; padding: 0.1em; tab-size: 4; white-space: normal; word-break: normal; word-spacing: normal;">(get-spsite http://YourSiteURLHere.contoso.com).id
</code></div></div></pre>请注意:同一内容数据库中可以存储多个站点集合,因此在查询中包括站点集合ID非常重要。</div><div><br /></div><div><br /><b>如何修复这个问题?</b><br /><br />我们需要更新Profile数据库中Profile_Full表中的SID。直接使用SQL更新是不受支持的方法。在受支持的方式中,解决此问题的一种方法是删除所有出现问题的用户配置文件,然后重新导入它们。然而,这些用户将失去所有手动输入的配置文件数据,如“关于我”、“向我提问”、“技能”、“兴趣”等。在大多数情况下,这不是一个好的解决方案。<br /><br />相反,您可以运行Move-SPUser PowerShell命令,以将Profile_Full表中的SID更新为用户的“好/当前”SID。由于我们将传递相同的帐户名作为“旧”和“新”帐户,SID的值将是用户的唯一净变更。以下是运行此操作以修复单个用户的示例:<pre style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #444654; border-radius: 0.375rem; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #d1d5db; font-family: "Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace !important; font-size: 0.875em; line-height: 1.71429; margin-bottom: 0px; margin-top: 0px; overflow-x: auto; padding: 0px;"><div class="bg-black rounded-md" style="--tw-bg-opacity: 1; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: rgba(0,0,0,var(--tw-bg-opacity)); border-radius: 0.375rem; border: 0px solid rgb(217, 217, 227); box-sizing: border-box;"><div class="flex items-center relative text-gray-200 bg-gray-800 gizmo:dark:bg-token-surface-primary px-4 py-2 text-xs font-sans justify-between rounded-t-md" style="--tw-bg-opacity: 1; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-text-opacity: 1; --tw-translate-x: 0; --tw-translate-y: 0; align-items: center; background-color: rgba(52,53,65,var(--tw-bg-opacity)); border-top-left-radius: 0.375rem; border-top-right-radius: 0.375rem; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: rgba(217,217,227,var(--tw-text-opacity)); display: flex; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 0.75rem; justify-content: space-between; line-height: 1rem; padding: 0.5rem 1rem; position: relative;"><span style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box;">powershell</span><button class="flex ml-auto gizmo:ml-0 gap-2 items-center" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; align-items: center; appearance: button; background-image: none; border-color: rgb(217, 217, 227); border-style: solid; border-width: 0px; cursor: pointer; display: flex; font-family: inherit; font-size: 12px; font-weight: inherit; gap: 0.5rem; line-height: inherit; margin: 0px 0px 0px auto; padding: 0px;"><svg class="icon-sm" fill="none" height="1em" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" stroke="currentColor" viewbox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"></path><rect height="4" rx="1" ry="1" width="8" x="8" y="2"></rect></svg>Copy code</button></div><div class="p-4 overflow-y-auto" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; overflow-y: auto; padding: 1rem;"><code class="!whitespace-pre hljs language-powershell" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background: none; border-radius: 0.3em; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: white; font-family: inherit; font-size: inherit; font-weight: inherit; hyphens: none; line-height: 1.5; overflow-wrap: normal; padding: 0.1em; tab-size: 4; white-space: normal; word-break: normal; word-spacing: normal;">$url = "http://www.contoso.com/"
$claimsAcc = "i:0#.w|contoso\user1"
$user = Get-SPUser -Identity $claimsAcc -Web $url
Move-SPUser -Identity $user -NewAlias $claimsAcc -IgnoreSID
</code></div></div></pre><br />要运行Move-SPUser,您需要以具有User Profile Service Application上的Full Control权限的农场管理员身份登录。如果未这样做,可能会导致Null引用异常:Object reference not set to an instance of an object。<br /><br />如果有大量处于此状态的用户,您将希望在循环遍历每个用户的脚本中运行此操作。下面是一个示例脚本,它从CSV文件中读取受影响的用户名。<br /><br />完成这些步骤后,您可以再次运行针对Profile数据库的“识别在UserProfile_Full和UserProfileValue之间SID不匹配的配置文件”SQL查询。如果所有用户都得到了修复,它将不再返回任何结果。<br /><br />重要提示:<br /><br />如果您有一个发布/消耗场景,其中有其他农场使用User Profile Service Application,您必须在托管UPA的农场中的服务器上运行Move-SPUser脚本。如果这是一个专用的“服务”农场,您可以临时创建一个Web应用程序和站点集合,以便运行该脚本,或者您可以使用Move-SPUser的较少已知的等效方法:$farm.MigrateUserAccount。示例:<pre style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #444654; border-radius: 0.375rem; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: #d1d5db; font-family: "Söhne Mono", Monaco, "Andale Mono", "Ubuntu Mono", monospace !important; font-size: 0.875em; line-height: 1.71429; margin-bottom: 0px; margin-top: 0px; overflow-x: auto; padding: 0px;"><div class="bg-black rounded-md" style="--tw-bg-opacity: 1; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: rgba(0,0,0,var(--tw-bg-opacity)); border-radius: 0.375rem; border: 0px solid rgb(217, 217, 227); box-sizing: border-box;"><div class="flex items-center relative text-gray-200 bg-gray-800 gizmo:dark:bg-token-surface-primary px-4 py-2 text-xs font-sans justify-between rounded-t-md" style="--tw-bg-opacity: 1; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-text-opacity: 1; --tw-translate-x: 0; --tw-translate-y: 0; align-items: center; background-color: rgba(52,53,65,var(--tw-bg-opacity)); border-top-left-radius: 0.375rem; border-top-right-radius: 0.375rem; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: rgba(217,217,227,var(--tw-text-opacity)); display: flex; font-family: Söhne, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 0.75rem; justify-content: space-between; line-height: 1rem; padding: 0.5rem 1rem; position: relative;"><span style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box;">powershell</span><button class="flex ml-auto gizmo:ml-0 gap-2 items-center" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; align-items: center; appearance: button; background-image: none; border-color: rgb(217, 217, 227); border-style: solid; border-width: 0px; cursor: pointer; display: flex; font-family: inherit; font-size: 12px; font-weight: inherit; gap: 0.5rem; line-height: inherit; margin: 0px 0px 0px auto; padding: 0px;"><svg class="icon-sm" fill="none" height="1em" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" stroke="currentColor" viewbox="0 0 24 24" width="1em" xmlns="http://www.w3.org/2000/svg"><path d="M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"></path><rect height="4" rx="1" ry="1" width="8" x="8" y="2"></rect></svg>Copy code</button></div><div class="p-4 overflow-y-auto" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; overflow-y: auto; padding: 1rem;"><code class="!whitespace-pre hljs language-powershell" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(69,89,164,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 transparent; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 transparent; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 transparent; --tw-shadow: 0 0 transparent; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background: none; border-radius: 0.3em; border: 0px solid rgb(217, 217, 227); box-sizing: border-box; color: white; font-family: inherit; font-size: inherit; font-weight: inherit; hyphens: none; line-height: 1.5; overflow-wrap: normal; padding: 0.1em; tab-size: 4; white-space: normal; word-break: normal; word-spacing: normal;">$farm = Get-SPFarm
$farm.MigrateUserAccount("contoso\user1", "contoso\user1", $false)</code></div></div></pre></div><div><br /></div><div><div>**关于这个问题的原因的详细信息,如果您感兴趣的话:**</div><div><br /></div><div>这种SID不匹配的情况引发了一个连锁反应,我会尝试解释一下:</div><div><br /></div><div>1. 使用Profile Sync / Import导入用户。</div><div>2. 在Profile数据库的UserProfile_Full表和UserProfileValue表中创建具有正确SID的记录。在此时,两个表中的SID匹配。一切都很好。</div><div>3. 在Active Directory中禁用用户,然后运行完全导入。</div><div>4. 假设您选择在导入连接中过滤掉已禁用的用户,他们将成为非导入的配置文件。</div><div>5. 删除Active Directory中的用户帐户。</div><div>6. 在AD中重新创建用户,使用相同的帐户名(例如:contoso\user1)。</div><div>7. 他们将具有相同的帐户名,但具有新的SID。</div><div>8. 再次运行Profile Sync / Import。</div><div>9. 现有的配置文件记录将在UserProfileValue表中使用新(好的)SID进行更新,但存储在UserProfile_Full中的SID不会更新。它将保留旧(不好的)SID。</div><div>10. 现在我们有SID不匹配的情况。</div><div>11. 将用户授予对站点、列表、文档等的权限。</div><div>12. 它将以新(好的)SID添加到站点权限中。</div><div>13. 用户在Office Web Apps中打开文件。</div><div>14. Office Web Apps身份验证过程的一部分(OAuth)是调用User Profile Service Application(UPA)以获取有关用户的信息,以增强其声明集并使用它来打开文件。</div><div>15. UPA在OAuth令牌中返回旧(不好的)SID。</div><div>16. OAuth令牌呈现给SharePoint站点,以尝试打开文档。</div><div>17. 授权过程在站点权限中按帐户名查找用户。</div><div>18. 由于用户具有相同的帐户名但不同的SID,现有的用户记录将从站点集合中删除,从而删除所有用户权限。</div><div>19. 您会看到,SharePoint中SID被视为用户的唯一标识符。帐户名是无关紧要的,如果具有不同的SID,SharePoint会将您视为不同的用户。</div><div>20. 由于我们不能在任何给定时间内具有相同帐户名的多个用户,原始用户记录被标记为已删除,所有用户权限都被删除。</div><div>21. 这就是用户遇到“拒绝访问”和/或失去所有手动授予的权限,必须重新添加到站点权限的原因。</div><div><br /></div><div>用户被重新添加到站点权限,使用其正确(好的)SID。这将有效地将其'坏'记录在UserInfo表中标记为已删除,并重新激活其'好'记录。</div><div><br /></div><div>用户在再次经过OAuth流程之前是正常的。</div><div><br /></div><div>重要提示:上述示例场景涉及Office Web Apps(OWA),但任何使用OAuth的功能或调用UPA进行声明增强的功能都可能发生类似的情况。这包括(但不限于):Office Web Apps、2013平台工作流、站点邮箱、SharePoint托管应用、提供程序托管应用以及一些自定义声明提供程序。</div><div><br /></div><div><div><br /></div><div>**示例修复脚本:**</div><div><br /></div><div>以下是一个示例PowerShell脚本,其中存储在CSV文件中的问题用户帐户名。</div><div><br /></div><div>**注意:** CSV文件应该有一个名为“NTName”的标头,并且每行上有一个帐户名。可以使用上面“验证您是否遇到了这个问题”的SQL查询的输出来创建这个文件。</div><div><br /></div><div>输入文件应如下所示:</div><div><br /></div><div>```</div><div>NTName</div><div>CONTOSO\VP1</div><div>CONTOSO\jack</div><div>CONTOSO\VP2</div><div>CONTOSO\usera</div><div>CONTOSO\userx</div><div>CONTOSO\VP3</div><div>```</div><div><br /></div><div>```powershell</div><div>############################## -- 脚本 -- ##############################</div><div># 作者: Joroar</div><div># 日期: 2018年9月18日</div><div># 该脚本按原样提供,不附带任何明示或暗示的担保。请备份并谨慎使用。</div><div># 请自行承担风险!</div><div># 简介:使用此脚本来运行 $farm.MigrateUserAccount 对存储在CSV中的帐户名列表执行操作。</div><div># $farm.MigrateUserAccount 是农场范围的操作,因此每个用户只需要运行一次。</div><div># 请设置前两个变量:$path、$logfile</div><div># 您必须以具有User Profile Service Application上的Full Control权限的用户身份运行此操作。</div><div>$path = "c:\problemUserProfiles.csv" # 存储有要迁移的用户帐户名的输入文件</div><div>$logfile = "c:\MigrateUserAccount-Log.txt" # 输出日志文件</div><div>Add-PSSnapin microsoft.sharepoint.powershell -ea SilentlyContinue</div><div>$date = Get-Date -Format U</div><div>"Started MigrateUserAccount at " + $date + " (UTC time)" | out-file $logfile -append</div><div>"===============================================" | out-file $logfile -append</div><div>$ErrorActionPreference = "stop"</div><div>$csv = Import-Csv -Path $path</div><div>[array]$NeedtoFix = @()</div><div>$farm = Get-SPFarm</div><div>foreach($line in $csv)</div><div>{$NeedtoFix += $line}</div><div>$fixTotal = $NeedtoFix.Count</div><div>for($j=0; $j -lt $fixTotal; $j++)</div><div>{</div><div>$acc = ""</div><div>$acc = $NeedtoFix[$j].ntname</div><div>"Fixing user: " + ($j+1) + " out of " + $fixTotal + " --> " + $acc | out-file $logfile -Append</div><div>try{</div><div>$farm.MigrateUserAccount($acc, $acc, $false) </div><div>write-host "Fixed user: " ($j+1) " out of " $fixTotal " --> " $acc</div><div>}</div><div>catch [system.Exception]</div><div>{"ERROR!!! for user: " + $acc + " -- " + $_.Exception.Message | out-file $logfile -append}</div><div>}</div><div>############################## -- 脚本 -- ##############################</div><div><br /></div><div><div>**避免出现这个问题:**</div><div><br /></div><div>如果Active Directory管理员不删除并重新创建具有相同帐户名的帐户,那将很好,但可以通过简单地保持用户配置文件清理来避免这种情况。通常,管理员会首先在Active Directory中禁用帐户一段时间,然后再删除它。如果您将已禁用的用户从配置文件导入中筛选出,并定期执行配置文件清理步骤,那么这些无效的用户配置文件将从配置文件数据库中删除。然后,当在AD中重新创建帐户时,它将获得UPA中的全新记录,一切都会很好。</div><div><br /></div><div>更多关键词:</div><div><br /></div><div>这些症状可以通过几种不同的方式来解释,我将在这里列出以增加本文的“可发现性”。</div><div><br /></div><div>- SID不匹配</div><div>- 不匹配的SID</div><div>- 用户失去访问权限</div><div>- 失去权限</div><div>- 拒绝访问</div><div>- 移除权限</div><div>- 访问被拒绝</div><div>- 访问被拒绝</div><div>- 权限被删除</div><div>- 用户被删除</div><div><br /></div><div>以上内容已经全部翻译完毕。如果您有任何其他问题或需要进一步的翻译,请随时告诉我。</div></div><div><br /></div><div><br /></div></div></div>nsphttp://www.blogger.com/profile/05129467294075533854noreply@blogger.com0tag:blogger.com,1999:blog-5630361457638146769.post-24681716543299967462021-06-08T03:22:00.002-07:002021-06-08T03:22:34.048-07:00SharePoint User profile backend logic<p> Recently encounter one very interesting domain authentication failed login scenario , which is current SharePoint server hosted at Domain A then have one way Trust with Domain B.</p><p>All the SharePoint service account is under Domain A and the problem is Domain A SharePoint service account keep on go to Domain B triggering the authentication failed .</p><p>Check on the ULS log , we have encounter that below informaiton provided during authentication failed at Doman B :</p><p></p><ul style="text-align: left;"><li>SPRequest.GetNTFullNamefromLoginEx: UserPrincipalName=, AppPrincipalName= ,bstrLogin=Domain B\UserABC</li><li> System.Runtime.InteropServices.COMException: Cannot complete this action. Please try again.<nativehr>0x80004005</nativehr><nativestack></nativestack>, StackTrace: at Microsoft.SharePoint.Utilities.SPUtility.GetFullNameFromLoginEx(String loginName, Boolean& bIsDL) at Microsoft.SharePoint.SPSecurity.ResolveUser(String userName, String& displayName, Byte[]& sidBytes) at Microsoft.SharePoint.Administration.SPAcl`1.CreateAce(String principalName, T grantRightsMask, T denyRightsMask) at Microsoft.Office.Server.Administration.UserProfileApplication.get_SerializedAdministratorAcl() at Microsoft.Office.Server.Administration.UserProfileApplication.GetProperties(Boolean skipPartitionIds) at Microsoft.Office.Server.Administration.PartitionPropertiesCache.GetApplicationProperties(UserProfileApplicationProxy proxy) at Microsoft.Office.Server.Administration.PartitionPropertiesCache.RefreshCacheProperties(Object dummy) at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem() at System.Threading.ThreadPoolWorkQueue.Dispatch() </li><li> Cannot complete this action. Please try again.<nativehr>0x80004005</nativehr><nativestack></nativestack> </li></ul><div>From this log we have encounter that user profile have following backend logic :</div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLLBg0qRZOYf5G4bhil9_Y0rotQjiI-bQbrhi4QD9HH56UnHoKXTWABFs0c3cUSWXCqAuh0RwVsZGt5B3E3_2h-Vl60Qxdb5QvO69teoQde4GnhN3WZUjNaaBmplE92HFj8qvqhoeQM1ex/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="817" data-original-width="979" height="533" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLLBg0qRZOYf5G4bhil9_Y0rotQjiI-bQbrhi4QD9HH56UnHoKXTWABFs0c3cUSWXCqAuh0RwVsZGt5B3E3_2h-Vl60Qxdb5QvO69teoQde4GnhN3WZUjNaaBmplE92HFj8qvqhoeQM1ex/w640-h533/image.png" width="640" /></a></div><br /><br /></div><div>resolution :</div><div>remove domain B user from user profile admin group.</div><div><br /></div><p></p>nsphttp://www.blogger.com/profile/05129467294075533854noreply@blogger.com0tag:blogger.com,1999:blog-5630361457638146769.post-86558420665352665712021-05-20T19:34:00.002-07:002021-05-20T19:34:10.891-07:00 agentcommonSPRoleChecker.exe<p> agentcommonSPRoleChecker是用于检测Agent所在的SharePoint信息的, 例如是否有sharepoint以及版本等,然后会把这个信息同步会DA Control Service.</p><p>Noticed that SharePoint server have one service <b> agentcommonSPRoleChecker.exe </b>running at backend , after checking with the expert to understand that this service is use by the docave agent to get the sharepoint information and sync to DocAve Control Service.</p>nsphttp://www.blogger.com/profile/05129467294075533854noreply@blogger.com0tag:blogger.com,1999:blog-5630361457638146769.post-34453764499031294622021-04-23T02:34:00.002-07:002021-04-23T02:34:09.101-07:00how to use Notepad++ to MASk the IC number at Log file<p>Under Search mode select : Regular expression</p><p>under replace tab : S+[0-9]+[0-9]+[0-9]+[0-9]+[0-9]+[0-9]+[0-9]+[A-Z]</p><p>above search is for singapore ic format which is : S1234567A</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEioXcBxyXKxFsSu5ncxboXKgwHJDBlOhhs0rDA6Z6UnO4uT9hOmKJmpNJ6DbBXfnyECxuzxjCBWoTMra8oy743E1W_XTm6T-iieB-xhavHWLJnJZmcdY8EQ5mkBz37JKLskk1mg7GWq0d4j/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="401" data-original-width="687" height="234" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEioXcBxyXKxFsSu5ncxboXKgwHJDBlOhhs0rDA6Z6UnO4uT9hOmKJmpNJ6DbBXfnyECxuzxjCBWoTMra8oy743E1W_XTm6T-iieB-xhavHWLJnJZmcdY8EQ5mkBz37JKLskk1mg7GWq0d4j/w400-h234/image.png" width="400" /></a></div><br /><p></p>nsphttp://www.blogger.com/profile/05129467294075533854noreply@blogger.com0tag:blogger.com,1999:blog-5630361457638146769.post-60927075301045403602021-02-03T02:14:00.002-08:002021-02-03T02:14:31.623-08:00How to track the progress of SharePoint CU installation ? <p> windows > Run > <span style="background-color: #fafafa; color: #171717; font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; font-size: 14px; white-space: pre;">%temp%</span></p><p>inside this temp folder will see the windows installer log file which is referring to the SharePoint CU patching .</p><p>can use it to compare with other SharePoint server already completed install , then you will know how soon the installation will complete</p>nsphttp://www.blogger.com/profile/05129467294075533854noreply@blogger.com0tag:blogger.com,1999:blog-5630361457638146769.post-29780817402429608292020-05-14T22:32:00.000-07:002020-05-30T19:03:27.438-07:00Change DocAve Agent service Account PasswordAfter change the service account at AD , we need to change on DocAve manger platform only can continue to use it.<br />
<br />
<u>Change at DocAve Manager Server</u><br />
<br />
1.<span style="white-space: pre;"> </span>Log in to the server hosting DocAve Manager<br />
<br />
2.<span style="white-space: pre;"> </span>Open the Manager Configuration Tool<br />
<br />
3.<span style="white-space: pre;"> </span>Key in the new password at section:<br />
<br />
<ul>
<li>Control Service Configuration</li>
<li>Control Database Settings</li>
<li>Report Database Settings</li>
<li>Auditor Database Settings</li>
</ul>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1UWYulEvZhF9ENU0JsRTs3a7E-BHwiafc-Hk-dmTkn-ix4qgJvPa3-fjdAKUIDZOFdXANRl3kvCtSMDcoirAe2dIWMoUgLKg10x-_chgavt1m_LQ3axeLnPi6HXTjT6iT2kexRrfRpXGw/s1600/Untitled+picture.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="635" data-original-width="784" height="516" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1UWYulEvZhF9ENU0JsRTs3a7E-BHwiafc-Hk-dmTkn-ix4qgJvPa3-fjdAKUIDZOFdXANRl3kvCtSMDcoirAe2dIWMoUgLKg10x-_chgavt1m_LQ3axeLnPi6HXTjT6iT2kexRrfRpXGw/s640/Untitled+picture.png" width="640" /></a></div>
<div>
<br /></div>
<br />
4.<span style="white-space: pre;"> </span>Click Apply to save the settings<br />
<div>
<br /></div>
<div>
if the DocAve windows services is running on the Service account , we also need to reenter the password and restart the service for docave 6 Media service , Report Service , Timer Service.<br />
<br />
<div class="MsoNormal">
<u>Re-type the new password at DocAve Manager Manage Account
Profile</u></div>
<div class="MsoNormal">
<span style="text-indent: -0.25in;">1.</span><span style="font-size: 7pt; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; text-indent: -0.25in;">
</span><span style="text-indent: -0.25in;">Login to the DocAve Manger, control panel > </span><b style="text-indent: -0.25in;">Managed
Account Profile</b><span style="text-indent: -0.25in;"> and </span><b style="text-indent: -0.25in;">check </b><span style="text-indent: -0.25in;">on the service account</span></div>
<div class="MsoListParagraphCxSpMiddle">
<!--[if gte vml 1]><v:shapetype
id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t"
path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f">
<v:stroke joinstyle="miter"/>
<v:formulas>
<v:f eqn="if lineDrawn pixelLineWidth 0"/>
<v:f eqn="sum @0 1 0"/>
<v:f eqn="sum 0 0 @1"/>
<v:f eqn="prod @2 1 2"/>
<v:f eqn="prod @3 21600 pixelWidth"/>
<v:f eqn="prod @3 21600 pixelHeight"/>
<v:f eqn="sum @0 0 1"/>
<v:f eqn="prod @6 1 2"/>
<v:f eqn="prod @7 21600 pixelWidth"/>
<v:f eqn="sum @8 21600 0"/>
<v:f eqn="prod @7 21600 pixelHeight"/>
<v:f eqn="sum @10 21600 0"/>
</v:formulas>
<v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"/>
<o:lock v:ext="edit" aspectratio="t"/>
</v:shapetype><v:shape id="Picture_x0020_4" o:spid="_x0000_i1026" type="#_x0000_t75"
style='width:409.2pt;height:181.2pt;visibility:visible;mso-wrap-style:square'
o:bordertopcolor="yellow pure" o:borderleftcolor="yellow pure"
o:borderbottomcolor="yellow pure" o:borderrightcolor="yellow pure">
<v:imagedata src="file:///C:/Users/sinpeow.ng/AppData/Local/Temp/msohtmlclip1/01/clip_image001.png"
o:title=""/>
<w:bordertop type="single" width="6"/>
<w:borderleft type="single" width="6"/>
<w:borderbottom type="single" width="6"/>
<w:borderright type="single" width="6"/>
</v:shape><![endif]--><!--[if !vml]--><!--[endif]--><u><o:p></o:p></u></div>
<div class="MsoListParagraphCxSpMiddle">
<span style="text-indent: -0.25in;">2.</span><span style="font-size: 7pt; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; text-indent: -0.25in;">
</span><span style="text-indent: -0.25in;">After selected the account click on </span><b style="text-indent: -0.25in;">Edit</b><span style="text-indent: -0.25in;">
and retype the new password and click </span><b style="text-indent: -0.25in;">Save</b></div>
<div class="MsoListParagraphCxSpMiddle">
<span style="text-indent: -0.25in;">3.</span><span style="font-size: 7pt; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal; text-indent: -0.25in;">
</span><span style="text-indent: -0.25in;">Password change is complete and just close the control
panel.</span></div>
</div>
<div>
<br /></div>
<div>
<br /></div>
nsphttp://www.blogger.com/profile/05129467294075533854noreply@blogger.com0tag:blogger.com,1999:blog-5630361457638146769.post-62266774566192272032019-10-08T23:32:00.000-07:002019-10-08T23:32:06.066-07:00How to read the SharePoint Security Audit ReportUser request to check who's remove the permission !!! As a SharePoint Admin we can get the information from the audit report ( anyway need to enable it before else will not have data available)<br />
<br />
Site Settings > Audit log Reports : Select the Security settings<br />
<br />
Once you get the report , we can get the information from the report .<br />
<br />
Information below from the column good enough to find out who change the permission<br />
<br />
<br />
User ID : Person done the change<br />
<br />
Event Data : what permission is change (but is in number , so the number is represent the role showed as following )<br />
<br />
<roleid></roleid><br />
Full Control<span style="white-space: pre;"> </span>1073741829<br />
Contribute<span style="white-space: pre;"> </span>1073741827<br />
Read<span style="white-space: pre;"> </span>1073741826<br />
<br />
<principalid></principalid><br />
This id is given by SharePoint , you can get it by do some programming or script.<br />
<br />
<ol>
<li>Go to the sites with /_layouts/15/people.aspx?MembershipGroupId=0</li>
<li>You will see all the user over here, mouse over the id then you can see the left hand side bottom have the full URL detail showed . you can see the id here.</li>
</ol>
<div>
<operation></operation></div>
<div>
This information is showed what change is going on</div>
nsphttp://www.blogger.com/profile/05129467294075533854noreply@blogger.com0tag:blogger.com,1999:blog-5630361457638146769.post-75468071999373956212019-03-19T23:08:00.002-07:002019-03-19T23:08:42.603-07:00SharePoint Performance : After SQL upgradeIssues : Performance problems<br />
<br />
Root Cause : SQL compatibility level of 130 or 140 which caused decreased query performance and increased CPU usage on the database server.<br />
<br />
Resolution : Changing the compatibility level to 110 resolved the performance problems<br />
<br />
How to fix :<br />
<br />
<div class="ng-scope">
We strongly recommend that you set the database compatibility level to 110 for SharePoint Server 2016 content databases. To change the compatibility level, run the following TSQL command:</div>
<div class="ng-scope">
<br /></div>
<pre class="indent-1 ng-scope">ALTER DATABASE <em>database_name</em> SET COMPATIBILITY_LEVEL = 110</pre>
<pre class="indent-1 ng-scope">
</pre>
<div class="ng-scope">
You can view the compatibility level of all the databases in an instance of SQL Server by using the following TSQL query:</div>
<div class="ng-scope">
<br /></div>
<pre class="indent-1 ng-scope">SELECT name, <em>compatibility_level</em> FROM sys.databases</pre>
<pre class="indent-1 ng-scope">
</pre>
<pre class="indent-1 ng-scope">
</pre>
Detail URL :<br />
https://blogs.technet.microsoft.com/stefan_gossner/2018/12/02/sp2016-performance-problems-caused-by-sql-database-compatibility-level-130-or-140/<br />
<br />
<br />
This also applied to SharePoint2013 ( when you upgrade to SQL server and new content database version will created under compatibility level 120 )nsphttp://www.blogger.com/profile/05129467294075533854noreply@blogger.com0tag:blogger.com,1999:blog-5630361457638146769.post-36760042216339637392019-03-13T20:42:00.001-07:002019-03-13T20:42:23.881-07:00OWA LicenseIssues : User unable to edit the excel online (OWA - <span style="background-color: white; color: #222222; font-family: "open sans", helvetica, arial, sans-serif; font-size: 16px;">Office Web Apps ) </span><br />
<span style="background-color: white; color: #222222; font-family: "open sans", helvetica, arial, sans-serif; font-size: 16px;"><br /></span>
<span style="background-color: white; color: #222222; font-family: "open sans", helvetica, arial, sans-serif; font-size: 16px;">root cause : User is not inside the license group</span><br />
<span style="background-color: white; color: #222222; font-family: "open sans", helvetica, arial, sans-serif; font-size: 16px;"><br /></span>
<span style="background-color: white; color: #222222; font-family: "open sans", helvetica, arial, sans-serif; font-size: 16px;">Step to verify your valid license is for which user :</span><br />
<span style="background-color: white; color: #222222; font-family: "open sans", helvetica, arial, sans-serif; font-size: 16px;"><br /></span>
<br />
<ul>
<li><span style="background-color: white; color: #222222; font-family: "open sans", helvetica, arial, sans-serif; font-size: 16px;">log in to sharepoint server run following command : </span>Get-SPUserLicenseMapping</li>
<li>Result will show as following :</li>
</ul>
<br />
<div lang="x-none" style="display: inline !important; font-family: Calibri; font-size: 11pt; margin: 0in;">
Identity : 6a120a5b-a14c-4cb7-b37e-xxxxxxx</div>
<div lang="x-none" style="font-family: Calibri; font-size: 11pt; margin: 0in;">
License : OfficeWebAppsEdit</div>
<div lang="x-none" style="font-family: Calibri; font-size: 11pt; margin: 0in;">
Name : ABC\arepointOWALic >> this is the domain group have license to use edit at OWA</div>
<div lang="x-none" style="font-family: Calibri; font-size: 11pt; margin: 0in;">
ClaimValue :
S-1-5-21-1008349960-1601062091-620655208-60439</div>
<div lang="x-none" style="font-family: Calibri; font-size: 11pt; margin: 0in;">
ClaimType : <a href="http://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid">http://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid</a></div>
<div lang="x-none" style="font-family: Calibri; font-size: 11pt; margin: 0in;">
OriginalIssuer
: Windows</div>
<div lang="x-none" style="font-family: Calibri; font-size: 11pt; margin: 0in;">
ValueType : <a href="http://www.w3.org/2001/XMLSchema#string">http://www.w3.org/2001/XMLSchema#string</a></div>
<br />
<div>
<br /></div>
<div>
<br /></div>
<div>
Solution : add use to the group (make sure your business policy is allow) then solved.</div>
<div>
<br /></div>
<div>
for more information about the map user license enforcement can get from here :</div>
<div>
<a href="https://www.petri.com/sharepoint-2013-user-license-enforcement">https://www.petri.com/sharepoint-2013-user-license-enforcement</a></div>
<div>
<br /></div>
<div>
<div class="user-content_text text " style="background-color: white; box-sizing: border-box; color: #222222; font-family: "open sans", helvetica, arial, sans-serif; line-height: 1.25em; margin-bottom: 1.25em;">
Managing licenses can already be a headache, but it can be even more painful when SharePoint is involved because it has so many features that are specific to a license type. <span style="box-sizing: border-box; font-weight: bolder;">User License Enforcement</span> is a new SharePoint 2013 feature that allows administrators to assign specific license features by mapping those license features to users in specific Active Directory groups. This article will show you how to utilize SharePoint’s new licensing capabilities, which gives administrators better control of how licensed features are managed and assigned to users.</div>
<div style="background-color: white; box-sizing: border-box; font-family: "Open Sans", sans-serif;">
</div>
<h2 class="user-content_title title -h2 " style="background-color: white; box-sizing: border-box; color: var(--primary); font-family: "open sans", helvetica, arial, sans-serif; line-height: 1.5em; margin: 0px 0px 1.2em;">
New SharePoint Licensing Features = New Admin Abilities</h2>
<div class="user-content_text text " style="background-color: white; box-sizing: border-box; color: #222222; font-family: "open sans", helvetica, arial, sans-serif; line-height: 1.25em; margin-bottom: 1.25em;">
In previous versions of SharePoint, when a server was activated with the Enterprise feature, it was very difficult to determine which users actually used the Enterprise and Standard features. In most cases, administrators would deploy another server that only had Standard features activated, and they would try to restrict users to accessing only that server. Sometimes they would even resort to deploying separate SharePoint farms to ensure the correct licensing was used. These methods resulted in over-deploying servers, which increased deployment costs.</div>
<div class="user-content_text text " style="background-color: white; box-sizing: border-box; color: #222222; font-family: "open sans", helvetica, arial, sans-serif; line-height: 1.25em; margin-bottom: 1.25em;">
The new licensing features will give administrators the ability to deploy a server with all the features, both Enterprise and Standard, but they will restrict users to use only the licensed features to which they are assigned. This can be cost effective for many organizations, as it can reduce the amount of servers that need to be deployed. Smaller organizations can utilize a single farm for blended licenses, such as deploying Project Server for certain users while still providing Standard Cals for majority of their business users. <em style="box-sizing: border-box;">Note:</em> SharePoint web applications must use Claims-based authentication; however, since that is the default in SharePoint 2013, you either will need to be moving towards Claims-Based or already be using Claims-Based Authentication.</div>
<div class="user-content_text text " style="background-color: white; box-sizing: border-box; color: #222222; font-family: "open sans", helvetica, arial, sans-serif; line-height: 1.25em; margin-bottom: 1.25em;">
SharePoint 2013’s user license enforcement is disabled by default and must be enabled before enforcement can begin. User License Enforcement configurations can only be completed in PowerShell using the <a class="user-content_link link " href="http://technet.microsoft.com/en-us/library/jj219609.aspx" rel="noopener" style="background-color: transparent; box-sizing: border-box; cursor: pointer; text-decoration-line: none; transition: color 0.15s ease 0s;">eight available cmdlets</a>.</div>
<div class="user-content_text text " style="background-color: white; box-sizing: border-box; color: #222222; font-family: "open sans", helvetica, arial, sans-serif; line-height: 1.25em; margin-bottom: 1.25em;">
The license CAL assignments that can be mapped to users are divided into five categories:</div>
<ul class="user-content_text text -list -unordered " style="background-color: white; box-sizing: border-box; color: #222222; font-family: "open sans", helvetica, arial, sans-serif; line-height: 1.25em; list-style-image: initial; list-style-position: initial; margin: 0px 0px 1.25em; padding: 0px 0px 0px 1.5em;">
<li class="text_list-item " style="box-sizing: border-box; margin-bottom: 0.5em;"><span style="box-sizing: border-box; font-weight: bolder;">Standard –</span> Delivers the core capabilities of SharePoint, including basic Search functions and Communities platform</li>
<li class="text_list-item " style="box-sizing: border-box; margin-bottom: 0.5em;"><span style="box-sizing: border-box; font-weight: bolder;">Enterprise –</span> Provides all the Standard Cal features, including the following Enhanced Search, Business Solutions (Access Services, InfoPath Services), and Business Intelligence (Excel services, PerformancePoint Services, and Visio Services)</li>
<li class="text_list-item " style="box-sizing: border-box; margin-bottom: 0.5em;"><span style="box-sizing: border-box; font-weight: bolder;">Project –</span> Access to Project Server that is installed within the SharePoint farm</li>
<li class="text_list-item " style="box-sizing: border-box; margin-bottom: 0.5em;"><span style="box-sizing: border-box; font-weight: bolder;">DUET –</span> Allows interoperability with SAP applications</li>
<li class="text_list-item " style="box-sizing: border-box;"><span style="box-sizing: border-box; font-weight: bolder;">WAC –</span> Access to Office Web Apps</li>
</ul>
<div class="user-content_text text " style="background-color: white; box-sizing: border-box; color: #222222; font-family: "open sans", helvetica, arial, sans-serif; line-height: 1.25em; margin-bottom: 1.25em;">
Enforcement is completed by mapping a security group in Active Directory to one of the five license categories, then adding users to the security groups. When the user in the AD group logs into SharePoint, usage data gets logged onto the farm. When the user attempts to access an unlicensed feature, they are blocked. License enforcement can be applied at different levels, such as site pages, document libraries and lists, so proper license mapping planning should be done to ensure users are correctly mapped.</div>
<h2 class="user-content_title title -h2 " style="background-color: white; box-sizing: border-box; color: var(--primary); font-family: "open sans", helvetica, arial, sans-serif; line-height: 1.5em; margin: 0px 0px 1.2em;">
Enable and Map User License Enforcement</h2>
<h3 class="user-content_title title -h3 " style="background-color: white; box-sizing: border-box; color: var(--primary); font-family: "open sans", helvetica, arial, sans-serif; font-size: 1.375em; font-weight: 400; line-height: 1.25em; margin: 0px 0px 1.25em;">
<span style="box-sizing: border-box; font-weight: bolder;">Enable user licensing:</span></h3>
<ul class="user-content_text text -list -unordered " style="background-color: white; box-sizing: border-box; color: #222222; font-family: "open sans", helvetica, arial, sans-serif; line-height: 1.25em; list-style-image: initial; list-style-position: initial; margin: 0px 0px 1.25em; padding: 0px 0px 0px 1.5em;">
<li class="text_list-item " style="box-sizing: border-box; margin-bottom: 0.5em;">Start the <span style="box-sizing: border-box; font-weight: bolder;">SharePoint Management Shell.</span></li>
<li class="text_list-item " style="box-sizing: border-box;">Type the following cmdlet to enable license enforcement on the farm: <span style="box-sizing: border-box; font-weight: bolder;">Enable-SPUserLicensing</span></li>
</ul>
<div class="user-content_text text " style="background-color: white; box-sizing: border-box; color: #222222; font-family: "open sans", helvetica, arial, sans-serif; line-height: 1.25em; margin-bottom: 1.25em;">
<a class="user-content_link link " href="https://www.petri.com/wp-content/uploads/Fig1_SP2013.jpg" rel="noopener" style="background-color: transparent; box-sizing: border-box; cursor: pointer; text-decoration-line: none; transition: color 0.15s ease 0s;"><img alt="enable user licensing_SharePoint 2013" class="_js alignnone size-full wp-image-37674" height="103" sizes="(max-width: 530px) 100vw, 530px" srcset="https://www.petri.com/wp-content/uploads/sites/3/Fig1_SP2013.jpg 530w, https://www.petri.com/wp-content/uploads/sites/3/Fig1_SP2013-300x58.jpg 300w" style="border-style: none; box-sizing: border-box; display: block; height: auto !important; max-width: 100%;" title="enable user licensing_SharePoint 2013" width="530" /></a></div>
<ul class="user-content_text text -list -unordered " style="background-color: white; box-sizing: border-box; color: #222222; font-family: "open sans", helvetica, arial, sans-serif; line-height: 1.25em; list-style-image: initial; list-style-position: initial; margin: 0px 0px 1.25em; padding: 0px 0px 0px 1.5em;">
<li class="text_list-item " style="box-sizing: border-box;">To confirm that licensing enforcement has been abled, use the <span style="box-sizing: border-box; font-weight: bolder;">Get-SPUserLicensing</span> cmdlet. You should see the “true” value.</li>
</ul>
<div class="user-content_text text " style="background-color: white; box-sizing: border-box; color: #222222; font-family: "open sans", helvetica, arial, sans-serif; line-height: 1.25em; margin-bottom: 1.25em;">
<a class="user-content_link link " href="https://www.petri.com/wp-content/uploads/Fig2_SP2013.jpg" rel="noopener" style="background-color: transparent; box-sizing: border-box; cursor: pointer; text-decoration-line: none; transition: color 0.15s ease 0s;"><img alt="enable user licensing_SharePoint 2013" class="_js alignnone size-full wp-image-37675" height="156" sizes="(max-width: 530px) 100vw, 530px" srcset="https://www.petri.com/wp-content/uploads/sites/3/Fig2_SP2013.jpg 530w, https://www.petri.com/wp-content/uploads/sites/3/Fig2_SP2013-300x88.jpg 300w" style="border-style: none; box-sizing: border-box; display: block; height: auto !important; max-width: 100%;" title="enable user licensing_SharePoint 2013" width="530" /></a></div>
<h3 class="user-content_title title -h3 " style="background-color: white; box-sizing: border-box; color: var(--primary); font-family: "open sans", helvetica, arial, sans-serif; font-size: 1.375em; font-weight: 400; line-height: 1.25em; margin: 0px 0px 1.25em;">
<span style="box-sizing: border-box; font-weight: bolder;">Map licenses to AD group:</span></h3>
<ul class="user-content_text text -list -unordered " style="background-color: white; box-sizing: border-box; color: #222222; font-family: "open sans", helvetica, arial, sans-serif; line-height: 1.25em; list-style-image: initial; list-style-position: initial; margin: 0px 0px 1.25em; padding: 0px 0px 0px 1.5em;">
<li class="text_list-item " style="box-sizing: border-box; margin-bottom: 0.5em;">Start the <span style="box-sizing: border-box; font-weight: bolder;">SharePoint Management Shell.</span></li>
<li class="text_list-item " style="box-sizing: border-box;">Type the following cmdlet to map license categories to AD security groups (change “yoursecuritygroup” with the name of your AD group to which you want it to map): <span style="box-sizing: border-box; font-weight: bolder;">$a=New-SPUserLicenseMapping -SecurityGroup yoursecuritygroup -License Enterprise</span></li>
</ul>
<div class="user-content_text text " style="background-color: white; box-sizing: border-box; color: #222222; font-family: "open sans", helvetica, arial, sans-serif; line-height: 1.25em; margin-bottom: 1.25em;">
<a class="user-content_link link " href="https://www.petri.com/wp-content/uploads/Fig3_SP2013.jpg" rel="noopener" style="background-color: transparent; box-sizing: border-box; cursor: pointer; text-decoration-line: none; transition: color 0.15s ease 0s;"><img alt="Map licenses to AD group_SharePoint 2013" class="_js alignnone size-full wp-image-37676" height="105" sizes="(max-width: 530px) 100vw, 530px" srcset="https://www.petri.com/wp-content/uploads/sites/3/Fig3_SP2013.jpg 530w, https://www.petri.com/wp-content/uploads/sites/3/Fig3_SP2013-300x59.jpg 300w" style="border-style: none; box-sizing: border-box; display: block; height: auto !important; max-width: 100%;" title="Map licenses to AD group_SharePoint 2013" width="530" /></a></div>
<div class="user-content_text text " style="background-color: white; box-sizing: border-box; color: #222222; font-family: "open sans", helvetica, arial, sans-serif; line-height: 1.25em; margin-bottom: 1.25em;">
<br /></div>
<ul class="user-content_text text -list -unordered " style="background-color: white; box-sizing: border-box; color: #222222; font-family: "open sans", helvetica, arial, sans-serif; line-height: 1.25em; list-style-image: initial; list-style-position: initial; margin: 0px 0px 1.25em; padding: 0px 0px 0px 1.5em;">
<li class="text_list-item " style="box-sizing: border-box;"><span style="box-sizing: border-box; font-weight: bolder;">$a | Add-SPUserLicenseMapping</span></li>
</ul>
<div class="user-content_text text " style="background-color: white; box-sizing: border-box; color: #222222; font-family: "open sans", helvetica, arial, sans-serif; line-height: 1.25em; margin-bottom: 1.25em;">
<a class="user-content_link link " href="https://www.petri.com/wp-content/uploads/Fig4_SP2013.jpg" rel="noopener" style="background-color: transparent; box-sizing: border-box; cursor: pointer; text-decoration-line: none; transition: color 0.15s ease 0s;"><img alt="Map licenses to AD group_SharePoint 2013" class="_js alignnone size-full wp-image-37677" height="114" sizes="(max-width: 530px) 100vw, 530px" srcset="https://www.petri.com/wp-content/uploads/sites/3/Fig4_SP2013.jpg 530w, https://www.petri.com/wp-content/uploads/sites/3/Fig4_SP2013-300x65.jpg 300w" style="border-style: none; box-sizing: border-box; display: block; height: auto !important; max-width: 100%;" title="Map licenses to AD group_SharePoint 2013" width="530" /></a></div>
<div class="user-content_text text " style="background-color: white; box-sizing: border-box; color: #222222; font-family: "open sans", helvetica, arial, sans-serif; line-height: 1.25em; margin-bottom: 1.25em;">
The User License Enforcement in SharePoint 2013 adds more management capabilities for licensing than previous versions, but it is the not the complete solution for ensuring licensing compliance. You will still need to do your reporting and license reconciliation to ensure that you have purchased the appropriate amount of licenses used. If you’d like, check out this further reading on <a class="user-content_link link " href="http://office.microsoft.com/en-us/sharepoint/sharepoint-licensing-overview-collaboration-software-FX103789438.aspx" rel="noopener" style="background-color: transparent; box-sizing: border-box; cursor: pointer; text-decoration-line: none; transition: color 0.15s ease 0s;">SharePoint 2013 licensing</a>.</div>
</div>
nsphttp://www.blogger.com/profile/05129467294075533854noreply@blogger.com0tag:blogger.com,1999:blog-5630361457638146769.post-64221570914817293812019-02-27T23:04:00.003-08:002019-03-19T18:53:59.564-07:00Office 365 "Play Ground"As for see now a day SharePoint Online is getting hot and popular , to support the SharePoint online task some big organisation only grant the SharePoint Online admin role for SharePoint Admin to manage the SharePoint Online only.<br />
<br />
without the O365 ( Office 365) Global admin right you are unable to explore more function at Microsoft 365 admin center<br />
<br />
as i have notice microsoft have free trial offer 1 year for Office 365 developer program , you can register the program and get the free trial at office 365 as Global Admin ( you can try what ever you want at the O365 , off course not include those premium service)<br />
<br />
This program have up to 25 Office 365 Enterprise E3 Developer License , which is allow you to play around the product :<br />
<br />
<ul>
<li>Exchange Online</li>
<li>SharePoint Online</li>
<li>Teams Online ( take over Skype of business )</li>
<li>Azure Active Directory </li>
<li>other ...</li>
</ul>
<br />
Here you go for the URL : <a href="https://developer.microsoft.com/en-us/office/dev-program">https://developer.microsoft.com/en-us/office/dev-program</a><br />
<br />
have fun about it to ready your self for Cloud SaaS generation !!<br />
<br />
<br />nsphttp://www.blogger.com/profile/05129467294075533854noreply@blogger.com0tag:blogger.com,1999:blog-5630361457638146769.post-61624379835349912422019-01-23T20:31:00.002-08:002019-01-23T20:31:35.071-08:00How to Sign out from Microsoft Teams from Skype for business Trying to login my Office 365 Skype for business from the corporate Skype for Business Client , once login to Office 365 the client show the landing page to force me log on with the Teams by using browser.<br />
<br />
Try to figure out how to enable Office 365 Skype for business instead install the the Teams Apps , anyway still figuring out about this.<br />
<br />
Anyway now the problem i have faced is i am unable to logout from the Skype for Business Client from the Teams , try to log out from the Skype for Business Client and log in again ..but during login no chance for me to key in my corporate domain account direct showed the Teams Page information.<br />
<br />
Try to sing out from notebook even restart the notebook but is not help at all , so the finally trick for me to log in back to my corporate domain account to skype on premise is .....<br />
<span style="font-size: large;"><br /></span>
<span style="font-size: large;">Turn off the network then the Skype client log in page will stop there for you to change the login name !!! </span><br />
<br />
Hope this help those stuck on it !! ha hansphttp://www.blogger.com/profile/05129467294075533854noreply@blogger.com0tag:blogger.com,1999:blog-5630361457638146769.post-87338352313845083222019-01-16T20:03:00.001-08:002019-01-16T20:03:14.046-08:00RBS SharePoint SQL Table Information<br />
<br />
<br />
<div style="direction: ltr;">
<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse; border-color: #A3A3A3; border-style: solid; border-width: 1pt; direction: ltr;" valign="top">
<tbody>
<tr>
<td style="border-color: #A3A3A3; border-style: solid; border-width: 1pt; padding: 4pt 4pt 4pt 4pt; vertical-align: top; width: 3.2395in;">
<div lang="en-US" style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
[mssqlrbs_resources].[rbs_internal_blob_stores]</div>
</td>
<td style="border-color: #A3A3A3; border-style: solid; border-width: 1pt; padding: 4pt 4pt 4pt 4pt; vertical-align: top; width: 6.202in;">
<ul style="direction: ltr; margin-bottom: 0in; margin-left: .2055in; margin-top: 0in; unicode-bidi: embed;">
<ul style="direction: ltr; margin-bottom: 0in; margin-left: 0in; margin-top: 0in; unicode-bidi: embed;" type="disc">
<li lang="en-US" style="margin-bottom: 0; margin-top: 0; vertical-align: middle;"><span style="font-family: Calibri; font-size: 11.0pt;">Can check how many blob
store name install<span style="mso-spacerun: yes;"> </span>( this
setting will appear after run RBS.msi setup)</span></li>
<li lang="en-US" style="margin-bottom: 0; margin-top: 0; vertical-align: middle;"><span style="font-family: Calibri; font-size: 11.0pt;">blob store id ( have the
name of<span style="mso-spacerun: yes;"> </span>blob store name )</span></li>
</ul>
</ul>
</td>
</tr>
<tr>
<td style="border-color: #A3A3A3; border-style: solid; border-width: 1pt; padding: 4pt 4pt 4pt 4pt; vertical-align: top; width: 3.1423in;">
<div lang="en-US" style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
[mssqlrbs_resources].[rbs_internal_config]</div>
</td>
<td style="border-color: #A3A3A3; border-style: solid; border-width: 1pt; padding: 4pt 4pt 4pt 4pt; vertical-align: top; width: 6.1534in;">
<ul style="direction: ltr; margin-bottom: 0in; margin-left: .2055in; margin-top: 0in; unicode-bidi: embed;">
<ul style="direction: ltr; margin-bottom: 0in; margin-left: 0in; margin-top: 0in; unicode-bidi: embed;" type="disc">
<li lang="en-US" style="margin-bottom: 0; margin-top: 0; vertical-align: middle;"><span style="font-family: Calibri; font-size: 11.0pt;">When the RBS maintenance
have done , how many time and so on…</span></li>
</ul>
<div lang="en-US" style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
<br /></div>
</ul>
</td>
</tr>
<tr>
<td style="border-color: #A3A3A3; border-style: solid; border-width: 1pt; padding: 4pt 4pt 4pt 4pt; vertical-align: top; width: 3.1423in;">
<div lang="en-US" style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
[mssqlrbs_resources].[rbs_internal_pools]</div>
</td>
<td style="border-color: #A3A3A3; border-style: solid; border-width: 1pt; padding: 4pt 4pt 4pt 4pt; vertical-align: top; width: 6.1534in;">
<ul style="direction: ltr; margin-bottom: 0in; margin-left: .2055in; margin-top: 0in; unicode-bidi: embed;">
<ul style="direction: ltr; margin-bottom: 0in; margin-left: 0in; margin-top: 0in; unicode-bidi: embed;" type="disc">
<li lang="en-US" style="margin-bottom: 0; margin-top: 0; vertical-align: middle;"><span style="font-family: Calibri; font-size: 11.0pt;">Can see the data store in
which blob store id.</span></li>
</ul>
</ul>
</td>
</tr>
</tbody></table>
this 3 table is for me to check what is the current blob store using .</div>
<ul>
<li>rbs_internal_blob_stores : can check how many blob store is install against the content databse </li>
<li>from the <span style="font-family: Calibri; font-size: 14.6667px;">rbs_internal_pools</span> we can see the current blob is store to which Blob store</li>
<li>rbs_internal_config this can check RBS maintenance history </li>
</ul>
nsphttp://www.blogger.com/profile/05129467294075533854noreply@blogger.com0tag:blogger.com,1999:blog-5630361457638146769.post-67994060790707047542018-11-22T17:17:00.000-08:002018-11-22T17:19:41.179-08:00Trial Product keys for Microsoft SharePoint<span style="background-color: #444444; color: white; font-family: "calibri"; font-size: 22.5pt;">Product keys for Microsoft
SharePoint 2010, 2013, 2016, 2019:</span><br />
<ul style="direction: ltr; margin-bottom: 0in; margin-left: .375in; margin-top: 0in; unicode-bidi: embed;" type="disc">
<li style="margin-bottom: 0px; margin-top: 0px; vertical-align: middle;"><span style="background-color: #444444; color: white;"><span lang="en-SG" style="font-family: "calibri"; font-size: 10.5pt;">SharePoint
2019 Public Preview trial Enterprise product key:</span><span lang="x-none" style="font-family: "calibri"; font-size: 10.5pt;"> </span><span lang="x-none" style="font-family: "calibri"; font-size: 10.5pt; font-weight: bold;">M692G-8N2JP-GG8B2-2W2P7-YY7J6</span></span></li>
<li style="margin-bottom: 0px; margin-top: 0px; vertical-align: middle;"><span style="background-color: #444444; color: white;"><span lang="en-SG" style="font-family: "calibri"; font-size: 10.5pt;">SharePoint
2019 Public Preview Project Server trial license key:</span><span lang="x-none" style="font-family: "calibri"; font-size: 10.5pt;"> </span><span lang="x-none" style="font-family: "calibri"; font-size: 10.5pt; font-weight: bold;">R9946-QXNHR-62JPQ-3H3QC-TMWJT</span></span></li>
<li style="margin-bottom: 0px; margin-top: 0px; vertical-align: middle;"><span style="background-color: #444444; color: white;"><span lang="en-SG" style="font-family: "calibri"; font-size: 10.5pt;">SharePoint
2016 RTM:</span><span lang="x-none" style="font-family: "calibri"; font-size: 10.5pt;"> </span><span lang="x-none" style="font-family: "calibri"; font-size: 10.5pt; font-weight: bold;">NQGJR-63HC8-XCRQH-MYVCH-3J3QR</span></span></li>
<li style="margin-bottom: 0px; margin-top: 0px; vertical-align: middle;"><span style="background-color: #444444; color: white;"><span lang="en-SG" style="font-family: "calibri"; font-size: 10.5pt;">SharePoint
2013:</span><span lang="x-none" style="font-family: "calibri"; font-size: 10.5pt;"> </span><span lang="x-none" style="font-family: "calibri"; font-size: 10.5pt; font-weight: bold;">NQTMW-K63MQ-39G6H-B2CH9-FRDWJ</span></span></li>
<li style="margin-bottom: 0px; margin-top: 0px; vertical-align: middle;"><span style="background-color: #444444; color: white;"><span lang="en-SG" style="font-family: "calibri"; font-size: 10.5pt;">SharePoint
2013 Foundation: </span><span lang="ru" style="font-family: "calibri"; font-size: 10.5pt;">это бесплатная редакция SharePoint, для неё
ключи не нужны</span></span></li>
<li style="margin-bottom: 0px; margin-top: 0px; vertical-align: middle;"><span style="background-color: #444444; color: white;"><span lang="en-SG" style="font-family: "calibri"; font-size: 10.5pt;">SharePoint
2010 Standard:</span><span lang="x-none" style="font-family: "calibri"; font-size: 10.5pt;"> </span><span lang="x-none" style="font-family: "calibri"; font-size: 10.5pt; font-weight: bold;">PTTCF-PCY26-D9V8F-8JF8B-XH8JP</span></span></li>
<li style="margin-bottom: 0px; margin-top: 0px; vertical-align: middle;"><span style="background-color: #444444; color: white;"><span lang="en-SG" style="font-family: "calibri"; font-size: 10.5pt;">SharePoint
2010 Enterprise:</span><span lang="x-none" style="font-family: "calibri"; font-size: 10.5pt;"> </span><span lang="x-none" style="font-family: "calibri"; font-size: 10.5pt; font-weight: bold;">VK7BD-VBKWR-6FHD9-Q3HM9-6PKMX</span></span></li>
</ul>
<br />nsphttp://www.blogger.com/profile/05129467294075533854noreply@blogger.com0tag:blogger.com,1999:blog-5630361457638146769.post-39121811945983092502018-08-13T21:49:00.002-07:002018-08-13T21:49:51.152-07:00SharePoint 2019 Preview release新的SharePoint版本 2019,还没正式可以用。这个是给你试验性的,不能直接换去正式版本(RTM).<br />
<br />
很快速的看了一下,看到几个新的进步所以写下来记录一下:<br />
<br />
<br />
<ul>
<li>最大上载upload Size 增加到 15GB. ( SharePoint 2013 - 2GB , SharePoint 2016 - 10GB)</li>
<li>File names and lengths 进步了几点</li>
<ul>
<li>文件和文件夹名可以用 # 和 %了</li>
<li>URL的长度就从260 unicode code units 增加到 400 ( 方便使用者可以用长长的文件名还是可以开多几个文件夹在文件夹里面来分类)</li>
</ul>
</ul>
<ul>
<li>Zero downtime patching : 如果你有用到customization solution那就比较难达到了</li>
</ul>
其他关于developer的就有看没懂。。什么SharePoint Framwork的东西。。。好啦,大约是这样,到时候Install了才分享多一点。<div>
<br /></div>
<div>
<br /></div>
<br />
<div dir="ltr" style="background-color: white; color: #26282a; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 13px;">
You may view the latest post at</div>
<div>
<div dir="ltr" style="background-color: white; color: #26282a; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 13px;">
<a href="https://blogs.technet.microsoft.com/stefan_gossner/2018/08/13/announcing-availability-of-sharepoint-server-2019-preview/" style="color: #196ad4;" target="_blank">https://blogs.technet.microsoft.com/stefan_gossner/2018/08/13/announcing-availability-of-sharepoint-server-2019-preview/</a></div>
</div>
nsphttp://www.blogger.com/profile/05129467294075533854noreply@blogger.com0tag:blogger.com,1999:blog-5630361457638146769.post-87974356133788704712018-08-05T21:55:00.002-07:002018-08-05T21:55:48.474-07:00How to: SharePoint 2013 permissions controlled by AD Security Group will not update<b>Incident</b> :<br />
User added to Domain security group in few hours time still cannot log in the SharePoint site which is have permission<br />
<br />
<b>Root cause</b> :<br />
User before add in to domain security group already have the SharePoint authentication token ,this will cause SharePoint will not update for at least 10 hours.<br />
<br />
<br />
<b>Resolution \ work around</b>:<br />
<br />
<ul>
<li>change the WindowsTokenLifetime from default 10 hours to N hours</li>
<li>second method which is wait for 10 hours and at the same time grant individual permission first.</li>
</ul>
<div>
<br /></div>
<div>
more information from : </div>
<br />
<br />
https://community.spiceworks.com/how_to/86169-sharepoint-2013-permissions-controlled-by-ad-security-group-will-not-update<br />
<br />
You have a site, list, or library with permissions assigned to an Active Directory security group instead of a SharePoint group or individual. When you add a user to or remove a user from the security group within Active Directory, their permissions on the SharePoint site are not updated right away.<br />
<br />
3 Steps total<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuSnNkCbmttLgCvvqlpRuClFQp9spFKiDIW7w1z1BjGRv3Akoly9nVYXyvISgpVZQG90wv2c9mGdgIGD7jLUYmQ4S8CuE9lHpna5smZ5Tg-O3IAMqdEarVUYVSGG_5mTFO9HOEWiT9AQHS/s1600/1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="238" data-original-width="587" height="129" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuSnNkCbmttLgCvvqlpRuClFQp9spFKiDIW7w1z1BjGRv3Akoly9nVYXyvISgpVZQG90wv2c9mGdgIGD7jLUYmQ4S8CuE9lHpna5smZ5Tg-O3IAMqdEarVUYVSGG_5mTFO9HOEWiT9AQHS/s320/1.png" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihjE3ByceMzGUlgM7P7A7h5L003OcMYJwlC9BTCjiOKik9tZ3TM1Aq5D_zu_GdpxfUrk1Y2KoSUBx2Ue63xQA6sqibMXCJIaYBwCMtkKj59k8S8sOA70qGuwiQ41UunZf3G4auny56ThEa/s1600/2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="471" data-original-width="591" height="255" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihjE3ByceMzGUlgM7P7A7h5L003OcMYJwlC9BTCjiOKik9tZ3TM1Aq5D_zu_GdpxfUrk1Y2KoSUBx2Ue63xQA6sqibMXCJIaYBwCMtkKj59k8S8sOA70qGuwiQ41UunZf3G4auny56ThEa/s320/2.png" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiStiDVChq-GgUa5IA77WP_s0vMWpc_NNfCPFw15Q4uEyOHQ3bDOVSmjgCMvtHfuekPYa1NtXWnnyJIwcIr6s6oweabiRlW8ivx3nimTbv7X-TX8zHWfrWCGI11Hws4Lb4_7zCUhOQJihzo/s1600/3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="415" data-original-width="598" height="222" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiStiDVChq-GgUa5IA77WP_s0vMWpc_NNfCPFw15Q4uEyOHQ3bDOVSmjgCMvtHfuekPYa1NtXWnnyJIwcIr6s6oweabiRlW8ivx3nimTbv7X-TX8zHWfrWCGI11Hws4Lb4_7zCUhOQJihzo/s320/3.png" width="320" /></a></div>
<br />
<br />
Get-SPSecurityTokenServiceConfig<br />
<br />
<br />
$mysts=Get-SPSecurityTokenServiceConfig<br />
<br />
$mysts.WindowsTokenLifetime=(New-TimeSpan -Minutes 60)<br />
<br />
$mysts.Update()<br />
<br />
<br />
WARNING: We've experienced some issues with this new setting. If you set the WindowsTokenLifetime to 60 minutes, please be aware that users who are editing a page must save and close that page within the 60 minute timeframe. We've had users making changes to wiki pages who spent hours working on a draft, then clicking on save and seeing all of their work lost. It turns out that when a user submits their changes by clicking the "Save" button, the request is sent back to SharePoint which sees that the user's credentials have expired. SharePoint then throws out any changes and directs the request back to the authentication page to re-authenticate. If the user is being logged in automatically (i.e. a corporate intranet), SharePoint redirects them back to the page they were editing, but without any of the changes.<br />
<br />
This has been a HUGE problem for us. In the end, we changed the WindowsTokenLifetime back to 10 hours. Better for us to wait until the next day before the occasional Active Directory change takes effect than to risk losing hours worth of work.<br />
<br />nsphttp://www.blogger.com/profile/05129467294075533854noreply@blogger.com0tag:blogger.com,1999:blog-5630361457638146769.post-47515369365217320042018-04-23T00:51:00.001-07:002018-04-23T00:52:33.044-07:00Relationship Load Balance (F5) with SharePoint IIS<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrBg3BuM_ATnkSpO5XaftzU3TkKdozaVRhLyvZsu7ajYeTeabeunzgqrAAKvqzaRUKBW2YuDIG2_zRo89nVsg9RRSjlYYT_pk7W_S4ozjNv3kt2cFui0tt-RGOGVZxcV676nzuGmLVkfg4/s1600/health-monitoring-stack_2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="309" data-original-width="640" height="307" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrBg3BuM_ATnkSpO5XaftzU3TkKdozaVRhLyvZsu7ajYeTeabeunzgqrAAKvqzaRUKBW2YuDIG2_zRo89nVsg9RRSjlYYT_pk7W_S4ozjNv3kt2cFui0tt-RGOGVZxcV676nzuGmLVkfg4/s640/health-monitoring-stack_2.png" width="640" /></a></div>
<br />
Due to the lacking information from the support network team to provide the information about how the LB monitoring the application health we are hardly to troubleshoot during incident happen.<br />
<br />
For the easy way to verify the health monitoring rule set for ICMP and HTTP we can do the following test to verify.<br />
<br />
ICMP : simply shut down all the node and leave one server node up , try to access then you will know the helath monitoring is working or not. ( this method is try to ping the server node , once detected unable to ping then the traffic will stop route to that server ~ around 1 to 2 minute to detect it)<br />
<br />
TCP (by server name with port 443 / 80 ): this is something new i learnt which is we can stop the IIS [listener for port 443 and 80 will stop ]service at the server node then the traffic will stop route to this server node.<br />
<br />
<br />
Back to the incident i have faced last week , which is we have delete one of the old SSL certificate and during reboot server causing the LB unable communicate to the server node.<br />
<br />
root cause : one of the unused web application (stop) have blank hostname with 443 port enable and the SSL cert is blank . Causing LB unable to communicate with the server node.<br />
<br />
solution : binding the SSL cert to the blank host name with 443 port<br />
<br />
error message can see from system log file :<br />
Event ID 15021 Source HttpEvent<br />
An error occurred while using SSL configuration for endpoint 0.0.0.0:443. The error status code is contained within the returned data.nsphttp://www.blogger.com/profile/05129467294075533854noreply@blogger.com0tag:blogger.com,1999:blog-5630361457638146769.post-71437638256504736672018-01-05T00:24:00.001-08:002018-01-05T00:24:31.288-08:00How to check the RBS folder location and name base on the content database name ?try to run powers hell command to find out the RBS folder location and name is use by specify content database but unable to find the command.<br />
<br />
the method i have is run SQL query on the server to get the information i needed :<br />
<br />
SELECT<br />
db.name AS DBName,<br />
type_desc AS FileType,<br />
Physical_Name AS Location<br />
FROM<br />
sys.master_files mf<br />
INNER JOIN<br />
sys.databases db ON db.database_id = mf.database_id<br />
<br />
<br />
check on the file type FILESTREAM under the content database you looking for then will know which RBS .nsphttp://www.blogger.com/profile/05129467294075533854noreply@blogger.com0tag:blogger.com,1999:blog-5630361457638146769.post-61037924935858435422017-11-01T02:59:00.000-07:002017-11-01T02:59:05.017-07:00Manually remove user from Profiles Missing from ImportDue to some requirement we need to disable the My Site Cleanup Timer Job , then we need to do manually clean up for those user is leaving organization.<br />
<br />
Below is the script we can remove the user from user Profile (Profiles Missing from Import).<br />
<br />
The reasons we remove it because we don't want other user click on the user leaving organization rout to user profile , want it point to user table information at site collection database.<br />
<br />
More detail here :<br />
<br />
https://blogs.msdn.microsoft.com/kaevans/2012/06/25/inside-the-sharepoint-2010-my-site-cleanup-timer-job/<br />
<br />
========================================================================<br />
<br />
if ((Get-PSSnapin “Microsoft.SharePoint.PowerShell” -ErrorAction SilentlyContinue) -eq $null) {<br />
Add-PSSnapin “Microsoft.SharePoint.PowerShell”<br />
}<br />
$siteUrl = "xxxx"<br />
$site = Get-SPSite $siteUrl<br />
$context = Get-SPServiceContext($site)<br />
$site.Dispose();<br />
$pm = New-Object Microsoft.Office.Server.UserProfiles.UserProfileManager($context); <br />
<br />
$ProfileDB = Get-SPDatabase | ? { $_.Type -eq “Microsoft.Office.Server.Administration.ProfileDatabase”}<br />
$SqlConnection = New-Object System.Data.SqlClient.SqlConnection<br />
$SqlConnection.ConnectionString = $ProfileDB.DatabaseConnectionString<br />
$SqlCmd = New-Object System.Data.SqlClient.SqlCommand<br />
$SqlCmd.CommandText = 'select NTName,RecordId from UserProfile_Full where bDeleted=1'<br />
$SqlCmd.Connection = $SqlConnection<br />
$SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter<br />
$SqlAdapter.SelectCommand = $SqlCmd<br />
$DataSet = New-Object System.Data.DataSet<br />
$SqlAdapter.Fill($DataSet)<br />
$SqlConnection.Close();<br />
Write-host 'TotalCount: ', $DataSet.Tables[0].Rows.Count<br />
<br />
Write-Host 'Following Inactive Accounts will be deleted !'<br />
foreach($user in $DataSet.Tables[0].Rows)<br />
{<br />
write-host 'Planning to delete :' $user['NTName'], ',', $user['RecordId'] -ForegroundColor Green<br />
$profile = $pm.GetProfile($user['RecordId'])<br />
write-host $profile.DisplayName;<br />
#To enable delete operation remove comment out for below line<br />
#$pm.RemoveProfile($profile)<br />
write-host $user['NTName'] is deleted!!! -ForegroundColor Red<br />
}<br />
write-host 'Operation Completed !'<br />
<br />
========================================================================nsphttp://www.blogger.com/profile/05129467294075533854noreply@blogger.com0tag:blogger.com,1999:blog-5630361457638146769.post-35883627620840347152017-08-02T19:48:00.001-07:002017-08-02T19:48:31.620-07:00How to find out which site collection is using RBS ? <div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
$SPWebApp =
Get-SPWebApplication https://abc.com</div>
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
<br /></div>
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
foreach ($SPSite in
$SPWebApp.Sites)</div>
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
{</div>
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
if ($SPSite -ne $null)</div>
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
{</div>
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
$site=Get-SPSite $SPSite</div>
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
Ssite</div>
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
$dbname =
$site.ContentDatabase.name</div>
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
$dbname</div>
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
$rbss=$site.ContentDatabase.RemoteBlobStorageSettings</div>
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
#$rbss</div>
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
$SPSite.Dispose()</div>
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
}</div>
<br />
<div style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
}</div>
nsphttp://www.blogger.com/profile/05129467294075533854noreply@blogger.com5tag:blogger.com,1999:blog-5630361457638146769.post-86753424906362251872017-06-05T19:39:00.002-07:002017-06-05T19:39:58.007-07:00SQL script add user to all content database<div style="margin-bottom: .0001pt; margin: 0cm;">
<span lang="X-NONE" style="font-family: "Calibri",sans-serif; font-size: 11.0pt; mso-ansi-language: X-NONE;">SET NOCOUNT
ON;<o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<br /></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span lang="X-NONE" style="font-family: "Calibri",sans-serif; font-size: 11.0pt; mso-ansi-language: X-NONE;">DECLARE
@user_name SYSNAME<o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span lang="X-NONE" style="font-family: "Calibri",sans-serif; font-size: 11.0pt; mso-ansi-language: X-NONE;"> , @login_name SYSNAME;<o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<br /></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span lang="X-NONE" style="font-family: "Calibri",sans-serif; font-size: 11.0pt; mso-ansi-language: X-NONE;">SELECT
@user_name = ‘Domain\Account’,<o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span lang="X-NONE" style="font-family: "Calibri",sans-serif; font-size: 11.0pt; mso-ansi-language: X-NONE;"> @login_name = ‘Domain\Account’<o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<br /></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span lang="X-NONE" style="font-family: "Calibri",sans-serif; font-size: 11.0pt; mso-ansi-language: X-NONE;">SELECT '<o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span lang="X-NONE" style="font-family: "Calibri",sans-serif; font-size: 11.0pt; mso-ansi-language: X-NONE;"> USE ' + QUOTENAME(NAME) + '<o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin-bottom: 0cm; margin-left: 27.0pt; margin-right: 0cm; margin-top: 0cm;">
<span lang="X-NONE" style="font-family: "Calibri",sans-serif; font-size: 11.0pt; mso-ansi-language: X-NONE;">CREATE USER ' +
QUOTENAME(@user_name)<o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span lang="X-NONE" style="font-family: "Calibri",sans-serif; font-size: 11.0pt; mso-ansi-language: X-NONE;"> + '<o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span lang="X-NONE" style="font-family: "Calibri",sans-serif; font-size: 11.0pt; mso-ansi-language: X-NONE;"> ALTER ROLE [db_owner] ADD MEMBER [Domain\Account]<o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span lang="X-NONE" style="font-family: "Calibri",sans-serif; font-size: 11.0pt; mso-ansi-language: X-NONE;"> GO<o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span lang="X-NONE" style="font-family: "Calibri",sans-serif; font-size: 11.0pt; mso-ansi-language: X-NONE;"> <o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span lang="X-NONE" style="font-family: "Calibri",sans-serif; font-size: 11.0pt; mso-ansi-language: X-NONE;">'<o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span lang="X-NONE" style="font-family: "Calibri",sans-serif; font-size: 11.0pt; mso-ansi-language: X-NONE;">FROM sys.databases<o:p></o:p></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span lang="X-NONE" style="font-family: "Calibri",sans-serif; font-size: 11.0pt; mso-ansi-language: X-NONE;">WHERE database_id > 4<o:p></o:p></span></div>
<br />
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span lang="X-NONE" style="font-family: "Calibri",sans-serif; font-size: 11.0pt; mso-ansi-language: X-NONE;"> AND state_desc = 'ONLINE'</span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<br /></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span lang="X-NONE" style="font-family: "Calibri",sans-serif; font-size: 11.0pt; mso-ansi-language: X-NONE;">---------------------------------------------------------------------------------------------------</span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
<span lang="X-NONE" style="font-family: "Calibri",sans-serif; font-size: 11.0pt; mso-ansi-language: X-NONE;"><br /></span></div>
<div style="margin-bottom: .0001pt; margin: 0cm;">
</div>
<ul>
<li>execute the results to text then can copy and paste to run it </li>
<li>excluded the system database</li>
</ul>
<div>
<br /></div>
<br />
<div style="margin-bottom: .0001pt; margin: 0cm;">
<br /></div>
nsphttp://www.blogger.com/profile/05129467294075533854noreply@blogger.com0tag:blogger.com,1999:blog-5630361457638146769.post-40634898227202612752017-03-19T20:01:00.002-07:002017-03-19T20:03:00.148-07:00SharePoint 2013 security hotfix remove the application pool permission from RBS content database DB ownerQuestion :<br />
we notice after the security hotfix patch, application pool account is remove from the content Database DB owner (this setting is for RBS) , this is known issues ?<br />
<br />
Answer :<br />
Yes, after security hotfix Patch or any patch update, application pool account will be removed from the content Database DB owner for RBS enabled databases. We would need to add the account back as DB owner.nsphttp://www.blogger.com/profile/05129467294075533854noreply@blogger.com0tag:blogger.com,1999:blog-5630361457638146769.post-79574360586116800242017-02-23T01:29:00.000-08:002017-02-23T01:29:30.942-08:00RBS enable for sharepoint second content DB<div lang="x-none" style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
1. add
pool account to the dbowner content database</div>
<div lang="x-none" style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
<br /></div>
<div lang="x-none" style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
<br /></div>
<div lang="x-none" style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
2.run
sql script crease RBS group</div>
<div lang="x-none" style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
<br /></div>
<div lang="x-none" style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
USE <span style="font-size: 14.6667px;">WSS_Content_RBS</span></div>
<div lang="x-none" style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
if not
exists (select * from sys.symmetric_keys where name =
N'##MS_DatabaseMasterKey##')</div>
<div lang="x-none" style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
create
master key encryption by password = N'Admin Key Password !2#4'</div>
<div lang="x-none" style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
<br /></div>
<div lang="x-none" style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
USE <span style="font-size: 14.6667px;">WSS_Content_RBS</span></div>
<div lang="x-none" style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
if not
exists (select groupname from sysfilegroups where
groupname=N'RBSFilestreamProvider')</div>
<div lang="x-none" style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
alter
database <span style="font-size: 14.6667px;">WSS_Content_RBS</span> add filegroup RBSFilestreamProvider
contains filestream</div>
<div lang="x-none" style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
<br /></div>
<div lang="x-none" style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
USE <span style="font-size: 14.6667px;">WSS_Content_RBS</span></div>
<div lang="x-none" style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
alter
database <span style="font-size: 14.6667px;">WSS_Content_RBS</span> add file (name = RBSFilestreamFile,
filename = 'F:\WSS_Content_staffhub_RBS_test') to filegroup
RBSFilestreamProvider</div>
<div lang="x-none" style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
<br /></div>
<div lang="x-none" style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
<span style="font-size: 11pt;">3.check
blob folder created</span></div>
<div lang="x-none" style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
<br /></div>
<div lang="x-none" style="font-family: Calibri; margin: 0in;">
<span style="font-size: 11pt;">4. Run at</span><span style="font-size: large;"><b> </b><b>DB server</b></span><span style="font-size: 11pt;">
for second content db</span></div>
<div lang="x-none" style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
<br /></div>
<div lang="x-none" style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
msiexec
/lvx* WSS_Content_RBS.txt /i rbs.msi REMOTEBLOBENABLE=1
FILESTREAMPROVIDERENABLE=1 FILEGROUP=PRIMARY
FILESTREAMFILEGROUP=RBSFilestreamProvider
FILESTREAMSTORENAME=FileStreamProvider_1 ADDLOCAL=EnableRBS,FilestreamRunScript
DBINSTANCE= <dbsql></dbsql></div>
<div lang="x-none" style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
<br /></div>
<div lang="x-none" style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
*use interface to setup</div>
<div lang="x-none" style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
<span style="font-size: 11pt;"> </span></div>
<div lang="x-none" style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
6.check
will see rbs table</div>
<div lang="x-none" style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
<br /></div>
<div lang="x-none" style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
7.run
powershell</div>
<div lang="x-none" style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
<br /></div>
<div lang="x-none" style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
$cdb =
Get-SPContentDatabase <span style="font-size: 14.6667px;">WSS_Content_RBS</span></div>
<div lang="x-none" style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
$rbss =
$cdb.RemoteBlobStorageSettings</div>
<div lang="x-none" style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
$rbss.Installed()</div>
<div lang="x-none" style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
$rbss.Enable()</div>
<div lang="x-none" style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
$rbss.SetActiveProviderName($rbss.GetProviderNames()[0]) #make sure is only one provider </div>
<div lang="x-none" style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
$rbss</div>
<div lang="x-none" style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
<br /></div>
<div lang="x-none" style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
<br /></div>
<br />
<div lang="x-none" style="font-family: Calibri; font-size: 11.0pt; margin: 0in;">
8.upload
file and check on RBS folder</div>
nsphttp://www.blogger.com/profile/05129467294075533854noreply@blogger.com0tag:blogger.com,1999:blog-5630361457638146769.post-78939055229409683722016-07-25T03:03:00.003-07:002016-07-25T03:03:49.511-07:00Power Shell convert from excel to csv $excelFile = "D:\Test\excelfile\file.xlsx"<br />
$E = New-Object -ComObject Excel.Application<br />
$E.Visible = $false<br />
$E.DisplayAlerts = $false<br />
<br />
$wb = $E.Workbooks.Open($excelFile)<br />
foreach ($ws in $wb.Worksheets)<br />
{<br />
$n = $excelFileName + "_" + $ws.Name<br />
}<br />
<br />
<br />
Function ExportWSToCSV ($excelFileName, $csvLoc)<br />
{<br />
$excelFile = "D:\Test\excelfile\" + $excelFileName + ".xlsx"<br />
$E = New-Object -ComObject Excel.Application<br />
$E.Visible = $false<br />
$E.DisplayAlerts = $false<br />
$wb = $E.Workbooks.Open($excelFile)<br />
foreach ($ws in $wb.Worksheets)<br />
{<br />
$n = $excelFileName + "_" + $ws.Name<br />
$ws.SaveAs($csvLoc + $n + ".csv", 6)<br />
}<br />
$E.Quit()<br />
}<br />
ExportWSToCSV -excelFileName "file" -csvLoc "D:\Test\csv file\"<br />
<br />
stop-process -processname EXCEL<br />
<br />
$ens = Get-ChildItem "D:\Test\excelfile\" -filter *.xlsx<br />
foreach($e in $ens)<br />
{<br />
ExportWSToCSV -excelFileName $e.BaseName -csvLoc "D:\Test\csv file\"<br />
}<br />
<br />nsphttp://www.blogger.com/profile/05129467294075533854noreply@blogger.com0tag:blogger.com,1999:blog-5630361457638146769.post-89868016911230804922016-07-19T02:30:00.000-07:002016-07-19T02:30:03.680-07:00powershell send sharepoint site report to email<br />
$enddate = (Get-Date).tostring("yyyyMMdd")<br />
$filename = 'D:\report\' + $enddate + '_staffdocs.xml'<br />
stsadm.exe -o enumsites -url https://abc.com > "$filename"<br />
<br />
$From = "mysite_report@abc.com"<br />
$To = "ng_sin_peow@abc.com"<br />
$Cc = "YourBoss@abc.com"<br />
$Attachment = "$filename"<br />
$Subject = "My Site Report (One Drive) "<br />
$Body = "Report for my site , please open with excel"<br />
$SMTPServer = "smtp.abc.com"<br />
$SMTPPort = "25"<br />
Send-MailMessage -From $From -to $To -Subject $Subject -Body $Body -SmtpServer $SMTPServer -port $SMTPPort -Attachments $Attachmentnsphttp://www.blogger.com/profile/05129467294075533854noreply@blogger.com2tag:blogger.com,1999:blog-5630361457638146769.post-33722283368385655882016-06-26T23:29:00.000-07:002016-06-26T23:29:48.378-07:00 SharePoint Production farm shut down and boot up sequence <div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<u>Shut down SharePoint server by
following sequence <o:p></o:p></u></div>
<div class="MsoListParagraphCxSpFirst" style="mso-list: l1 level1 lfo1; tab-stops: 66.75pt; text-indent: -18.0pt;">
<!--[if !supportLists]-->1.<span style="font-size: 7pt; font-stretch: normal;"> </span><!--[endif]-->Web
front end server ( Can shut down all web front end server at the same time )<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l1 level1 lfo1; tab-stops: 66.75pt; text-indent: -18.0pt;">
<!--[if !supportLists]-->2.<span style="font-size: 7pt; font-stretch: normal;"> </span><!--[endif]-->Application
Server ( Can shut down all application server at the same time )<o:p></o:p></div>
<div class="MsoListParagraphCxSpLast" style="mso-list: l1 level1 lfo1; tab-stops: 66.75pt; text-indent: -18.0pt;">
<!--[if !supportLists]-->3.<span style="font-size: 7pt; font-stretch: normal;"> </span><!--[endif]-->Database
Server (Can shut down all database server at the same time )<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<u>Boot up SharePoint server by
following sequence <o:p></o:p></u></div>
<div class="MsoListParagraphCxSpFirst" style="mso-list: l0 level1 lfo2; tab-stops: 66.75pt; text-indent: -18.0pt;">
<!--[if !supportLists]-->1.<span style="font-size: 7pt; font-stretch: normal;"> </span><!--[endif]-->Database
Server (Can boot up all database server
at the same time)<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo2; tab-stops: 66.75pt; text-indent: -18.0pt;">
<!--[if !supportLists]-->2.<span style="font-size: 7pt; font-stretch: normal;"> </span><!--[endif]-->[
<span style="color: red;">Need to wait all DB server completely up </span>] Application
Server (Can boot up all application server at the same time)<o:p></o:p></div>
<div class="MsoListParagraphCxSpLast" style="mso-list: l0 level1 lfo2; tab-stops: 66.75pt; text-indent: -18.0pt;">
<!--[if !supportLists]-->3.<span style="font-size: 7pt; font-stretch: normal;"> </span><!--[endif]-->[
<span style="color: red;">Need to wait all Application server completely up </span>]
Web front end server ( Can boot up all web front end server at the same time ) <o:p></o:p></div>
<br />
<div class="MsoNormal">
<br /></div>
nsphttp://www.blogger.com/profile/05129467294075533854noreply@blogger.com1