新足迹

 找回密码
 注册

精华好帖回顾

· 粽子糖 (2005-2-3) chris2002 · 色与味的终极挑战:翡翠水晶虾饺 (2012-11-15) 河水洋洋
· 粤菜系列(11):糯米鸡 (2009-8-7) shangpin · 电影版《Sex and the City》-- 女人至上 (2008-6-16) 月亮
Advertisement
Advertisement
查看: 1648|回复: 26

SharePoint达人们速来~~~~俺又有疑难求助 [复制链接]

发表于 2011-10-4 18:48 |显示全部楼层
此文章由 混不到坑的萝卜 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 混不到坑的萝卜 所有!转贴必须注明作者、出处和本声明,并保持内容完整
客户用SharePoint 2010,现在发现People search、MySite里面的user profile和AD的user profile相同,但各个site collection的people & group仍然显示旧的user profile。

我理解是User Profile Synchronization虽然成功地更新了SharePoint Server的User Profile DB,但Site Collection的User Information List里面的(WSS User Profile)数据没有更新。

1. 在问题server上,用stsadm -o Sync -listolddatabases 30 发现有三个site collection本月没有更新
2. 用stsadm -o Sync -deleteolddatabases 30之后,又分别做了3,4这些操作
3. stsadm -o Sync -synctiming M:5
4. stsadm -o Sync -sweeptiming M:5
5. 等到sync完了以后再检查,问题仍然存在。

高手们、达人们,你们是怎么解决这样的问题的?

SharePoint怎么这么傻的,非得弄两个user profile repositories出来?靠!

[ 本帖最后由 混不到坑的萝卜 于 2011-11-15 22:52 编辑 ]
Advertisement
Advertisement

发表于 2011-10-4 18:56 |显示全部楼层
此文章由 混不到坑的萝卜 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 混不到坑的萝卜 所有!转贴必须注明作者、出处和本声明,并保持内容完整
看到这么一个方案,但我觉得很不理想,太手工了:
On some occasions I have seen this problem where a user would not get copied from SSP to the user information list at the top level site collection, or where the user would be there but not all information would be synchronized such as picture, department, manager and phone.  For most users this might not be a problem since the SSP will display that information.  

This is not the case for me though.  I use the Useful SharePoint Designer Workflow Activities from CodePlex to pull some of this user information.  The 'lookup user information' activity gets information from the user information list, so it is important that the information be synchronized.  I have found that if a profile is not there, or if a profile is out of sync then I can get it to populate/sync by adding that user with permissions to a site.  I typically use a test site or sandbox site for this.  Then I delete the user once the information has been synchronized.

This works when I need to update one person, but doing this for everyone in your organization might not be so good.  You might be able to automate that process though, and then let SharePoint do the synchronization.

I should add that I usually add the user with full control, as if they were going to the the owner of that sub-site.  I have not tested other permission levels to see if that matters.


还有这么一个工具,不过我还不太会用:
http://userprofilesync.codeplex.com/
在SharePoint 2010上,这里面这个-ssp的参数我应该提供什么啊?新手上路,问得比较幼稚要见怪不怪啊,

发表于 2011-10-4 20:09 |显示全部楼层
此文章由 coin_king 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 coin_king 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 混不到坑的萝卜 于 2011-10-4 18:56 发表
看到这么一个方案,但我觉得很不理想,太手工了:
On some occasions I have seen this problem where a user would not get copied from SSP to the user information list at the top level site collection, or where t ...

SSP 是sharePoint service provider,那是2007的东西。User profile 应该只在一个user database里。sitecollection 下不会有单独的user profile database.他们是不是从2007 upgrade 到2010的啊?

发表于 2011-10-4 20:18 |显示全部楼层
此文章由 coin_king 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 coin_king 所有!转贴必须注明作者、出处和本声明,并保持内容完整
"但各个site collection的people & group仍然显示旧的user profile。", 这个你是指什么?你确定他们市在一个farm里?
头像被屏蔽

禁止发言

发表于 2011-10-4 20:25 |显示全部楼层
此文章由 future2521 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 future2521 所有!转贴必须注明作者、出处和本声明,并保持内容完整
从来就没搞明白过Sharepoint是干啥的。

发表于 2011-10-4 20:33 |显示全部楼层
此文章由 混不到坑的萝卜 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 混不到坑的萝卜 所有!转贴必须注明作者、出处和本声明,并保持内容完整
SSP 是sharePoint service provider,那是2007的东西。User profile 应该只在一个user database里。sitecollection 下不会有单独的user profile database.他们是不是从2007 upgrade 到2010的啊?

是从2007升级过来的。

原帖由 liedong 于 2011-10-4 19:18 发表
"但各个site collection的people & group仍然显示旧的user profile。", 这个你是指什么?你确定他们市在一个farm里?

比如说,我在top site里面做people search,结果显示出来Alan的department是IT Services,但我在另一个site collection里面,比如说/Sites/ItServices里面有一个list,其中一个column是people,在edit这个List的一个item的时候,从那个people picker里面找到Alan,但是看到的department却是HR。如果去任何一个site collection的site settings去manage people and group,里面找到的Alan也都是department=HR的。可AD明明改过了,AD里面department=IT Services。

具体情况类似于这个帖子:
http://blogs.microsoft.nl/blogs/ ... -in-sharepoint.aspx

[ 本帖最后由 混不到坑的萝卜 于 2011-10-4 19:35 编辑 ]
Advertisement
Advertisement

发表于 2011-10-4 21:05 |显示全部楼层
此文章由 coin_king 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 coin_king 所有!转贴必须注明作者、出处和本声明,并保持内容完整
stsadm -o Sync 这些command 都是2007的。 2010 只要run user profile service sync in the central admin就可以了,我估计市user profile service 的问题

发表于 2011-10-4 21:19 |显示全部楼层
此文章由 mxgong 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 mxgong 所有!转贴必须注明作者、出处和本声明,并保持内容完整
俺也是才接触SHAREPOINT。

不过我常去这个地方问问题。非常好。。

http://www.experts-exchange.com/

发表于 2011-10-4 21:20 |显示全部楼层
此文章由 混不到坑的萝卜 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 混不到坑的萝卜 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 liedong 于 2011-10-4 20:05 发表
stsadm -o Sync 这些command 都是2007的。 2010 只要run user profile service sync in the central admin就可以了,我估计市user profile service 的问题

东哥,好像不是这么回事啊……等我找到那个微软的文章……

发表于 2011-10-4 21:29 |显示全部楼层
此文章由 混不到坑的萝卜 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 混不到坑的萝卜 所有!转贴必须注明作者、出处和本声明,并保持内容完整
一时找不到那篇文章了。

大意就是说如果在配置SharePoint的时候,首先配置了WSS的user profile,结果呢,就是在每个site collection有一个隐藏的list叫做User Information List。这个list是存储着WSS的User Profile。再装上MOSS的时候,微软贱不兮兮地又弄出一个User Profile DB,这个是在SQL Server单独一个database里。

所以会出现你配置User Profile Synchronization后,AD和MOSS的User Profile DB是Sync的,但是和WSS的User Profile就不一定匹配了。

在一个list里面如果用到Created By, Modified By或者User's Department, User's Email这些lookup column,SharePoint就会去WSS的User Profile也就是那个隐藏的User Information List里面去找。但用到大多数其他的column的时候,是去MOSS的User Profile DB里面找。

再比如,MySite和People search是用到MOSS的User Profile DB。但WSS的Prople and Group是从WSS自己的Profile找的。

[ 本帖最后由 混不到坑的萝卜 于 2011-10-4 20:33 编辑 ]

发表于 2011-10-4 21:37 |显示全部楼层
此文章由 coin_king 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 coin_king 所有!转贴必须注明作者、出处和本声明,并保持内容完整
对啊, 但那都是sharepoint 2007的东西,2010 里没有 stsadm -o Sync command 了。
Advertisement
Advertisement

发表于 2011-10-4 21:40 |显示全部楼层
此文章由 混不到坑的萝卜 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 混不到坑的萝卜 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 liedong 于 2011-10-4 20:37 发表
对啊, 但那都是sharepoint 2007的东西,2010 里没有 stsadm -o Sync command 了。

还是有的啊……

发表于 2011-10-5 09:13 |显示全部楼层

东哥,那篇关于SP2010 user profile management的文章

此文章由 混不到坑的萝卜 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 混不到坑的萝卜 所有!转贴必须注明作者、出处和本声明,并保持内容完整

发表于 2011-10-5 10:25 |显示全部楼层
此文章由 coin_king 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 coin_king 所有!转贴必须注明作者、出处和本声明,并保持内容完整
谢谢那个LINK. USER INFO TABLE 还在, 但那些都应该由USER PROFILE SERVICE 来控制了。你试着RUN 一下 Start Profile Synchronization
搞笑的是那个WHITE PAPER 是说2010,但那些图还是2007的。

发表于 2011-10-5 11:30 |显示全部楼层
此文章由 coin_king 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 coin_king 所有!转贴必须注明作者、出处和本声明,并保持内容完整
当你SHAREPOINT做多了,你就喜欢CLIENT SIDE CODE了。SHAREPOINT 的DEPLOYMENT 简直是噩梦,特别是要UPGRADE的时候
我是尽量用OUT OF BOX 的FUNCTION.

发表于 2011-11-15 15:51 |显示全部楼层
此文章由 coin_king 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 coin_king 所有!转贴必须注明作者、出处和本声明,并保持内容完整
对了,萝卜。这个问题你解决了嘛?
Advertisement
Advertisement

发表于 2011-11-15 18:57 |显示全部楼层
此文章由 混不到坑的萝卜 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 混不到坑的萝卜 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 liedong 于 2011-11-15 14:51 发表
对了,萝卜。这个问题你解决了嘛?

解决了。先把wss的user info删掉,再跑user profile full synchronization.
结果又出惊喜,时不时又出现类似状况,再去检查又发现很郁闷,客户傻傻地把Owstimer给停了。每次我启动这个服务,人家弄了个每晚一点运行的脚本给我停掉。。。

[ 本帖最后由 混不到坑的萝卜 于 2011-11-15 18:01 编辑 ]
莫装B,装B被雷劈

发表于 2011-11-15 19:50 |显示全部楼层
此文章由 coin_king 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 coin_king 所有!转贴必须注明作者、出处和本声明,并保持内容完整
那你是删掉所有的data in userinfo还是那些有问题的?

发表于 2011-11-15 20:28 |显示全部楼层
此文章由 混不到坑的萝卜 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 混不到坑的萝卜 所有!转贴必须注明作者、出处和本声明,并保持内容完整
只删了有问题的那些。剩下的让User profile Sync去解决吧

发表于 2011-11-15 20:31 |显示全部楼层
此文章由 coin_king 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 coin_king 所有!转贴必须注明作者、出处和本声明,并保持内容完整
我现在也是manul的update 那些老的users。

发表于 2011-11-15 23:50 |显示全部楼层
此文章由 混不到坑的萝卜 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 混不到坑的萝卜 所有!转贴必须注明作者、出处和本声明,并保持内容完整
Liedong以及各位达人:
SharePoint 2007环境下,Search用FullTextSqlQuery实现的web part有时不能够返回某些特定的内容。

比如这个AGL网站的例子:
http://www.agl.com.au/about/ASXandMedia/Pages/ArchiveMonth00.aspx
在November 2011的下面,应该有至少2条media release,但是目前这个用Search query的web part只显示了一条。

但如果你在上面的搜索条里输入Hallett,就会发现11月2日还有一条新闻:
AGL takes action on noise issue at Hallett 2 wind farm

这条新闻在没经过搜索的情况下是显示不出来,但它应该不需要搜索就显示出来。

我现在怀疑search的fulltextsqlquery里面时间的处理上不正确。

这个search query的逻辑大概是:
没有search的情况下是:
select Title, Description, ReleaseDate, Rank, Filename from portal..scope() where "Scope" = 'Media Releases'  and ("ReleaseDate" >= '2011-11-01 00:00:00') AND ("ReleaseDate" <= '2011-11-30 23:59:59')order by "ReleaseDate" desc

有search的情况下是:
select Title, Description, ReleaseDate, Rank, Filename from portal..scope() where "Scope" = 'Media Releases' and freetext('Hallett')  and ("ReleaseDate" >= '2011-11-01 00:00:00') AND ("ReleaseDate" <= '2011-11-30 23:59:59')order by Rank desc

现在我怀疑这个AGL的FullTextSqlQuery的构造有问题,但又看不出来哪里错了。

谁有用过这个FullTetSqlQuery的?
莫装B,装B被雷劈
Advertisement
Advertisement

发表于 2011-11-16 16:48 |显示全部楼层
此文章由 coin_king 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 coin_king 所有!转贴必须注明作者、出处和本声明,并保持内容完整
are you sure they used FullTetSqlQuery?

发表于 2011-11-16 19:09 |显示全部楼层
此文章由 混不到坑的萝卜 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 混不到坑的萝卜 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 liedong 于 2011-11-16 15:48 发表
are you sure they used FullTetSqlQuery?

100% sure. heck, this web part was developed by one of our former employees. i have the source code.
莫装B,装B被雷劈

发表于 2011-11-17 14:22 |显示全部楼层
此文章由 混不到坑的萝卜 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 混不到坑的萝卜 所有!转贴必须注明作者、出处和本声明,并保持内容完整
花了小半天时间,发现了一个让我瞠目结舌的结果:Query里面不支持<和<=,只能用>和>=。

发表于 2011-11-17 14:23 |显示全部楼层
此文章由 righttang 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 righttang 所有!转贴必须注明作者、出处和本声明,并保持内容完整
你是不是要设置一下stopword啊

发表于 2011-11-17 18:04 |显示全部楼层
此文章由 混不到坑的萝卜 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 混不到坑的萝卜 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 righttang 于 2011-11-17 13:23 发表
你是不是要设置一下stopword啊

???
还有这么一个设置?
莫装B,装B被雷劈
Advertisement
Advertisement

发表于 2011-11-17 22:22 |显示全部楼层

如下

此文章由 混不到坑的萝卜 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 混不到坑的萝卜 所有!转贴必须注明作者、出处和本声明,并保持内容完整
<Query xmlns='urn:Microsoft.Search'>                   <queryXml>&lt;QueryPacket xmlns='urn:Microsoft.Search.Query' Revision='1000'&gt;             &lt;Query domain='QDomain'&gt;              &lt;SupportedFormats&gt;&lt;Format&gt;urn:Microsoft.Search.Response.Document.Document&lt;/Format&gt;&lt;/SupportedFormats&gt;              &lt;Context&gt;               &lt;QueryText language='en-US' type='MSSQLFT' &gt; select Title, Path, Description, ReleaseDate, ReleaseType, Filename, Rank, Size, ContentType FROM portal..scope() WHERE ("Scope"='Media Release') and FREETEXT(DEFAULTPROPERTIES,'SharePoint')  and (ReleaseDate &gt;= '2011-10-31T13:00:00') and not (ReleaseDate &gt; '2011-11-30T13:00:00') &lt;/QueryText&gt;              &lt;/Context&gt;             &lt;SortByProperties&gt;&lt;SortByProperty name='Rank' direction='Descending' order='1'/&gt;&lt;/SortByProperties&gt;              &lt;Range&gt;&lt;StartAt&gt;1&lt;/StartAt&gt;&lt;Count&gt;15&lt;/Count&gt;&lt;/Range&gt;              &lt;EnableStemming&gt;false&lt;/EnableStemming&gt;              &lt;TrimDuplicates&gt;false&lt;/TrimDuplicates&gt;              &lt;IgnoreAllNoiseQuery&gt;true&lt;/IgnoreAllNoiseQuery&gt;              &lt;ImplicitAndBehavior&gt;true&lt;/ImplicitAndBehavior&gt;              &lt;IncludeRelevanceResults&gt;true&lt;/IncludeRelevanceResults&gt;              &lt;IncludeSpecialTermResults&gt;true&lt;/IncludeSpecialTermResults&gt;              &lt;IncludeHighConfidenceResults&gt;true&lt;/IncludeHighConfidenceResults&gt;             &lt;/Query&gt;&lt;/QueryPacket&gt;</queryXml>                 </Query>

在上面这个FullTextSqlQuery里面,重要的是红字的部分,注意其中两个起止日期的处理方法。这是唯一可以工作的写法。

如果你写成
(ReleaseDate &gt;= '2011-10-31T13:00:00') and (ReleaseDate &lt; '2011-11-30T13:00:00')
这个不工作

换成
(ReleaseDate &gt;= '2011-10-31T13:00:00')
这个可以

再换成
(ReleaseDate &lt;= '2011-10-31T13:00:00')
这个就不行

再换成
(ReleaseDate &lt; '2011-10-31T13:00:00')
这个也不行

可见只有>或者>=可以工作。

评分

参与人数 1积分 +3 收起 理由
coin_king + 3 谢谢奉献

查看全部评分

莫装B,装B被雷劈

发表回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Advertisement
Advertisement
返回顶部