<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Blog de Philippe Vialatte &#187; Admin</title>
	<atom:link href="https://blog.developpez.com/philippe/pcategory/sharepoint/admin/feed" rel="self" type="application/rss+xml" />
	<link>https://blog.developpez.com/philippe</link>
	<description></description>
	<lastBuildDate>Fri, 03 Jan 2014 15:12:09 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.1.42</generator>
	<item>
		<title>Une référence de STSADM interactive en Silverlight</title>
		<link>https://blog.developpez.com/philippe/p7724/sharepoint/admin/une_reference_de_stsadm_interactive_en_s</link>
		<comments>https://blog.developpez.com/philippe/p7724/sharepoint/admin/une_reference_de_stsadm_interactive_en_s#comments</comments>
		<pubDate>Tue, 09 Jun 2009 07:00:00 +0000</pubDate>
		<dc:creator><![CDATA[Philippe Vialatte]]></dc:creator>
				<category><![CDATA[Admin]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Pour tous ceux qui se sont un jour gratté désespérément la tête en cherchant LA ligne de commande STSADM a utiliser pour faire juste ce qu&#8217;ils voulaient, Microsoft a sorti (récemment ?) une page montrant les différentes options de l&#8217;utilitaire, groupées par aires fonctionnelles. Joie suprême, plutôt que de juste proposer une nouvelle page avec un tableau statique, cette fois-ci, on a droit a une jolie interface en Silverlight et tout et tout&#8230; Et avec [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Pour tous ceux qui se sont un jour gratté désespérément la tête en cherchant <strong>LA </strong>ligne de commande STSADM a utiliser pour faire juste ce qu&rsquo;ils voulaient, Microsoft a sorti (récemment ?) une page montrant les différentes options de l&rsquo;utilitaire, groupées par aires fonctionnelles.</p>
<p><span id="more-117"></span></p>
<p>Joie suprême, plutôt que de juste proposer une nouvelle page avec un tableau statique, cette fois-ci, on a droit a une jolie interface en Silverlight et tout et tout&#8230;</p>
<p><a href="http://philippe.ftp-developpez.com/blog/UnerfrencedeSTSADMinteractiveenSilverlig_8CCE/tmp1.png"><img title="tmp1" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="256" alt="tmp1" src="http://philippe.ftp-developpez.com/blog/UnerfrencedeSTSADMinteractiveenSilverlig_8CCE/tmp1_thumb.png" width="456" border="0" /></a> </p>
<p>Et avec les filtres sur le service pack et la recherche super réactive <img src="https://blog.developpez.com/philippe/wp-includes/images/smilies/icon_wink.gif" alt=";)" class="wp-smiley" /></p>
<p><a href="http://philippe.ftp-developpez.com/blog/UnerfrencedeSTSADMinteractiveenSilverlig_8CCE/image.png"><img title="image" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="145" alt="image" src="http://philippe.ftp-developpez.com/blog/UnerfrencedeSTSADMinteractiveenSilverlig_8CCE/image_thumb.png" width="443" border="0" /></a> </p>
<p>à voir ici:</p>
<p><a title="http://technet.microsoft.com/en-us/office/sharepointserver/cc948709.aspx" href="http://technet.microsoft.com/en-us/office/sharepointserver/cc948709.aspx">http://technet.microsoft.com/en-us/office/sharepointserver/cc948709.aspx</a></p>
<p>Et en passant, la référence sous forme de table <strike>moche</strike> classique est ici (et en français, SVP) :</p>
<p><a title="http://technet.microsoft.com/fr-fr/library/cc263384.aspx" href="http://technet.microsoft.com/fr-fr/library/cc263384.aspx">http://technet.microsoft.com/fr-fr/library/cc263384.aspx</a></p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[info ou intox ?] [Sharepoint] Sharepoint designer Gratuit le 1er avril ?</title>
		<link>https://blog.developpez.com/philippe/p7410/sharepoint/info_ou_intox_sharepoint_sharepoint_desi</link>
		<comments>https://blog.developpez.com/philippe/p7410/sharepoint/info_ou_intox_sharepoint_sharepoint_desi#comments</comments>
		<pubDate>Thu, 26 Mar 2009 16:05:00 +0000</pubDate>
		<dc:creator><![CDATA[Philippe Vialatte]]></dc:creator>
				<category><![CDATA[Admin]]></category>
		<category><![CDATA[SharePoint]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[J&#8217;avais vu passer la rumeur a un moment, mais jusqu&#8217;a il y&#8217;a peu, je n&#8217;y croyais pas trop, malgré la relative fiabilité des sources (quelle idée dans le choix de la date aussi&#8230;), mais il semblerait qu&#8217;a partir du premier Avril 2009, Sharepoint Designer 2007 serait gratuit. Les licences déjà achetées pouvant être ultérieurement converties en licences pour Expression Niveau sources, voir ici: http://weblogs.asp.net/bsimser/archive/2009/03/13/sharepoint-designer-free-as-in-beer.aspx http://edonoffice.blogspot.com/2009/03/sharepoint-designer-will-be-free.html Ce qui m&#8217;a le plus convaincu étant ce post: http://www.sadev.co.za/node/346 [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>J&rsquo;avais vu passer la rumeur a un moment, mais jusqu&rsquo;a il y&rsquo;a peu, je n&rsquo;y croyais pas trop, malgré la relative fiabilité des sources (quelle idée dans le choix de la date aussi&#8230;), mais il semblerait qu&rsquo;a partir du premier Avril 2009, Sharepoint Designer 2007 serait gratuit.</p>
<p>Les licences déjà achetées pouvant être ultérieurement converties en licences pour Expression</p>
<p>Niveau sources, voir ici:</p>
<p><a title="http://weblogs.asp.net/bsimser/archive/2009/03/13/sharepoint-designer-free-as-in-beer.aspx" href="http://weblogs.asp.net/bsimser/archive/2009/03/13/sharepoint-designer-free-as-in-beer.aspx">http://weblogs.asp.net/bsimser/archive/2009/03/13/sharepoint-designer-free-as-in-beer.aspx</a></p>
<p><a title="http://edonoffice.blogspot.com/2009/03/sharepoint-designer-will-be-free.html" href="http://edonoffice.blogspot.com/2009/03/sharepoint-designer-will-be-free.html">http://edonoffice.blogspot.com/2009/03/sharepoint-designer-will-be-free.html</a></p>
<p>Ce qui m&rsquo;a le plus convaincu étant ce post:</p>
<p><a title="http://www.sadev.co.za/node/346" href="http://www.sadev.co.za/node/346">http://www.sadev.co.za/node/346</a></p>
<p>&#8230;et surtout sa version d&rsquo;avant le &laquo;&nbsp;désolé, je me suis fait taper sur les doigts&nbsp;&raquo;, dont on voit encore un bout sur le blog :</p>
<p>&laquo;&nbsp;<em>Microsoft will offer SharePoint Designer 2007 free of charge, as a download, starting April 1, 2009. This change is being made in order to help customers get the most value out of their investments in SharePoint products and technologies.  Microsoft will remove SharePoint Designer 2007 from the April 2009 Volume Licensing price list. </em>&laquo;&nbsp;</p>
<p>Plus qu&rsquo;a attendre le premier Avril</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Sharepoint] mise a jour des droits des utilisateurs sur n sites</title>
		<link>https://blog.developpez.com/philippe/p7212/net/sharepoint_mise_a_jour_des_droits_des_ut</link>
		<comments>https://blog.developpez.com/philippe/p7212/net/sharepoint_mise_a_jour_des_droits_des_ut#comments</comments>
		<pubDate>Wed, 11 Feb 2009 12:41:00 +0000</pubDate>
		<dc:creator><![CDATA[Philippe Vialatte]]></dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[Admin]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[SharePoint]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Mon petit problème de la semaine en SharePoint a été le suivant&#8230; A 9h du matin, le lundi, un ensemble d&#8217;utilisateurs a&#8230;change de groupe AD&#8230; Attention, leur groupe AD n&#8217;a pas été renommé, mais pour des raisons d&#8217;organisation, ces utilisateurs ont été bougés d&#8217;un groupe AD a l&#8217;autre. Or, ce groupe AD avait la responsabilité d&#8217;administrer n sites Sharepoint&#8230;joie Ma mission, que je n&#8217;avais pas d&#8217;autre choix que d&#8217;accepter, a donc été de supprimer le [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Mon petit problème de la semaine en SharePoint a été le suivant&#8230;</p>
<p>A 9h du matin, le lundi, un ensemble d&rsquo;utilisateurs a&#8230;change de groupe AD&#8230;</p>
<p>Attention, leur groupe AD n&rsquo;a pas été renommé, mais pour des raisons d&rsquo;organisation, ces utilisateurs ont été bougés d&rsquo;un groupe AD a l&rsquo;autre. Or, ce groupe AD avait la responsabilité d&rsquo;administrer n sites Sharepoint&#8230;joie</p>
<p>Ma mission, que je n&rsquo;avais pas d&rsquo;autre choix que d&rsquo;accepter, a donc été de supprimer le groupe précédent du groupe défini comme owner des sites, et de le remplacer par un autre groupe&#8230;sur une cinquantaine de sites&#8230;</p>
<p><span id="more-38"></span></p>
<p>Ma matinée de Lundi a donc été consacrée a gribouiller ce petit script, si cela peut aider quelqu&rsquo;un, un jour <img src="https://blog.developpez.com/philippe/wp-includes/images/smilies/icon_wink.gif" alt=";)" class="wp-smiley" /></p>
<p>L&rsquo;idée est la suivante, dans un premier temps, on ouvre le Web correspondant au Site principal (et avec un using, SVP&#8230;), et on cherche le SPUser correspondant au groupe (que l&rsquo;on passe par ligne de commande, réusabilité oblige&#8230;)</p>
<div style="border-right: #000000 1px solid; border-top: #000000 1px solid; margin-left: 10pt; border-left: #000000 1px solid; margin-right: 2pt; border-bottom: #000000 1px solid">
<div style="overflow: scroll; white-space: nowrap; background-color: #dcdcdc"><font face=" Consolas"><font size="2"><span style="background-color: #dcdcdc">  </span><font color="#000096">using</font><font color="#000000"> (</font><font color="#0080c0">SPWeb</font><font color="#000000"> </font><font color="#0080c0">parentWeb</font><font color="#000000"> </font><font color="#000096">=</font><font color="#000000"> </font><font color="#000096">new</font><font color="#000000"> </font><font color="#0080c0">SPSite</font><font color="#000000">(</font><font color="#0080c0">args</font><font color="#000000">[</font><font color="#ff0000">0</font><font color="#000000">])</font><font color="#000096">.</font><font color="#0080c0">OpenWeb</font><font color="#000000">()) {            </p>
<p>  </font><font color="#000000"></font><font color="#0080c0">SPUser</font><font color="#000000"> </font><font color="#0080c0">userToRemove</font><font color="#000000"> </font><font color="#000096">=</font><font color="#000000"> </font><font color="#0080c0">FindUserFromLogin</font><font color="#000000">(</font><font color="#0080c0">args</font><font color="#000000">[</font><font color="#ff0000">1</font><font color="#000000">], </font><font color="#0080c0">parentWeb</font><font color="#000000">);            <br />   </font><font color="#0080c0">SPUser</font><font color="#000000"> </font><font color="#0080c0">userToAdd</font><font color="#000000"> </font><font color="#000096">=</font><font color="#000000"> </font><font color="#0080c0">FindUserFromLogin</font><font color="#000000">(</font><font color="#0080c0">args</font><font color="#000000">[</font><font color="#ff0000">2</font><font color="#000000">], </font><font color="#0080c0">parentWeb</font><font color="#000000">);            <br /></font></font></font></div>
</p></div>
<p>Le FindUserFromLogin est une petite routine maison, pour retrouver un SPUser depuis un login&#8230;ca coute pas cher</p>
<div style="border-right: #000000 1px solid; border-top: #000000 1px solid; margin-left: 10pt; border-left: #000000 1px solid; margin-right: 2pt; border-bottom: #000000 1px solid">
<div style="overflow: scroll; white-space: nowrap; background-color: #dcdcdc"><font face=" Consolas"><font size="2"></font><font color="#000096"><span style="background-color: #dcdcdc">private</span><font color="#000000"> </font><font color="#000096">static</font><font color="#000000"> </font><font color="#0080c0">SPUser</font><font color="#000000"> </font><font color="#0080c0">FindUserFromLogin</font><font color="#000000">(</font><font color="#000096">string</font><font color="#000000"> </font><font color="#0080c0">userLogin</font><font color="#000000">, </font><font color="#0080c0">SPWeb</font><font color="#000000"> </font><font color="#0080c0">web</font><font color="#000000">) {            </p>
<p>   </font><font color="#000096">foreach</font><font color="#000000"> (</font><font color="#0080c0">SPUser</font><font color="#000000"> </font><font color="#0080c0">user</font><font color="#000000"> </font><font color="#000096">in</font><font color="#000000"> </font><font color="#0080c0">web</font><font color="#000096">.</font><font color="#0080c0">SiteUsers</font><font color="#000000">) {            </p>
<p>      </font><font color="#000096">if</font><font color="#000000"> (</font><font color="#0080c0">user</font><font color="#000096">.</font><font color="#0080c0">LoginName</font><font color="#000096">.</font><font color="#0080c0">Equals</font><font color="#000000">(</font><font color="#0080c0">userLogin</font><font color="#000000">, </font><font color="#800000">StringComparison</font><font color="#000096">.</font><font color="#0080c0">InvariantCultureIgnoreCase</font><font color="#000000">)) {            <br />         </font><font color="#000096">return</font><font color="#000000"> </font><font color="#0080c0">user</font><font color="#000000">;            <br />      }             <br />   }             <br /></font><font color="#000096">   return</font><font color="#000000"> </font><font color="#000096">null</font><font color="#000000">;            <br />}</font></font></font> </div>
</p></div>
<p>Et après, pour chaque web dans le site, on va chercher le groupe des propriétaires du site, que l&rsquo;on trouvera dans la propriété vti_associateownergroup</p>
</p>
<div style="border-right: #000000 1px solid; border-top: #000000 1px solid; margin-left: 10pt; border-left: #000000 1px solid; margin-right: 2pt; border-bottom: #000000 1px solid">
<div style="overflow: scroll; white-space: nowrap; background-color: #dcdcdc"><font face=" Consolas"><font size="2"></font><font color="#000096"><span style="background-color: #dcdcdc">foreach</span><font color="#000000"> (</font><font color="#0080c0">SPWeb</font><font color="#000000"> </font><font color="#0080c0">web</font><font color="#000000"> </font><font color="#000096">in</font><font color="#000000"> </font><font color="#0080c0">parentWeb</font><font color="#000096">.</font><font color="#0080c0">Webs</font><font color="#000000">) {            <br /></font><font color="#000000">           <br />    </font><font color="#000096">int</font><font color="#000000"> </font><font color="#0080c0">groupId</font><font color="#000000">;            </p>
<p>    </font><font color="#000096">if</font><font color="#000000"> (</font><font color="#000096">int.</font><font color="#0080c0">TryParse</font><font color="#000000">(</font><font color="#0080c0">web</font><font color="#000096">.</font><font color="#0080c0">Properties</font><font color="#000000">[</font><font color="#0000ff">&laquo;&nbsp;vti_associateownergroup&nbsp;&raquo;</font><font color="#000000">], </font><font color="#000096">out</font><font color="#000000"> </font><font color="#0080c0">groupId</font><font color="#000000">)) {            <br /></font></font></font> </div>
</p></div>
<p>On notera le TryParse (on sait jamais <img src="https://blog.developpez.com/philippe/wp-includes/images/smilies/icon_wink.gif" alt=";)" class="wp-smiley" /> )</p>
<p>Une fois qu&rsquo;on a le groupe, on regarde si l&rsquo;utilisateur à supprimer existe :</p>
<div style="border-right: #000000 1px solid; border-top: #000000 1px solid; margin-left: 10pt; border-left: #000000 1px solid; margin-right: 2pt; border-bottom: #000000 1px solid">
<div style="overflow: scroll; white-space: nowrap; background-color: #dcdcdc"><font face=" Consolas"><font size="2"></font><font color="#0080c0"><span style="background-color: #dcdcdc">SPUser</span><font color="#000000"> </font><font color="#0080c0">test</font><font color="#000000"> </font><font color="#000096">=</font><font color="#000000"> </font><font color="#000096">null</font><font color="#000000">;            </p>
<p></font><font color="#000096">try</font><font color="#000000"> {            <br />    </font><font color="#0080c0">test</font><font color="#000000"> </font><font color="#000096">=</font><font color="#000000"> </font><font color="#0080c0">group</font><font color="#000096">.</font><font color="#0080c0">Users</font><font color="#000096">.</font><font color="#0080c0">GetByID</font><font color="#000000">(</font><font color="#0080c0">userToRemove</font><font color="#000096">.</font><font color="#0080c0">ID</font><font color="#000000">);            <br />} </font><font color="#000096">catch</font><font color="#000000"> {            <br />    </font><font color="#800000">Console</font><font color="#000096">.</font><font color="#0080c0">WriteLine</font><font color="#000000">(</font><font color="#0000ff">&laquo;&nbsp;user : &laquo;&nbsp;</font><font color="#000000"> </font><font color="#000096">+</font><font color="#000000"> </font><font color="#0080c0">userToRemove</font><font color="#000096">.</font><font color="#0080c0">Name            <br /></font><font color="#000000">        </font><font color="#000096">+</font><font color="#000000"> </font><font color="#0000ff">&nbsp;&raquo; was not found in web :&nbsp;&raquo;</font><font color="#000000"> </font><font color="#000096">+</font><font color="#000000"> </font><font color="#0080c0">web</font><font color="#000096">.</font><font color="#0080c0">Name</font><font color="#000000">);            <br />}</font></font></font> </div>
</p></div>
</p>
<p>Berkk&#8230;pas trouvé de méthode plus propre, en dehors d&rsquo;itérer sur tous les utilisateurs, ce qui ne me plaisait pas non plus&#8230;</p>
<p>Et enfin, il n&rsquo;y a plus qu&rsquo;à ajouter le nouvel utilisateur, à enlever le vieux, et à mettre le groupe a jour.</p>
<div style="border-right: #000000 1px solid; border-top: #000000 1px solid; margin-left: 10pt; border-left: #000000 1px solid; margin-right: 2pt; border-bottom: #000000 1px solid">
<div style="overflow: scroll; white-space: nowrap; background-color: #dcdcdc"><font face=" Consolas"><font size="2"></font><font color="#000096"><span style="background-color: #dcdcdc">if</span><font color="#000000"> (</font><font color="#0080c0">test</font><font color="#000000"> </font><font color="#000096">!=</font><font color="#000000"> </font><font color="#000096">null</font><font color="#000000">) {            </p>
<p>    </font><font color="#800000">Console</font><font color="#000096">.</font><font color="#0080c0">WriteLine</font><font color="#000000">(</font><font color="#0000ff">&laquo;&nbsp;Adding user&nbsp;&raquo;</font><font color="#000000">);            <br />    </font><font color="#000096">if</font><font color="#000000"> (</font><font color="#0080c0">userToAdd</font><font color="#000000"> </font><font color="#000096">!=</font><font color="#000000"> </font><font color="#000096">null</font><font color="#000000">) {            <br />        </font><font color="#0080c0">group</font><font color="#000096">.</font><font color="#0080c0">AddUser</font><font color="#000000">(</font><font color="#0080c0">userToAdd</font><font color="#000000">);            <br />    } </font><font color="#000096">else</font><font color="#000000"> {            <br />        </font><font color="#0080c0">group</font><font color="#000096">.</font><font color="#0080c0">AddUser</font><font color="#000000">(</font><font color="#0080c0">args</font><font color="#000000">[</font><font color="#ff0000">2</font><font color="#000000">], </font><font color="#0000ff">&laquo;&nbsp;&nbsp;&raquo;</font><font color="#000000">, </font><font color="#0000ff">&laquo;&nbsp;&nbsp;&raquo;</font><font color="#000000">, </font><font color="#0000ff">&laquo;&nbsp;&nbsp;&raquo;</font><font color="#000000">);            <br />    }             </p>
<p>    </font><font color="#800000">Console</font><font color="#000096">.</font><font color="#0080c0">WriteLine</font><font color="#000000">(</font><font color="#0000ff">&laquo;&nbsp;Removing user&nbsp;&raquo;</font><font color="#000000">);            <br />    </font><font color="#0080c0">group</font><font color="#000096">.</font><font color="#0080c0">RemoveUser</font><font color="#000000">(</font><font color="#0080c0">userToRemove</font><font color="#000000">);            <br />    </font><font color="#0080c0">group</font><font color="#000096">.</font><font color="#0080c0">Update</font><font color="#000000">();            <br />    </font><font color="#800000">Console</font><font color="#000096">.</font><font color="#0080c0">WriteLine</font><font color="#000000">(</font><font color="#0000ff">&laquo;&nbsp;user : &laquo;&nbsp;</font><font color="#000000"> </font><font color="#000096">+</font><font color="#000000"> </font><font color="#0080c0">userToRemove</font><font color="#000096">.</font><font color="#0080c0">Name            <br /></font><font color="#000000">        </font><font color="#000096">+</font><font color="#000000"> </font><font color="#0000ff">&nbsp;&raquo; was replaced by user : &laquo;&nbsp;</font><font color="#000000"> </font><font color="#000096">+</font><font color="#000000"> </font><font color="#0080c0">userToAdd</font><font color="#000096">.</font><font color="#0080c0">Name</font><font color="#000000"> </font><font color="#000096">+</font><font color="#000000"> </font><font color="#0000ff">&nbsp;&raquo;  in web :&nbsp;&raquo;</font><font color="#000000"> </font><font color="#000096">+</font><font color="#000000"> </font><font color="#0080c0">web</font><font color="#000096">.</font><font color="#0080c0">Name</font><font color="#000000">);            <br />}</font></font></font> </div>
</p></div>
<p>comme quoi, le bonheur, c&rsquo;est simple comme un coup d&rsquo;API <img src="https://blog.developpez.com/philippe/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley" /></p>
<p>Si il y&rsquo;avait une meilleure solution (oui, je sais, on aurait du avoir un groupe d&rsquo;administration décorrélé de l&rsquo;active directory&#8230;), n&rsquo;hésitez pas a m&rsquo;en faire part, j&rsquo;aime bien avoir tort, ca permets de progresser <img src="https://blog.developpez.com/philippe/wp-includes/images/smilies/icon_wink.gif" alt=";)" class="wp-smiley" /></p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
