Crawl Log Timer Jobs MIA (missing in action)

Posted by on Tuesday, April 23, 2013 in PowerShell, SharePoint 2010, Troubleshooting | 0 comments

<autocelebrazione>E’ con immenso piacere che scrivo questo primo post sul nuovo blog, sempre WordPress, ma “autogestito”. Il nuovo tema responsivo mi soddisfa molto dal punto di vista tecnico, un po’ meno da quello grafico… ho idea che i lavori non siano ancora finiti, so stay tuned ;) </autocelebrazione>

Giorni fa mi sono imbattuto in uno strano problema in ambito “Search”. Stavo indagando un errore del servizio di ricerca in una farm SharePoint 2010 quando, accedendo ai crawl log mi sono accorto che non era presente alcun log. Sapevo per certo che l’indicizzazione dei contenuti avveniva come me da pianificazione, ma di log neanche l’ombra.

Il popolamento dei crawl log e la loro manutenzione sono responsabilità di due timer job:

  • Crawl Log Cleanup for Search Application <Nome SSA>
  • Crawl Log Report for Search Application <Nome SSA>

Controllando la pagina delle Timer Job Definition, nella Central Administration, mi sono accordo che i due job era spariti. Come? Quando? Perché? Tutte queste domanda non hanno ancora risposta… Una possibilità, tenuta da parte come rimedio estremo, era quella di ricreare la Search Service Application, ma sinceramente mi sembrava troppo una soluzione troppo drastica.

Come molte altre volte ho trovato un valido aiuto nei forum Microsoft dedicati a SharePoint. Un utente con lo stesso mio problema si era scritto una consolle application e ne aveva postato il codice. Da qui alla “traduzione” in PowerShell il passo è stato breve (per accorgermi solo in seguito che un altro utente aveva già postato praticamente lo stesso script).

Questo è lo script che ho utilizzato:

L’utente che ha postato il codice originale metteva in guardia da comportamenti anomali del transaction log durante l’esecuzione di questo script. Sinceramente io non ho notato nulla di particolare, ma tenetelo comunque in considerazione, ha una sua logica questo avviso.

Ora vi lascio, Joe Carroll mi aspetta ;)

Read More

SharePoint 2013 Updates (CU, PU, COD)

Posted by on Wednesday, April 3, 2013 in SharePoint 2013, updates | 0 comments

Poco più di un paio di settimane fa sono stati rilasciati i primi aggiornamenti per SharePoint 2013 & Co. (Workflow Manager e Office Web Applications), il Public Update di Marzo 2013. Avete letto bene, questa volta parliamo di public update (PU) e non cumulative update (CU) come ormai ci eravamo abituati a conoscere questi aggiornamenti. In realtà non si tratta di un cambio nella naming convention da parte di Microsoft, ma una tipologia differente di update. In questo caso il PU di Marzo contiene anche i bit del CU precedente, a quanto pare mai reso pubblico (ehm, scusate il gioco di parole :)). Stefan Goßner ha pubblicato sul suo blog un interessantissimo articolo che spiega le differenze sulle diverse tipologie di update per SharePoint, ne consiglio la lettura http://blogs.technet.com/b/stefan_gossner/archive/2013/03/21/common-question-what-is-the-difference-between-a-pu-a-cu-and-a-cod.aspx. Una cosa importante da segnalare è che questo aggiornamento è un requisito per l'installazione di futuri update sulla farm e quindi, di fatto obbligatorio. Sempre dal blog di Stefan leggiamo infatti:
Important: Due to a change in the package configuration introduced after SharePoint 2013 RTM the March Public update is a mandatory requirement in order to install subsequent SharePoint 2013 Updates.
Parlando di aggiornamenti vi segnalo altri tre link da tenere in considerazione. Il primo riguarda la procedura consigliata da seguire per l'update di farm SharePoint 2013. Il secondo evidenzia la possibilità di incorrere in tempi di installazione molto lunghi per questa CU. Russ Maxwell condivide sul suo blog uno script PowerShell per evitare questo problema. L'ultimo link è relativo alla pagina di download del whitepaper Microsoft "Understanding Updates for SharePoint Products and Technologies white paper", direi che il titolo parla da solo :). Ecco i link: Non mi rimane che ricordare di procedere negli aggiornamenti con la consueta prudenza e di testare prima ogni update in ambienti di test/accettazione. Happy Patching :) - Riccardo Informazione di servizio: Sono in procinto di cambiare provider, se il blog non dovesse risultare raggiungibile per qualche giorno, porta pazienza. Se non combino guai in pochi giorni tornerà tutto come prima, e forse anche meglio :)
Read More

Provare SharePoint 2013

Posted by on Friday, March 15, 2013 in Office 365, SharePoint 2010, SharePoint 2013 | 0 comments

Mi fa impressione pensare al fatto che sia già passata una settimana dalla fine dell'edizione 2013 della SharePoint & Office Conference. Sarà perché dopo un periodo così inteso sono tornato al lavoro "ordinario" con una strana sensazione di stordimento del tipo "E adesso cosa succede?". Cooomunque... La mia impressione sulla conferenza è stata molto positiva, sono davvero molto soddisfatto sia come speaker che come partecipante. In questi tre giorni infatti, oltre che parlare di Powershell 3 e SharePoint 2013, New SharePoint 2013 Search Features e (ahimè) Workflow con SharePoint Designer 2013, ho avuto modo di seguire qualche sessione, purtroppo non tutte quelle che avrei voluto. Ho trovato notevoli quelle di Carmelo Ferrara (SharePoint: Capacity Planning and Performance Improvements), Spencer Harbar (Rational Guide to SharePoint Server 2013 User Profile Synchronization), Brian Alderman (Optimizing SQL Server for SharePoint) e Luca Bandinelli (SharePoint 2013 new Search Architecture). Ma veniamo al punto. Durante i coffee break più di un partecipante alla conferenza mi ha chiesto se fosse possibile "provare" SharePoint senza doverlo installare "in casa". Di seguito riporto un elenco, sicuramente non esaustivo, di alcuni servizi che offrono questa possibilità.
  • Office365 penso non abbia bisogno di presentazioni. E' possibile registrarsi per provare il "prodotto" gratuitamente per 30 giorni (Office365 Enterprise E3 Trial). L'ambiente  è configurato e funzionante in pochi minuti;
  • CloudShare è un servizio online che mette a disposizione una, o più, macchine virtuali SharePoint (2007, 2010 e 2013) già configurate. A questo indirizzo trovate l'elenco di tutte le VM che potrete scegliere (non solo SharePoint): http://www.cloudshare.com/products/proplus/availablemachines. Anche in questo caso c'è una trial gratuita di 14 giorni. Non ho mai provato questo servizio, al contrario di Office365 :);
  • SharePointPower.com è un servizio che mette a disposizione un tenant SharePoint 2013 (site collection "illimitate", massimo 1 GB di storage e 10 utenti, enterprise feature, 20 lingue disponibili) per studiare le funzionalità del prodotto. Sicuramente è una soluzione molto interessante, anche per il fatto che sembra essere totalmente gratuito. A questo indirizzo trovate qualche informazione aggiuntiva: http://thuansoldier.net/?p=2915. Come per il caso precedente non l'ho ancora provato personalmente;
  • 2010 Information Worker Demonstration and Evaluation Virtual Machine (SP1). Già da qualche anno Microsoft permette di scaricare una virtual machine (Hyper-V) di valutazione del prodotto. L'ambiente SharePoint, 2010 in questo caso, è già configurato, compreso Office Web Applications e FAST Search for SharePoint 2010. E' inoltre possibile scaricare dalla stessa pagina una serie di pacchetti contenenti dati di esempio per tutte le funzionalità da testare. In molte occasioni queste VMs mi sono tornate molto comode. Purtroppo non ho trovato e non sono a conoscenza dell'esistenza delle stesse macchine virtuali con SharePoint 2013. A differenza di tutti gli altri servizi queste VM richiedono dell'hardware su cui girare.
Enjoy your test :) - Riccardo
Read More

Workflow Manager setup issue

Posted by on Friday, February 1, 2013 in SharePoint 2013, Troubleshooting, Workflow | 2 comments

Considerando chiusa la partita di Siena in Eurolega ne approfitto per parlare di un problema che ho avuto nei giorni scorsi nel setup di Workflow Manager per SharePoint 2013. Come forse saprete SharePoint (Server) 2013 supporta una nuova infrastruttura di Workflow, molto più evoluta rispetto alle versioni precedenti. Per implementare questa infrastruttura è necessario installare un nuovo componente, Workflow Manager. Non voglio entrare ora nel dettaglio, magari ce ne sarà occasione più avanti, ma alla fine di questo post vi riporto le sessioni della prossima SharePoint & Office Conference su questo tema, dove potrete approfondire l'argomento a vostro piacimento. Tornando al mio setup, TechNet propone di eseguire l'installazione da Web Platform Installer, ma il link presente nell'articolo porta (ad oggi) ad una versione precedente (Beta 1) di Workflow Manager, ormai superata. Così, sempre dalla stessa piattaforma, ho eseguito la ricerca del prodotto che ho trovato rapidamente nella sua versione finale. Web Platform Installer Peccato solo che il setup sia finito molto presto con un errore molto poco chiaro. Error Workflow Manager Anche il messaggio nei log e nel event viewer non mi suggeriva niente di preciso: Event Viewer Event ID 11722 Product: Windows Fabric -- Error 1722. There is a problem with this Windows Installer package. A program run as part of the setup did not finish as expected. Contact your support personnel or package vendor. Action DoFabricSetup, location: C:Program FilesWindows abricbinFabricFabric.Code.1.0MSIHiddenAppLauncher.exe, command:FabricSetup /operation:install /gac /trace:"C:ProgramDataWindows abricFabriclog" /fabricDataRoot:"C:ProgramDataWindows Fabric\" /traceBufferSizeInKB:128 /traceFileSizeInMB:128/fabricPrincipal:"DOMAINUsername" Dopo aver trovato un thread interessante in uno dei forum su TechNet relativo a Lync 2013 e soprattutto dopo un consulto con Claudio, sono venuto a capo del problema. Il server su cui stavo provando ad installare Workflow Manager era configurato con impostazioni regionali Italiane: locale, tastiera, formato di data e ora, ecc... Pare proprio che a Workflow Manager tutto questo non piacesse affatto. Purtroppo non sono riuscito a capire quale fosse l'impostazione precisa causa dell'errore: Location? Data? Ora? Tastiera? Boh... Fatto sta che portando temporaneamente questi parametri su valori "en-US" sono riuscito a completare il setup senza altri problemi. Come promesso ecco l'elenco delle sessioni sul tema "worklow" che potrete seguire alla Office & SharePoint Conference 2013 il 6, 7 e 8 Marzo. Marzo si avvicina, siete pronti? :) - Riccardo SharePoint & Office Conference 2013
Read More

Report dimensioni site collection con Powershell

Posted by on Wednesday, January 23, 2013 in Database, PowerShell, SharePoint 2010, SharePoint 2013 | 0 comments

E' passato un po' di tempo dall'ultimo post e mi accingo ad "inaugurare" il nuovo anno esattamente da dove l'avevo lasciato, cioè da Windows PowerShell. Ne approfitto già che ci sono per ricordarvi che alla prossima SharePoint & Office Conference io e Claudio terremo una sessione su PowerShell 3 e SharePoint 2013, se siete da quelle parti fatevi riconoscere :). Ma torniamo a noi. Di recente un cliente mi ha chiesto un report giornaliero sulle dimensioni di una serie di site collection (SharePoint 2010). Un possibilità era quella di suggerire al cliente di aprire la site collection con SharePoint Designer tutte le volte che ne aveva voglia e controllare da se. Ottima idea per interrompere subito i rapporti con la maggior parte dei clienti :). Affidarsi alle dimensioni del content database non fornisce sufficienti informazioni sul reale livello di utilizzo del sito in quanto lo stesso database può contenere più site collection. Inoltre penso sia applicabile la stessa considerazione fatta in precedenza. La strada che ho intrapreso è stata, inutile ribadirlo, quella di utilizzare uno script PowerShell. Concettualmente è molto semplice. Faccio un ciclo su tutte le site collection, memorizzo sia lo spazio utilizzato dalla site collection che dal content database ed invio i risultati via email ad uno o più destinatari . Lo script è pensato per essere eseguito tramite Task Scheduler. Ecco lo script:
if ((Get-PSSnapin Microsoft.SharePoint.Powershell -ErrorAction SilentlyContinue) -eq $null){ Add-PSSnapin Microsoft.SharePoint.Powershell -ErrorAction SilentlyContinue } <## Nelle righe seguenti vado a ricavare l'indirizzo del server SMTP configurato nella Central Administration e imposto qualche variabile di servizio ##> $nl = [environment]::NewLine $message = "" $storage = 0 $ca = Get-SPWebApplication -IncludeCentralAdministration | ?{$_.IsAdministrationWebApplication -eq "True"} $smtpServer = $ca.OutboundMailServiceInstance.Server.Address <## A questo punto ciclo su web application e site collection, ordinando i risultati per spazio occupato. Nel ciclo formatto i valori in modo che siano numeri leggibili e creo il messaggio da inviare ##> Get-SPWebApplication | Get-SPSIte -Limit All | Sort-Object -Descending -Property $_.usage.storage | %{ $db = Get-SPContentDatabase $_.ContentDatabase ; $dbsize = "{0:N2}" -f ($db.DiskSizeRequired/1GB) ; $size = "{0:N2}" -f ($_.usage.storage/1GB); $message += $nl + $nl + $_.Url + "; " + $size + " GB; " + ($_.ContentDatabase -replace "SPContentDatabase Name=","") + "; " + $dbsize + " GB;" $storage += $_.usage.storage } <## Aggiungo al messaggio la somma dello spazio occupato da tutte le site collection. Alle righe successive imposto il messaggio di posta e lo invio. ##> $message += $nl + $nl + "Totale storage {0:N2}" -f ($storage/1GB) + "  GB" $date = Get-Date $msg = new-object Net.Mail.MailMessage $smtp = new-object Net.Mail.SmtpClient($smtpServer) $msg.From = "me@mioserver.it" $msg.ReplyTo = "me@mioserver.it" $msg.To.Add("te@tuoserver.com") $msg.subject = "Report storage site collections " + $date.ToShortDateString() $msg.body = $message $smtp.Send($msg)
Puoi scaricare lo script dal mio SkyDrive, a tuo rischio e pericolo, si intende :) Se invece questo tipo di informazioni servono una tantum e nel più breve tempo possibile devo convenire con Igor che il comando stsadm -o enumsites -url http://miosito è probabilmente la soluzione più veloce. Anche se io continuo a preferire the Powershell way :) Happy PoSH - Riccardo SharePoint & Office Conference 2013
Read More

SharePoint Future 2012 – SharePoint 2013 Pre-requisiti: Server Roles and Features

Posted by on Saturday, December 1, 2012 in conferenze, SharePoint 2013 | 0 comments

Martedì si è tenuto a Milano l'edizione 2012 di SharePoint Future, primo evento italiano interamente dedicato a SharePoint 2013.

SharePoint Future 2012

  Dal mio punto di visto è stato proprio una gran bella giornata! Mi sono divertito molto sia durante le mie due sessioni, la prima con Barbara e Claudio su WCM e Search, la seconda con Igor sulle novità per gli IT Pro, sia nei momenti di pausa scambiando quattro chiacchere con vecchi e nuovi amici (nella sua accezione alla Facebook), mancavano solo Marco e Alessandro :). Anche la location, l'Enterprise Hotel di Milano, secondo me non è stata affatto male, anzi! Un altro gran colpo di EventHandler ;). Tra gli altri mi ha fatto piacere rivedere persone con cui lavoro molto spesso a distanza come Perrine, Peter, Roberto e Emanuel di AvePoint e Liam di Nintex. It has been good to see you again :) Ma sto divagando. Nella mia seconda presentazione, parlando dei pre-requisiti di SharePoint 2013 ho parlato della possibilità di installare i server role richiesti utilizzando Windows Powershell. Lo script seguente è generato nella cartella temporanea (%temp%) di Windows al momento dell'esecuzione di PrerequisiteInstaller.exe. Attraverso il modulo ServerManager è possibile configurare i ruoli e le feature richieste. Ecco lo script completo:
Import-Module Servermanager Add-WindowsFeature NET-WCF-HTTP-Activation45,NET-WCF-TCP-Activation45,NET-WCF-Pipe-Activation45 $operation = Add-WindowsFeature Net-Framework-Features,Web-Server,Web-WebServer,Web-Common-Http,Web-Static-Content,Web-Default-Doc,Web-Dir-Browsing,Web-Http-Errors,Web-App-Dev,Web-Asp-Net,Web-Net-Ext,Web-ISAPI-Ext,Web-ISAPI-Filter,Web-Health,Web-Http-Logging,Web-Log-Libraries,Web-Request-Monitor,Web-Http-Tracing,Web-Security,Web-Basic-Auth,Web-Windows-Auth,Web-Filtering,Web-Digest-Auth,Web-Performance,Web-Stat-Compression,Web-Dyn-Compression,Web-Mgmt-Tools,Web-Mgmt-Console,Web-Mgmt-Compat,Web-Metabase,Application-Server,AS-Web-Support,AS-TCP-Port-Sharing,AS-WAS-Support,AS-HTTP-Activation,AS-TCP-Activation,AS-Named-Pipes,AS-Net-Framework,WAS,WAS-Process-Model,WAS-NET-Environment,WAS-Config-APIs,Web-Lgcy-Scripting,Windows-Identity-Foundation,Server-Media-Foundation,Xps-Viewer if ($operation.ExitCode -eq 'SuccessRestartRequired') { $host.SetShouldExit(3010) exit }
Su Windows Server 2012 potrebbero verificarsi dei problemi nell'installazione della feature Net-Framework-Features dovuti alla mancanza dei file di installazione. Per ovviare al problema basta copiare dal dvd di Windows Server la directory Sources/sxs ed eseguire il comando precedente con una piccola modifica.
Import-Module Servermanager $sourcesxs = "C:tempsourcessxs" Add-WindowsFeature NET-WCF-HTTP-Activation45,NET-WCF-TCP-Activation45,NET-WCF-Pipe-Activation45 $operation = Add-WindowsFeature Net-Framework-Features -source $sourcesxs,Web-Server,Web-WebServer,Web-Common-Http,Web-Static-Content,Web-Default-Doc,Web-Dir-Browsing,Web-Http-Errors,Web-App-Dev,Web-Asp-Net,Web-Net-Ext,Web-ISAPI-Ext,Web-ISAPI-Filter,Web-Health,Web-Http-Logging,Web-Log-Libraries,Web-Request-Monitor,Web-Http-Tracing,Web-Security,Web-Basic-Auth,Web-Windows-Auth,Web-Filtering,Web-Digest-Auth,Web-Performance,Web-Stat-Compression,Web-Dyn-Compression,Web-Mgmt-Tools,Web-Mgmt-Console,Web-Mgmt-Compat,Web-Metabase,Application-Server,AS-Web-Support,AS-TCP-Port-Sharing,AS-WAS-Support,AS-HTTP-Activation,AS-TCP-Activation,AS-Named-Pipes,AS-Net-Framework,WAS,WAS-Process-Model,WAS-NET-Environment,WAS-Config-APIs,Web-Lgcy-Scripting,Windows-Identity-Foundation,Server-Media-Foundation,Xps-Viewer if ($operation.ExitCode -eq 'SuccessRestartRequired') { $host.SetShouldExit(3010) exit }
La prossima conferenza sarà a Marzo, la SharePoint and Office Conference, vi aspetto! - Riccardo
Read More

Materiale per SharePointCommunity.it

Posted by on Sunday, November 18, 2012 in Eventi, PowerShell, SharePointCommunity.it | 1 comment

Live dal mio nuovissimo Lenovo W530 faccio solo una rapida escursione nel mondo esterno per segnalare che nei giorni scorsi è stato pubblicato su SharePointCommunity.it il video della sessione che ho tenuto durante l'evento SharePoint Governance, tenutosi Martedì 30 Ottobre a Milano. In realtà a causa di problemi "tecnici" la sessione è stata registrata in un secondo momento, ma sono sicuro che fa lo stesso :) Da pochi minuti inoltre è stato pubblicato un nuovo articolo su come rinominare una web application in SharePoint. Approfitto per ringraziare Achille della disponibilità :) Qualcuno mi ha segnalato che ha problemi con la riproduzione del video, se così fosse fatecelo sapere che provvederemo a rimediare tempestivamente. - Riccardo
Read More