tag:blogger.com,1999:blog-46583553886564885492024-03-12T18:47:22.279-07:00Todo SharepointBlog dedicado a temas de SharepointUnknownnoreply@blogger.comBlogger646125tag:blogger.com,1999:blog-4658355388656488549.post-30144988904373056912016-07-17T15:43:00.001-07:002016-07-17T15:43:28.391-07:00Parte 7 – Sharepoint 2016 Creación del Search Service<p><a href="http://todosharepoint.blogspot.com.ar/2016/07/sharepoint-2016-installation.html">Indice de Instalación de Sharepoint 2016</a></p> <p>En esta parte instalaré el servicio de Search. La arquitectura será la siguiente</p> <p><a href="https://lh3.googleusercontent.com/-w4k347xUUXA/V4wKB_m-pGI/AAAAAAAAHAU/x6uwIALB41g/s1600-h/image%25255B7%25255D.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="https://lh3.googleusercontent.com/-U7h9iVnOkJw/V4wKCletUOI/AAAAAAAAHAY/EnpUKYgIPv4/image_thumb%25255B3%25255D.png?imgmax=800" width="578" height="382"></a></p> <p>Crear un folder en “D:\Data\Microsoft\SearchSharepointIndex” en <u>CADA SERVER</u> de la granja. <p>Dar permisos a los grupos WSS_ADMIN_WPG, WSS_WPG y WSS_RESTRICTED_WPG <p>También dar permisos sobre el folder:</p> <p>D:\Data\Microsoft\Microsoft Office Servers\16.0\Data\Office Server\Applications <p>Al finalizar la ejecución del script tendrá la siguiente configuración <p><a href="https://lh3.googleusercontent.com/-C9XmcVjbN0I/V4wKDD2VkSI/AAAAAAAAHAc/g0kzDIfld9w/s1600-h/image%25255B11%25255D.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="https://lh3.googleusercontent.com/-SM6c1VInYOI/V4wKDxR-zwI/AAAAAAAAHAg/akcxdyye0Dw/image_thumb%25255B5%25255D.png?imgmax=800" width="717" height="274"></a> <p><a href="https://1drv.ms/u/s!Aje5PDbMsnwT_BGx45slZYDdKJSg">Descargar Script</a></p> <table cellspacing="0" cellpadding="2" width="700" border="0"> <tbody> <tr> <td valign="top" width="698"> <p>$searchSAName = "Search Service"<br>$saAppPoolName = "SharePoint Web Services Default"<br>$searchMachines = @("DNS_WebFrontEndServer","DNS_ApplicationServer")</p> <p>#El WebFront End Server tiene los siguientes servicios: Query Processing Component<br><font style="background-color: #ffff00">$searchQueryMachine = "DNS_WebFrontEndServer"</font></p> <p>#El Application Server tiene los siguientes servicios: Admin Component,Analytics Component,Content Processing Component,Crawl Component, Index Component<br><font style="background-color: #ffff00">$searchCrawlerMachine = "DNS_ApplicationServer"</font></p> <p><font style="background-color: #ffff00">$indexLocation = "D:\Data\Microsoft\SearchSharepointIndex"</font><br>#VER LINEAS 32, 37.</p> <p>#ALIAS del sql server<br><font style="background-color: #ffff00">$databaseServerName = "SQLSP2016"</font><br>$searchDatabaseName = "Sharepoint_Search"</p> <p><br>##########################<br># Search Service - START #<br>##########################<br>#<br>Write-Host "Creando Search Service y Proxy..."<br>Write-Host " Iniciando Services..."<br>foreach ($machine in $searchMachines)<br>{<br> Write-Host " Iniciando Search Services en $machine"<br> Start-SPEnterpriseSearchQueryAndSiteSettingsServiceInstance $machine<br> Start-SPEnterpriseSearchServiceInstance $machine <br>}</p> <p>############CREO EL SEARCH SERVICE APPLICATION ##############</p> <p>Write-Host " Creando Search Service Application..."<br>$searchApp = Get-SPEnterpriseSearchServiceApplication -Identity $searchSAName -ErrorAction SilentlyContinue<br>if (!$searchApp)<br>{<br> $searchApp = New-SPEnterpriseSearchServiceApplication -Name $SearchSAName -ApplicationPool $saAppPoolName -DatabaseServer $databaseServerName -DatabaseName $searchDatabaseName<br>}</p> <p>$searchInstanceCrawl = Get-SPEnterpriseSearchServiceInstance -Identity $searchCrawlerMachine<br>$searchInstanceCrawlQuery = Get-SPEnterpriseSearchServiceInstance -Identity $searchQueryMachine</p> <p>Start-SPEnterpriseSearchServiceInstance -Identity $searchInstanceCrawl<br>Start-SPEnterpriseSearchServiceInstance -Identity $searchInstanceCrawlQuery</p> <p>#espero 60 segundos, hasta que inicie<br>Start-Sleep -s 60</p> <p>#############################<br># Define the search topology<br>Write-Host " Defining the Search Topology..."<br>$initialSearchTopology = $searchApp | Get-SPEnterpriseSearchTopology -Active <br>$newSearchTopology = $searchApp | New-SPEnterpriseSearchTopology </p> <p>Start-Sleep -s 60</p> <p># Create search components<br>Write-Host " Creating Admin Component..."<br>New-SPEnterpriseSearchAdminComponent -SearchTopology $newSearchTopology -SearchServiceInstance $searchInstanceCrawl</p> <p>Start-Sleep -s 60</p> <p>Write-Host " Creating Analytics Component..."<br>New-SPEnterpriseSearchAnalyticsProcessingComponent -SearchTopology $newSearchTopology -SearchServiceInstance $searchInstanceCrawl</p> <p>Start-Sleep -s 60</p> <p>Write-Host " Creating Content Processing Component..."<br>New-SPEnterpriseSearchContentProcessingComponent -SearchTopology $newSearchTopology -SearchServiceInstance $searchInstanceCrawl</p> <p>Start-Sleep -s 60</p> <p>Write-Host " Creating Crawl Component..."<br>New-SPEnterpriseSearchCrawlComponent -SearchTopology $newSearchTopology -SearchServiceInstance $searchInstanceCrawl </p> <p>Write-Host " Creating Index Component..."<br>New-SPEnterpriseSearchIndexComponent -SearchTopology $newSearchTopology -SearchServiceInstance </p> <p>$searchInstanceCrawlQuery <font style="background-color: #ffff00">-RootDirectory $indexLocation</font> </p> <p>Start-Sleep -s 60</p> <p>Write-Host " Creating Query Processing Component..."<br>New-SPEnterpriseSearchQueryProcessingComponent -SearchTopology $newSearchTopology -SearchServiceInstance $searchInstanceCrawlQuery</p> <p>Start-Sleep -s 60</p> <p>Write-Host " Activating the new topology..."<br>$newSearchTopology.Activate()</p> <p>Write-Host " Creating Search Application Proxy..."<br>$searchProxy = Get-SPEnterpriseSearchServiceApplicationProxy -Identity "$searchSAName Proxy" -ErrorAction SilentlyContinue<br>Start-Sleep -s 60<br>if (!$searchProxy)<br>{<br> New-SPEnterpriseSearchServiceApplicationProxy -Name "$searchSAName Proxy" -SearchApplication $searchSAName<br>}<br>########################<br># Search Service - END #<br>########################<br></p></td></tr></tbody></table>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4658355388656488549.post-47959181186412505472016-07-17T06:44:00.001-07:002016-07-17T06:44:00.498-07:00Parte 6–SharePoint 2016 Creación de web application<p><a href="http://todosharepoint.blogspot.com.ar/2016/07/sharepoint-2016-installation.html">Indice de Instalación de Sharepoint 2016</a></p> <p>En esta parte, creo un web application <a href="http://intra.contoso.com">http://intra.contoso.com</a></p> <p>Uso 3 cuentas:</p> <ul> <li><strong>svcspwapp</strong>: Sharepoint Web Application Account, cuenta de identidad para ejecutar los application pools del IIS</li> <li><strong>svcspsprusr</strong>: Sharepoint SuperUser, cuenta para acceder al web application con Full Read access (auditoria/caching)</li> <li><strong>svcspsprread</strong>: Sharepoint SuperReader cuenta para acceder al web application con Full Control access (auditoria/caching)</li></ul> <p> </p> <p><a href="https://1drv.ms/u/s!Aje5PDbMsnwT_BCHAEGmrLQivfKg">Descargar Script</a></p> <table cellspacing="0" cellpadding="2" width="400" border="0"> <tbody> <tr> <td valign="top" width="400"> <p>$ver = $host | select version</p> <p>if($Ver.version.major -gt 1) {$Host.Runspace.ThreadOptions = "ReuseThread"}</p> <p>if(!(Get-PSSnapin Microsoft.SharePoint.PowerShell -ea 0))<br>{<br> Add-PSSnapin Microsoft.SharePoint.PowerShell<br>}</p> <p>Write-Progress -Activity "Creando Web Application" -Status "Seteando Variables"<br>##CONFIGURACIÓN</p> <p># Web Application URL<br>$WebApplicationURL = "<a href="http://intra.contoso.com"">http://intra.contoso.com"</a></p> <p># Nombre para el SharePoint Web Application<br>$WebApplicationName = "Intra Web Application"</p> <p># Content Database para el web application<br>$ContentDatabase = "Intra_ContentDB1"</p> <p># Nombre para el Application Pool<br>$ApplicationPoolDisplayName = "Intra App Pool"</p> <p># Identidad para el Application Pool (domain\user)<br>$ApplicationPoolIdentity = "CONTOSO\svcspwapp"</p> <p># Password para el Application Pool<br>$ApplicationPoolPassword = "xxxxxxxxxx"</p> <p># Cuenta para Super Reader<br>$PortalSuperReader = "i:0#.w|CONTOSO\svcspsprread"</p> <p># Cuenta para Super User<br>$PortalSuperUser = "i:0#.w|CONTOSO\svcspsprusr"</p> <p>Write-Progress -Activity "Creando Web Application" -Status "Loading Functions"</p> <p><br>Function CrearClaimsWebApp($WebApplicationName, $WebApplicationURL, $ContentDatabase, $HTTPPort)<br>{<br> $ap = New-SPAuthenticationProvider<br> <br> if($AppPoolUsed -eq $True)<br> {<br> Write-Progress -Activity "Creating Web Application" -Status "Using Application Pool With Existing Web Applications"<br> Set-Variable -Name WebApp -Value (New-SPWebApplication -ApplicationPool $ApplicationPoolDisplayName -Name $WebApplicationName -url $WebApplicationURL -port $HTTPPort -DatabaseName $ContentDatabase -HostHeader $hostHeader -AuthenticationProvider $ap) -Scope Script<br> </p> <p> Write-Progress -Activity "Creating Web Application" -Status "Configuring Object Cache Accounts"<br> SetObjectCache<br> <br> }<br> else<br> { <br> Write-Progress -Activity "Creating Web Application" -Status "Using Application Pool With No Existing Web Applications"<br> Set-Variable -Name WebApp -Value (New-SPWebApplication -ApplicationPool $ApplicationPoolDisplayName -ApplicationPoolAccount $AppPoolManagedAccount.Username -Name $WebApplicationName -url $WebApplicationURL -port $HTTPPort -DatabaseName $ContentDatabase -HostHeader $hostHeader -AuthenticationProvider $ap) -Scope Script<br> <br> Write-Progress -Activity "Creating Web Application" -Status "Configuring Object Cache Accounts"<br> SetObjectCache<br> <br> }<br>}</p> <p>Function ValidarURL($WebApplicationURL)<br>{<br> if(get-spwebapplication $WebApplicationURL -ErrorAction SilentlyContinue)<br> {<br> Write-Progress -Activity "Creando Web Application" -Status "Abortando proceso debido a un conflicto de URL"<br> Write-Host "Abortando: Web Application $WebApplicationURL ya existe" -ForegroundColor Red<br> <br> #Seteo el valor CriticalError a $True resultado en NO crear nada<br> Set-Variable -Name CriticalError -Value $True<br> } <br> elseif($WebApplicationURL.StartsWith("<a href="http://"))">http://"))</a><br> {<br> Set-Variable HostHeader -Value ($WebApplicationURL.Substring(7)) -Scope Script<br> Set-Variable -Name HTTPPort -Value "80" -Scope Script<br> }<br> elseif($WebApplicationURL.StartsWith("<a href="https://"))">https://"))</a><br> {<br> Set-Variable HostHeader -Value ($WebApplicationURL.Substring(8)) -Scope Script<br> Set-Variable -Name HTTPPort -Value "443" -Scope Script<br> }<br>}</p> <p>Function ValidarAppPool($AppPoolName, $WebApplicationURL)<br>{<br> $CurrentErrorActionPreference = $ErrorActionPreference<br> $ErrorActionPreference = "SilentlyContinue"</p> <p> #Verifica si existe un application pool con el nombre pasado como parametro <br> $TestAppPool = Get-WebAppPoolState $AppPoolName</p> <p> if(Get-SPServiceApplicationPool $AppPoolName)<br> {<br> $AppPools = Get-SPWebApplication | select ApplicationPool</p> <p> if($AppPools)<br> {<br> foreach($Pool in $AppPools)<br> {<br> <br> [Array]$Poolchild = $Poolchild += ($Pool.ApplicationPool.DisplayName)</p> <p> if($Poolchild.Contains($ApplicationPoolDisplayName))<br> {<br> Set-Variable -Name AppPoolUsed -Value $True -Scope Script<br> }</p> <p> else<br> {<br> Set-Variable -Name AppPoolUsed -Value $False -Scope Script<br> }<br> }<br> }<br> <br> Set-Variable -Name AppPool -Value (Get-SPServiceApplicationPool $AppPoolName) -scope Script</p> <p> Set-Variable -Name AppPoolManagedAccount -Value (Get-SPManagedAccount | ? {$_.username -eq ($AppPool.ProcessAccountName)}) -scope Script<br> }<br> elseif($TestAppPool)<br> {<br> Write-Host "Aborting: Application Pool $AppPoolName already exists on the server and is not a SharePoint Application Pool `n`rWeb Application `"$WebApplicationURL`" will not be created" -ForegroundColor Red<br> Set-Variable -Name CriticalError -Value $True<br> }<br> elseif(!($TestAppPool))<br> {<br> ValidarManagedAccount $ApplicationPoolIdentity</p> <p> if($ManagedAccountExists -eq $True)<br> {<br> Write-Host "Creating New App Pool using Existing Managed Account"<br> Set-Variable -Name AppPoolManagedAccount -Value (Get-SPManagedAccount $ApplicationPoolIdentity | select username) -scope "Script"</p> <p> Set-Variable -Name AppPool -Value (New-SPServiceApplicationPool -Name $ApplicationPoolDisplayName -Account $ApplicationPoolIdentity) -scope "Script"<br> }<br> else<br> {<br> Write-Host "Creating New Managed Account And App Pool"<br> $AppPoolCredentials = New-Object System.Management.Automation.PSCredential $ApplicationPoolIdentity, (ConvertTo-SecureString $ApplicationPoolPassword -AsPlainText -Force)<br> <br> Set-Variable -Name AppPoolManagedAccount -Value (New-SPManagedAccount -Credential $AppPoolCredentials) -scope "Script"<br> <br> Set-Variable -Name AppPool -Value (New-SPServiceApplicationPool -Name $ApplicationPoolDisplayName -Account (get-spmanagedaccount $ApplicationPoolIdentity)) -scope "Script"<br> }</p> <p> }<br> <br> $ErrorActionPreference = $CurrentErrorActionPreference</p> <p>}</p> <p>Function ValidarManagedAccount($ApplicationPoolIdentity)<br>{<br> if(Get-SPManagedAccount $ApplicationPoolIdentity -ErrorAction SilentlyContinue)<br> {<br> Set-Variable -Name ManagedAccountExists -Value $True -Scope Script<br> }<br> else<br> {<br> Set-Variable -Name ManagedAccountExists -Value $False -Scope Script<br> }<br>}</p> <p>Function LimpiarVariables<br>{<br> $CurrentErrorActionPreference = $ErrorActionPreference<br> $ErrorActionPreference = "SilentlyContinue"</p> <p> Remove-Variable $CriticalError -ErrorAction SilentlyContinue<br> $ErrorActionPreference = $CurrentErrorActionPreference<br>}</p> <p>Function SetObjectCache<br>{<br> $WebApp.Properties["portalsuperuseraccount"] = $PortalSuperUser<br> $WebApp.Properties["portalsuperreaderaccount"] = $PortalSuperReader<br> <br> #Creo una nueva policy para el Super User<br> $SuperUserPolicy = $WebApp.Policies.Add($PortalSuperUser, "Portal Super User Account")<br> #Asigno Full Control al Super User<br> $SuperUserPolicy.PolicyRoleBindings.Add($WebApp.PolicyRoles.GetSpecialRole([Microsoft.SharePoint.Administration.SPPolicyRoleType]::FullControl))<br> <br> #Creo una nueva policy para el Super Reader<br> $SuperReaderPolicy = $WebApp.Policies.Add($PortalSuperReader, "Portal Super Reader Account") <br> #Asigno Full Read al Super Reader<br> $SuperReaderPolicy.PolicyRoleBindings.Add($WebApp.PolicyRoles.GetSpecialRole([Microsoft.SharePoint.Administration.SPPolicyRoleType]::FullRead))</p> <p> #Commit these changes to the web application<br> $WebApp.Update()<br>}</p> <p><br>Write-Progress -Activity "Creando Web Application" -Status "Validando las URL del Web Application"<br>ValidarURL $WebApplicationURL</p> <p>Write-Progress -Activity "Creando Web Application" -Status "Validando los Pools de los Application"<br>ValidarAppPool $ApplicationPoolDisplayName $WebApplicationURL</p> <p><br>if(!($CriticalError))<br>{<br> Write-Progress -Activity "Creando Web Application" -Status "Creando Claims-Based Web Application"<br> CrearClaimsWebApp $WebApplicationName $WebApplicationURL $ContentDatabase $HTTPPort<br>}<br></p></td></tr></tbody></table>Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-4658355388656488549.post-13097937051057183222016-07-17T05:43:00.001-07:002016-07-17T05:46:55.888-07:00Parte 4–Sharepoint 2016 - Sharepoint Web Services Default Application Pool<p><a href="http://todosharepoint.blogspot.com.ar/2016/07/sharepoint-2016-installation.html">Indice de Instalación de Sharepoint 2016</a></p> <p>A continuación se crea el Application Pool para los services applications. Puedes crear N cuentas dependiendo del tipo de seguridad que quieres implementar para tus services applications.</p> <p><a href="https://1drv.ms/u/s!Aje5PDbMsnwT_A-rnS7_9mLEKQYL">Descargar Script</a></p> <p>Add-PSSnapin Microsoft.SharePoint.PowerShell -erroraction SilentlyContinue <br>$AppPoolName = "SharePoint Web Services Default"<br><font style="background-color: #ffff00">$AppPoolUserName = "CONTOSO\svcspsvcapps"</font><br>$SAAppPool = Get-SPServiceApplicationPool -Identity $AppPoolName -EA 0<br>if($SAAppPool -eq $null)<br>{<br> $AppPoolAccount = Get-SPManagedAccount -Identity $AppPoolUserName -EA 0<br> if($AppPoolAccount -eq $null)<br> {<br> $AppPoolCred = Get-Credential $AppPoolUserName<br> $AppPoolAccount = New-SPManagedAccount -Credential $AppPoolCred -EA 0<br> }<br> $AppPoolAccount = Get-SPManagedAccount -Identity $AppPoolUserName -EA 0<br> if($AppPoolAccount -eq $null)<br> {<br> Write-Host "Cannot create or find the managed account $appPoolUserName, please ensure the account exists."<br> Exit -1<br> }<br> New-SPServiceApplicationPool -Name $AppPoolName -Account $AppPoolAccount -EA 0 > $null<br> Write-Host "Se ha creado correctamente la cuenta default de app pool"<br>}<br>Else<br>{<br> Write-Host "Fallo la creación de la cuenta"<br>}</p>Unknownnoreply@blogger.com3tag:blogger.com,1999:blog-4658355388656488549.post-37024063901998064412016-07-17T04:58:00.001-07:002016-07-17T05:40:35.329-07:00Parte 5–Sharepoint 2016–Creación de Usage and Health Data Collection Service<p><a href="http://todosharepoint.blogspot.com.ar/2016/07/sharepoint-2016-installation.html">Indice de Instalación de Sharepoint 2016</a></p> <p>En esta parte crearemos el servicio de Usage and Health Data Collection, para ello crea en CADA servidor de la granja, una estructura de carpetas en la partición D:\</p> <p>Estructura: <strong>D:\Data\ServerLogs\Sharepoint\</strong></p> <p>Recomendación: configura los logs del IIS en el siguiente path <strong>D:\Data\ServerLogs\IIS\</strong></p> <p>El servicio SPTraceV4 lo dejé configurado para que se ejecute con Local Service.</p> <p><a href="https://lh3.googleusercontent.com/-lZPcr8MZEg0/V4tyuOX_QsI/AAAAAAAAG_Q/CzjysUiACWA/s1600-h/image%25255B35%25255D.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="https://lh3.googleusercontent.com/-KBOUK5kCI2A/V4tyuSG3INI/AAAAAAAAG_U/W0bNRijF0EE/image_thumb%25255B17%25255D.png?imgmax=800" width="469" height="76"></a></p> <p>Verifica que la cuenta de Farm esté en los siguientes grupos: WSS_WPG, WSS_RESTRICTED_WPG, WSS_ADMIN_WPG, Performance Log Users, Performance Monitor Users</p> <p>Verifica que Local Services y los grupos WSS_WPG, WSS_RESTRICTED_WPG, WSS_ADMIN_WPG tengan permisos de write sobre la carpeta <strong>D:\Data\ServerLogs\Sharepoint\</strong></p> <p><a href="https://lh3.googleusercontent.com/-wFmFChfddpI/V4tyu2CW9hI/AAAAAAAAG_Y/crbjciSU7pc/s1600-h/image%25255B38%25255D.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="https://lh3.googleusercontent.com/-PFR108M-8zo/V4tyvHV7H6I/AAAAAAAAG_c/ZP3ixA-FSM8/image_thumb%25255B18%25255D.png?imgmax=800" width="244" height="151"></a></p> <p><a href="https://1drv.ms/u/s!Aje5PDbMsnwT_A6bt5YvmX6uTN87">Descargar Script</a></p> <table cellspacing="0" cellpadding="2" width="400" border="0"> <tbody> <tr> <td valign="top" width="400"> <p>Add-PSSnapin Microsoft.SharePoint.PowerShell -erroraction SilentlyContinue </p> <p>#configuration initial<br>$usageSAName = “Usage and Health Data Collection Service”<br>$stateSAName = “State Service”<br>$stateServiceDatabaseName = “Sharepoint_StateServices”<br>$saAppPoolName = “SharePoint Web Services Default”</p> <p># Configure the web analytics and health data collection service before creating the service <br>Set-SPUsageService -LoggingEnabled 1 -UsageLogLocation "D:\Data\ServerLogs\Sharepoint\" -UsageLogMaxSpaceGB 4</p> <p># Usage Service<br>Write-Host "Creating Usage Service"<br>$serviceInstance = Get-SPUsageService<br>New-SPUsageApplication -Name $usageSAName -DatabaseName “Sharepoint_UsageService” -UsageService $serviceInstance > $null</p> <p># State Service<br>Write-Host "Creating State Service and Proxy..."<br>$stateServiceDatabase = New-SPStateServiceDatabase -Name $stateServiceDatabaseName<br>$stateSA = New-SPStateServiceApplication -Name $stateSAName -Database $stateServiceDatabase</p> <p># Proxy<br>New-SPStateServiceApplicationProxy -ServiceApplication $stateSA -Name “$stateSAName Proxy” -DefaultProxyGroup</p> <p>Get-SPStateServiceApplication | Select Name<br>Get-SPStateServiceApplicationProxy | Select Name</p> <p>##SET DIAGNOSTICCONFIG<br>#seteo el tipo de logueo y severidad que quiero monitorear, puede variar en tu ambiente el tracing que quieres realizar<br>Set-SPDiagnosticConfig -LogLocation "D:\Data\ServerLogs\Sharepoint" -LogMaxDiskSpaceUsageEnabled -EventLogFloodProtectionEnabled -LogDiskSpaceUsageGB 4 -DaysToKeepLogs 7<br>Set-SPLogLevel -EventSeverity warning -TraceSeverity high</p></td></tr></tbody></table> <p>Verifica la configuración en el central administration.</p> <p><a href="https://lh3.googleusercontent.com/-JgK0gNwb_eI/V4tyvqy4ewI/AAAAAAAAG_g/SCKvCf2IxSA/s1600-h/image%25255B12%25255D.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="https://lh3.googleusercontent.com/-3nCwZumd4Zk/V4tywJ9tyBI/AAAAAAAAG_k/PQtN3iilRd8/image_thumb%25255B4%25255D.png?imgmax=800" width="430" height="194"></a></p> <p><a href="https://lh3.googleusercontent.com/-R9gptfPEiEk/V4tywbqEftI/AAAAAAAAG_o/kc5p7iid3mY/s1600-h/image%25255B3%25255D.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="https://lh3.googleusercontent.com/-NvSrbVLE4Ok/V4tyw-uIAwI/AAAAAAAAG_s/LicStN8wvMY/image_thumb%25255B1%25255D.png?imgmax=800" width="437" height="273"></a></p> <p><a href="https://lh3.googleusercontent.com/-YsNWM0xi77A/V4tyxLdj0BI/AAAAAAAAG_w/3lHdstMinO4/s1600-h/image%25255B7%25255D%25255B2%25255D.png"><img title="image[7]" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image[7]" src="https://lh3.googleusercontent.com/-kAd3TpqNIy4/V4tyxkWcarI/AAAAAAAAG_0/UhUEBnTRN1c/image%25255B7%25255D_thumb.png?imgmax=800" width="939" height="231"></a></p> <p>El monitoreo de eventos lo definí de la siguiente manera:</p> <p>Get-SPUsageDefinition</p> <p><a href="https://lh3.googleusercontent.com/-FIh-4ZB0IPk/V4tyx1U63oI/AAAAAAAAG_4/F_h3EuyuxF4/s1600-h/image%25255B31%25255D.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="https://lh3.googleusercontent.com/-nvvYvJk6Qlo/V4tyykcpLPI/AAAAAAAAG_8/E8409PxO77U/image_thumb%25255B15%25255D.png?imgmax=800" width="466" height="453"></a></p> <p><a href="https://lh3.googleusercontent.com/-QzqFPGB4dRA/V4tyzOXHgYI/AAAAAAAAHAA/n1tPqDNBuBU/s1600-h/image%25255B22%25255D.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="https://lh3.googleusercontent.com/-4MhYi0ONIhY/V4tyzeJXSMI/AAAAAAAAHAE/DzrTuxFYeBg/image_thumb%25255B10%25255D.png?imgmax=800" width="528" height="268"></a></p> <p>Cada evento lo puedes setear de manera particular en el caso que quieras mantener por un tiempo más los logging.</p> <p>En el caso que quieras cambiar la cuenta de usuario del servicio SPTraceV4, puedes ejecutar el siguiente script.</p> <p> </p> <p># Get the tracing service.<br>$farm = Get-SPFarm<br>$tracingService = $farm.Services | where {$_.Name -eq "SPTraceV4"}<br># Get the "svc_sp_services" managed account.<br>$managedAccount = Get-SPManagedAccount "CONTOSO\cuenta de usuario"<br># Set the tracing service to run under the managed account.<br>$tracingService.ProcessIdentity.CurrentIdentityType = "SpecificUser"<br>$tracingService.ProcessIdentity.ManagedAccount = $managedAccount<br>$tracingService.ProcessIdentity.Update()<br># This actually changes the "Run As" account of the Windows service.<br>$tracingService.ProcessIdentity.Deploy()</p>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4658355388656488549.post-46707620383456034422016-07-16T17:57:00.001-07:002016-07-16T17:57:29.617-07:00Parte 3 - Sharepoint 2016 conectándose a la granja<p><a href="http://todosharepoint.blogspot.com.ar/2016/07/sharepoint-2016-installation.html">Indice de Instalación de Sharepoint 2016</a></p> <p>En esta parte, vamos a conectar el WebFront End “Custom” a la granja previamente creada</p> <p>Ingresar al<strong><u> WebFront “Custom”</u></strong> con una cuenta con privilegios de sysadmin sobre el SQL Server. Mi recomendación es ingresar con la cuenta de Farm para evitar problemas futuros. </p> <p>Prueba la conexión al SQL Server, mediante un archivo .udl <a title="https://blogs.technet.microsoft.com/michaelgriswold/2014/01/06/the-easy-way-to-test-sql-connectivity/" href="https://blogs.technet.microsoft.com/michaelgriswold/2014/01/06/the-easy-way-to-test-sql-connectivity/">https://blogs.technet.microsoft.com/michaelgriswold/2014/01/06/the-easy-way-to-test-sql-connectivity/</a></p> <p>Algunas definiciones:</p> <ul> <li>El WebFront End “Custom” tendrá un host de Distributed Cache</li> <li>Se deshabilitará Loopback Check.</li></ul> <p>Ejecuta una consola de PowerShell_ISE como ADMINISTRADOR, y ejecutar el siguiete script</p> <p>%windir%\system32\WindowsPowerShell\v1.0\PowerShell_ISE.exe</p> <p><a href="https://1drv.ms/u/s!Aje5PDbMsnwT_A03rVoTEaHqCvlH">Descargar script de conexión a la granja</a></p> <table cellspacing="0" cellpadding="2" width="400" border="0"> <tbody> <tr> <td valign="top" width="400"> <p>############################################################<br># Crear un farm de SharePoint 2016<br># Creado por Christian Azcon<br>############################################################<br>$ver = $host | select version<br>if ($ver.Version.Major -gt 1) {$Host.Runspace.ThreadOptions = "ReuseThread"}<br>Add-PsSnapin Microsoft.SharePoint.PowerShell</p> <p>########################################<br># Defino Settings #<br>########################################</p> <p>#SQL Alias<br>$AliasName = "SQLSP2016" <br># Cambia el nombre por el del SQL--> FQDN<br>$ServerName = "HostNameSQLServer.contoso.net"<br>$configPassphrase = 'SeguridadFraseSharepoint2016'<br>$s_configPassphrase = (ConvertTo-SecureString -String $configPassphrase -AsPlainText -force)<br> <br>$serverDB = $AliasName<br>$dbConfig = "Sharepoint_Configuration"</p> <p>########################################<br># Creo the SQL Alias<br>########################################</p> <p>$x86 = "HKLM:\Software\Microsoft\MSSQLServer\Client\ConnectTo"<br>$x64 = "HKLM:\Software\Wow6432Node\Microsoft\MSSQLServer\Client\ConnectTo"<br> <br>#Verifico si la clave ConnectTo ya existe, y la creo en caso contrario<br>if ((test-path -path $x86) -ne $True)<br>{<br> write-host "$x86 no existe"<br> New-Item $x86<br>}<br>if ((test-path -path $x64) -ne $True)<br>{<br> write-host "$x64 no existe"<br> New-Item $x64<br>}<br> <br>#Defino el tipo de alias<br>$TCPAlias = ("DBMSSOCN," + $ServerName)<br> <br>#Creo el TCP/IP Aliases<br>Write-Output "Creo los registros para el alias" <br>New-ItemProperty -Path $x86 -Name $AliasName -PropertyType String -Value $TCPAlias<br>New-ItemProperty -Path $x64 -Name $AliasName -PropertyType String -Value $TCPAlias<br>Write-Output "Se crearon los alias"</p> <p># Abro cliconfig para verificar el alias<br>Start-Process C:\Windows\System32\cliconfg.exe<br>Start-Process C:\Windows\SysWOW64\cliconfg.exe </p> <p># 2 minutos para habilitar protocolos<br>Write-Output "Habilite los protocolos en cliconfig.Tiene 2 minutos para habilitarlos" <br>Start-Sleep -s 30</p> <p>########################################<br># Se une el servidor a la granja<br>########################################</p> <p>Write-Output "Conectando a la granja"</p> <p># Es recomendable que el front end tenga el host de distributed cache<br>Connect-SPConfigurationDatabase -DatabaseServer $serverDB -DatabaseName $dbConfig -Passphrase $s_configPassphrase -<font style="background-color: #ffff00">LocalServerRole Custom</font></p> <p># Verifico que la granja existe y esta corriendo. Si no, termino el script<br>$farm = Get-SPFarm<br>if (!$farm -or $farm.Status -ne "Online") {<br> Write-Output "La Farm no se creo o no esta ejecutandose. Fin del script. Revise los logs en la carpeta Temp"<br> exit<br>}<br> <br>########################################<br># Ejecuto tareas de configuracion de wizard<br>########################################<br> <br>Write-Output "Instalando Help Collections"<br>Install-SPHelpCollection -All<br> <br>Write-Output "Inicializando security"<br>Initialize-SPResourceSecurity<br> <br>Write-Output "Instalando services"<br>Install-SPService<br> <br>Write-Output "Registrando features"<br>Install-SPFeature -AllExistingFeatures<br> <br>Write-Output "Instalando Application Content"<br>Install-SPApplicationContent</p> <p>Write-Output "Inicio Time Service"<br>Start-Service SPTimerV4</p> <p>Write-Output "Deshabilito LoopbackCheck"<br>New-ItemProperty HKLM:\System\CurrentControlSet\Control\Lsa -Name "DisableLoopbackCheck" -value "1" -PropertyType dword</p> <p>########################################<br>#Start Central Administration<br>########################################<br>Write-Output "Iniciando Central Administration..."<br>& 'C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\BIN\psconfigui.exe' -cmd showcentraladmin</p> <p>########################################<br>#Verifico el farm<br>########################################<br>Write-Output "Verifico la version del farm"<br>(get-spfarm).buildversion</p> <p>Write-Output "Se unio correctamente correctamente el servidor a la granja !!!."</p></td></tr></tbody></table>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4658355388656488549.post-55690444305307049242016-07-16T16:26:00.001-07:002016-07-16T17:54:02.363-07:00Parte 2–Sharepoint 2016 creando la granja<p><a href="http://todosharepoint.blogspot.com.ar/2016/07/sharepoint-2016-installation.html">Indice de Instalación de Sharepoint 2016</a></p> <p>Ingresar al<strong><u> Application Server “Custom”</u></strong> con una cuenta con privilegios de sysadmin sobre el SQL Server. Mi recomendación es ingresar con la cuenta de Farm para evitar problemas futuros. </p> <p>Prueba la conexión al SQL Server, mediante un archivo .udl <a title="https://blogs.technet.microsoft.com/michaelgriswold/2014/01/06/the-easy-way-to-test-sql-connectivity/" href="https://blogs.technet.microsoft.com/michaelgriswold/2014/01/06/the-easy-way-to-test-sql-connectivity/">https://blogs.technet.microsoft.com/michaelgriswold/2014/01/06/the-easy-way-to-test-sql-connectivity/</a></p> <p><a href="https://lh3.googleusercontent.com/-TEXawR3iUcA/V4rCoo6b2kI/AAAAAAAAG-g/YuzQW4x9LF0/s1600-h/image%25255B4%25255D.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="https://lh3.googleusercontent.com/-oo23E0jO1H0/V4rCpCuQtjI/AAAAAAAAG-k/fGzGmzy-LTM/image_thumb%25255B2%25255D.png?imgmax=800" width="137" height="97"></a></p> <p><a href="https://lh3.googleusercontent.com/-8ZvDLwkipUw/V4rCpbiOCsI/AAAAAAAAG-o/kcPRC11kUJY/s1600-h/image%25255B7%25255D.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="https://lh3.googleusercontent.com/-QnoF7cjq51U/V4rCp5Uz9bI/AAAAAAAAG-s/cfxCO53_pfk/image_thumb%25255B3%25255D.png?imgmax=800" width="198" height="244"></a></p> <p>Ejecuta una consola de PowerShell_ISE como ADMINISTRADOR</p> <p>%windir%\system32\WindowsPowerShell\v1.0\PowerShell_ISE.exe</p> <p>Recomendacion: agregar un break al inicio, e ir step by step ejecutando el script, así valida los valores en ejecución. En <font style="background-color: #ffff00">amarrillo</font> algunas secciones importantes del script.</p> <p>Para este script se definieron 3 cuentas de servicios, durante pasos posteriores se irán definiendo otras cuentas de servicio (Sharepoint SuperReader, Sharepoint SuperUser, Sharepoint Search Services, Sharepoint Claim-Kerberos, etc ):</p> <ul> <li><strong>svcspfarm</strong>: Sharepoint Server Farm Account, cuenta de identidad para el timer y central administration <li><strong>svcspwapp</strong>: Sharepoint Web Application Account, cuenta de identidad para ejecutar los application pools del IIS <li><strong>svcspsvcapps</strong>: Sharepoint Services Apps Account, cuenta de identidad para ejecutar los applications pools de los servicios.</li></ul> <p>Estas cuentas deben tener las siguientes local policies configuradas en cada servidor:</p> <ul> <li>Adjust memory quotas for a process <li>Allow log on locally <li>Impersonate a client after authentication <li>Log on as a batch job <li>Log on as a service <li>Replace a process level token</li></ul> <p>Cuando te lance la pantalla de configuración de alias (x86, x64), habilita todos los protocolos</p> <p><a href="https://lh3.googleusercontent.com/-Y2YA9xth_eA/V4rXJwEQlbI/AAAAAAAAG-8/gnzbibGfezk/s1600-h/image%25255B4%25255D.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="https://lh3.googleusercontent.com/-tz4D2WoY0DY/V4rXKYZTtqI/AAAAAAAAG_A/Z9n27_8Gmfg/image_thumb%25255B1%25255D.png?imgmax=800" width="441" height="288"></a></p> <p><a href="https://1drv.ms/u/s!Aje5PDbMsnwT_AtcBg0VnBvhGINt">Descargar Script</a> (validen los datos, tales como Host de SQL Server, cuentas, etc)</p> <table cellspacing="0" cellpadding="2" width="400" border="0"> <tbody> <tr> <td valign="top" width="400"> <p>############################################################<br># Crear un farm de SharePoint 2016<br># Creado por Christian Azcon<br>############################################################<br>$ver = $host | select version<br>if ($ver.Version.Major -gt 1) {$Host.Runspace.ThreadOptions = "ReuseThread"}<br>Add-PsSnapin Microsoft.SharePoint.PowerShell</p> <p>########################################<br># Defino Settings #<br>########################################</p> <p>#SQL Alias<br>$AliasName = "SQLSP2016" <br># Cambia el nombre por el del SQL--> FQDN<br>$ServerName = "HostNameSQLServer.contoso.net"</p> <p>$configPassphrase = 'SeguridadFraseSharepoint2016'</p> <p># Service accounts<br>$DOMAIN = "CONTOSO"</p> <p>Write-Output "Defino las cuentas de usuario"<br>$accounts = @{}<br>$accounts.Add("svcspfarm", @{"username" = "svcspfarm"; "password" = 'xxxxxxxxxxx'})<br>$accounts.Add("svcspwapp", @{"username" = "svcspwapp"; "password" = 'xxxxxxxxxxx'})<br>$accounts.Add("svcspsvcapps", @{"username" = "svcspsvcapps"; "password" = 'xxxxxxxxxxx'})<br> <br>Foreach ($account in $accounts.keys) {<br> $accounts.$account.Add("credential", (New-Object System.Management.Automation.PSCredential ($DOMAIN + "\" + $accounts.$account.username), (ConvertTo-SecureString -String $accounts.$account.password -AsPlainText -Force)))<br>}<br>Write-Output "Se inician las cuentas de usuario"</p> <p>########################################<br># Creo the SQL Alias<br>########################################</p> <p>$x86 = "HKLM:\Software\Microsoft\MSSQLServer\Client\ConnectTo"<br>$x64 = "HKLM:\Software\Wow6432Node\Microsoft\MSSQLServer\Client\ConnectTo"<br> <br>#Verifico si la clave ConnectTo ya existe, y la creo en caso contrario<br>if ((test-path -path $x86) -ne $True)<br>{<br> write-host "$x86 no existe"<br> New-Item $x86<br>}<br>if ((test-path -path $x64) -ne $True)<br>{<br> write-host "$x64 no existe"<br> New-Item $x64<br>}<br> <br>#Defino el tipo de alias<br>$TCPAlias = ("DBMSSOCN," + $ServerName)<br> <br>#Creo el TCP/IP Aliases<br>Write-Output "Creo los registros para el alias" <br>New-ItemProperty -Path $x86 -Name $AliasName -PropertyType String -Value $TCPAlias<br>New-ItemProperty -Path $x64 -Name $AliasName -PropertyType String -Value $TCPAlias<br>Write-Output "Se crearon los alias"</p> <p># Abro cliconfig para verificar el alias<br>Start-Process C:\Windows\System32\cliconfg.exe<br>Start-Process C:\Windows\SysWOW64\cliconfg.exe </p> <p># 30 segundos para habilitar protocolos<br>Write-Output "Habilite los protocolos en cliconfig" <br>Start-Sleep -s 30</p> <p>########################################<br># Inicio la configuracion de la granja<br>########################################</p> <p>Write-Output "Inicio la configuracion de la granja" <br># Farm configuration<br>$s_configPassphrase = (ConvertTo-SecureString -String $configPassphrase -AsPlainText -force)<br> <br>$serverDB = $AliasName<br>$dbConfig = "Sharepoint_Configuration"<br>$dbCentralAdmin = "Sharepoint_Content_CA"<br> <br>$caPort = 9191<br>$caAuthProvider = "NTLM"<br> <br>########################################<br># Creo la granja<br>########################################</p> <p>Write-Output "Creando la base de configuracion $dbConfig"</p> <p># Es recomendable que el front end tenga el host de distributed cache, por ello uso -skipRegisterAsDistributedCachehost $True<br>New-SPConfigurationDatabase -DatabaseName $dbConfig -DatabaseServer $serverDB -AdministrationContentDatabaseName $dbCentralAdmin -Passphrase $s_configPassphrase -FarmCredentials $accounts.svcspfarm.credential <font style="background-color: #ffff00">-skipRegisterAsDistributedCachehost $True -LocalServerRole Custom</font></p> <p><br># Verifico que la granja existe y esta corriendo. Si no, termino el script<br>$farm = Get-SPFarm<br>if (!$farm -or $farm.Status -ne "Online") {<br> Write-Output "La Farm no se creo o no esta ejecutandose. Fin del script. Revise los logs en la carpeta Temp"<br> exit<br>}<br> <br>Write-Output "Creando el site de Central Administration en el puerto $caPort"<br>New-SPCentralAdministration -Port $caPort -WindowsAuthProvider $caAuthProvider<br> <br>Write-Output "Se creo correctamente el Central Administration"<br> <br>########################################<br># Ejecuto tareas de configuracion de wizard<br>########################################<br> <br>Write-Output "Instalando Help Collections"<br>Install-SPHelpCollection -All<br> <br>Write-Output "Inicializando security"<br>Initialize-SPResourceSecurity<br> <br>Write-Output "Instalando services"<br>Install-SPService<br> <br>Write-Output "Registrando features"<br>Install-SPFeature -AllExistingFeatures<br> <br>Write-Output "Instalando Application Content"<br>Install-SPApplicationContent<br> <br>########################################<br># Add managed accounts<br>########################################</p> <p>Write-Output "Creando managed accounts ..."<br>#New-SPManagedAccount -credential $accounts.svcspfarm.credential Ya se agrega sola cuando se crea la granja<br>New-SPManagedAccount -credential $accounts.svcspwapp.credential<br>New-SPManagedAccount -credential $accounts.svcspsvcapps.credential</p> <p>########################################<br>#Start Central Administration<br>########################################<br>Write-Output "Iniciando Central Administration..."<br>& 'C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\BIN\psconfigui.exe' -cmd showcentraladmin</p> <p>########################################<br>#Verifico el farm<br>########################################<br>Write-Output "Verifico la version del farm"<br>(get-spfarm).buildversion</p> <p>Write-Output "Se completo el build del Farm correctamente!!!."</p></td></tr></tbody></table>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4658355388656488549.post-84813641668895752572016-07-16T15:47:00.001-07:002016-07-17T15:47:37.898-07:00Sharepoint 2016 Installation<p><font size="3">Voy a realizar un par de posts sobre la instalación de Sharepoint 2016. Algunos detalles iniciales, cómo la instalación de Windows Servers y SQL Server, los voy a excluir, pero si estaré realizando algún post sobre best practices sobre Windows Server y SQL Server (las cuales pueden variar de acuerdo a sus ambientes)</font></p> <p><font size="3">A partir de Sharepoint 2016, tenemos un nuevo concepto llamado “MinRole”, al usar este tipo de deployment, el administrador de la granja puede definir un role por cada servidor, y Sharepoint automáticamente configurará los servicios en cada servidor basado en el role elegido, optimizando la performance de la plataforma. Para mayor información puede consultar el siguiente link: <a title="https://technet.microsoft.com/en-us/library/mt346114(v=office.16).aspx" href="https://technet.microsoft.com/en-us/library/mt346114(v=office.16).aspx">https://technet.microsoft.com/en-us/library/mt346114(v=office.16).aspx</a></font></p> <p><font size="3">Hay 5 tipos de configuraciones:</font></p> <p><strong>Custom: </strong><em>Reservado para servicios aislados de otros servicios, Ej: Performance Point, 3rd applications, etc</em> <p><strong>Web Front End: </strong><em>Configuración optimizada para baja latencia hacia el usuario final</em> <p><strong>Single Server Farm: </strong><em>Provisiona todos los servicios en un sólo servidor, es para fines de desarrollo o de evaluación</em> <p><strong>Search: </strong><em>Reservado para funciones de search.</em> <p><strong>Application: </strong><em>Servicios optimizados para alto througput, tales como jobs, o request con alto volumen que corren de fondo.</em> <p><strong>Distributed Cache: </strong><em>Servicios de cache distribuida para la granja. </em> <p><u></u> <p><u>Sharepoint 2016 Min Role – Cantidad mínima de servidores para una granja funcional (5)</u> <p><a href="https://lh3.googleusercontent.com/-CxZMm5PJREE/V4q5cJNG5yI/AAAAAAAAG-E/KTmbKPqLrTY/s1600-h/image%25255B2%25255D.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="https://lh3.googleusercontent.com/-SkF_oKfzCkc/V4q5cm6lNWI/AAAAAAAAG-I/G_4UffO1lto/image_thumb.png?imgmax=800" width="199" height="244"></a> </p> <p>Para esta instalación sólo usaré 3 servidores, una topología clásica, ya que para utilizar MinRole debes tener 5 servers. Tanto el WebFront End y Application Server tendrá un rol “custom”.</p> <p><a href="https://lh3.googleusercontent.com/-N2RtQ31GiT8/V4q5c3UI-OI/AAAAAAAAG-M/AUuiAbHrdHc/s1600-h/image%25255B8%25255D.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="https://lh3.googleusercontent.com/-B5pDE3K_XcE/V4q5dcLYkpI/AAAAAAAAG-Q/EGZnhtyQLdk/image_thumb%25255B4%25255D.png?imgmax=800" width="167" height="331"></a></p> <p>Algunas definiciones:</p> <ul> <li>El custom WebFront End tendrá el host de Cache Distributed <li>Se usará SQL Server 2014 SP2 <li>El central administration estará en el Application Server “Custom”, y será este servidor el primero en instalar.</li></ul> <blockquote> <p><a href="http://todosharepoint.blogspot.com.ar/2016/07/sharepoint-2016-ga-installation.html"><font size="3">Parte 1 - Sharepoint 2016 GA Installation - Prerequisites Installer</font></a></p> <p><a href="http://todosharepoint.blogspot.com.ar/2016/07/part2sharepoint-2016-creando-la-granja.html"><font size="3">Parte 2 - Creando la granja de Sharepoint</font></a></p> <p><a href="http://todosharepoint.blogspot.com.ar/2016/07/parte-3-sharepoint-2016-conectandose-la.html"><font size="3">Parte 3 – Conectando el WebFront End a la granja</font></a></p> <p><a href="http://todosharepoint.blogspot.com.ar/2016/07/parte-4sharepoint-2016-sharepoint-web.html"><font size="3">Parte 4 – Creando Sharepoint Web Services Default Application Pool</font></a></p> <p><a href="http://todosharepoint.blogspot.com.ar/2016/07/parte-3sharepoint-2016creacion-de-usage.html"><font size="3">Parte 5 - Creación de Usage and Health Data Collection Service</font></a></p> <p><a href="http://todosharepoint.blogspot.com.ar/2016/07/parte-6sharepoint-2016-creacion-de-web.html"><font size="3">Parte 6 – Creación de web application</font></a></p> <p><a href="http://todosharepoint.blogspot.com.ar/2016/07/parte-7-sharepoint-2016-creacion-del.html"><font size="3">Parte 7 – Creación del Search Service</font></a></p></blockquote>Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-4658355388656488549.post-54190280567889587552016-07-16T04:52:00.001-07:002016-07-16T16:31:39.135-07:00Sharepoint 2016 GA Installation - Prerequisites Installer– Parte 1<p><a href="http://todosharepoint.blogspot.com.ar/2016/07/sharepoint-2016-installation.html">Indice de Instalación de Sharepoint 2016</a></p> <p>Los prerequisitos de Sharepoint 2016 GA son los siguientes:</p> <ul> <li><strong>(SQLNCli) Microsoft SQL Server 2012 Native Client: </strong><a href="http://www.microsoft.com/en-us/download/details.aspx?id=29065 ">http://www.microsoft.com/en-us/download/details.aspx?id=29065 <img title="This link is external to TechNet Wiki. It will open in a new window." border="0" src="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-components-sitefiles/10_5F00_external.png"></a> <li><strong>(Sync) Microsoft Sync Framework Runtime v1.0 SP1 (x64): <a href="http://www.microsoft.com/en-us/download/details.aspx?id=17616 ">http://www.microsoft.com/en-us/download/details.aspx?id=17616 <img title="This link is external to TechNet Wiki. It will open in a new window." border="0" src="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-components-sitefiles/10_5F00_external.png"></a></strong> <li><strong>(AppFabric) Windows Server AppFabric 1.1: <a href="http://www.microsoft.com/en-us/download/details.aspx?id=27115 ">http://www.microsoft.com/en-us/download/details.aspx?id=27115 <img title="This link is external to TechNet Wiki. It will open in a new window." border="0" src="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-components-sitefiles/10_5F00_external.png"></a></strong> <li><strong><strong><strong>(IDFX11) Microsoft Identity Extensions – Windows Identity Foundation v1.1: <a href="http://www.microsoft.com/en-us/download/details.aspx?id=15373 ">http://www.microsoft.com/en-us/download/details.aspx?id=15373 <img title="This link is external to TechNet Wiki. It will open in a new window." border="0" src="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-components-sitefiles/10_5F00_external.png"></a></strong></strong></strong> <li><strong><strong><strong>(MSIPCClient) Microsoft Information Protection and Control Client: <a href="http://go.microsoft.com/fwlink/?LinkID=528177 ">http://go.microsoft.com/fwlink/?LinkID=528177 <img title="This link is external to TechNet Wiki. It will open in a new window." border="0" src="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-components-sitefiles/10_5F00_external.png"></a></strong></strong></strong> <li><strong><strong>(KB3092423) Cumulative Update 7 (KB3092423) for Microsoft AppFabric 1.1 for Windows Server: <a title="https://www.microsoft.com/en-us/download/details.aspx?id=49171" href="https://www.microsoft.com/en-us/download/details.aspx?id=49171">https://www.microsoft.com/en-us/download/details.aspx?id=49171</a><a href="http://support.microsoft.com/en-us/kb/2671763"> <img title="This link is external to TechNet Wiki. It will open in a new window." border="0" src="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-components-sitefiles/10_5F00_external.png"></a></strong></strong> <li><strong>(WCFDataServices56) Microsoft WCF Data Services 5.6</strong> [<a href="http://www.microsoft.com/en-us/download/details.aspx?id=45308">http://www.microsoft.com/en-us/download/details.aspx?id=45308 <img title="This link is external to TechNet Wiki. It will open in a new window." border="0" src="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-components-sitefiles/10_5F00_external.png"> </a>] <li><strong>(ODBC) Microsoft ODBC Driver 11 for SQL Server: <a href="http://www.microsoft.com/en-us/download/details.aspx?id=36434 ">http://www.microsoft.com/en-us/download/details.aspx?id=36434 <img title="This link is external to TechNet Wiki. It will open in a new window." border="0" src="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-components-sitefiles/10_5F00_external.png"></a></strong> <li><strong>(DotNetFx) Microsoft .NET Framework 4.6: <a title="https://www.microsoft.com/en-us/download/details.aspx?id=48137" href="https://www.microsoft.com/en-us/download/details.aspx?id=48137">https://www.microsoft.com/en-us/download/details.aspx?id=48137</a> <img title="This link is external to TechNet Wiki. It will open in a new window." border="0" src="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-components-sitefiles/10_5F00_external.png"></strong> <li><strong><strong><strong>(MSVCRT11) Visual C++ Redistributable Package for Visual Studio 2013: </strong> <a href="http://www.microsoft.com/en-us/download/details.aspx?id=40784 ">http://www.microsoft.com/en-us/download/details.aspx?id=40784 <img title="This link is external to TechNet Wiki. It will open in a new window." border="0" src="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-components-sitefiles/10_5F00_external.png"> </a></strong></strong> <li><strong><strong><strong>(MSVCRT14) Visual C++ Redistributable Package for Visual Studio 2015: <a title="https://www.microsoft.com/en-us/download/details.aspx?id=48145" href="https://www.microsoft.com/en-us/download/details.aspx?id=48145">https://www.microsoft.com/en-us/download/details.aspx?id=48145</a> <img title="This link is external to TechNet Wiki. It will open in a new window." border="0" src="http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-components-sitefiles/10_5F00_external.png"></strong></strong></strong></li></ul> <p> </p> <p>IMPORTANTE: cuando bajes los archivos de internet, verifica que no esté bloqueado el archivo. Principalmente <strong>Microsoft WCF Data Services 5.6</strong> </p> <p><a href="https://lh3.googleusercontent.com/-kJYNKIF7AKI/V4ogA0KASeI/AAAAAAAAG80/40KVZO8oUtI/s1600-h/image6.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="https://lh3.googleusercontent.com/-K3rK62hKhr8/V4ogBFVuPnI/AAAAAAAAG84/LtYOxZZ4L3U/image_thumb2.png?imgmax=800" width="244" height="109"></a></p> <p>Para saber los prerrequisitos puedes ejecutar el siguiente comando: <font style="background-color: #ffff00">prerequisiteinstaller.exe /?</font></p> <p><a href="https://lh3.googleusercontent.com/-zBPUgoRCKwU/V4ogBt55pZI/AAAAAAAAG88/2ci5L5r8rgo/s1600-h/image3.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="https://lh3.googleusercontent.com/-YtDhHm3Yhu8/V4ogCK79FjI/AAAAAAAAG9A/uFIzYccw8bE/image_thumb1.png?imgmax=800" width="823" height="652"></a></p> <p><font style="background-color: #ffff00">Script para instalar los prerequisitos:</font> se supone que la imagen de Sharepoint (.iso) está montada en la partición E:\</p> <p>Primer ejecutar: Set-ExecutionPolicy -ExecutionPolicy Unrestricted <p>IMPORTANTE: ejecutar la parte de Start-Process en una línea completa</p> <table cellspacing="0" cellpadding="2" width="1058" border="1"> <tbody> <tr> <td valign="top" width="1056">$SharePoint2016Path = "D:\Prods\SP2016-Prerequisites" <br> <br>Start-Process "E:\PrerequisiteInstaller.exe" –ArgumentList "/SQLNCli:$SharePoint2016Path\sqlncli.msi /Sync:D:\Prods\SP2016-Prerequisites\Synchronization.msi /AppFabric:$SharePoint2016Path\WindowsServerAppFabricSetup_x64.exe /IDFX11:$SharePoint2016Path\MicrosoftIdentityExtensions-64.msi /MSIPCClient:$SharePoint2016Path\setup_msipc_x64.exe /KB3092423:$SharePoint2016Path\AppFabric-KB3092423-x64-ENU.exe /WCFDataServices56:$SharePoint2016Path\WcfDataServices56.exe /ODBC:$SharePoint2016Path\msodbcsql.msi /DotNetFx:$SharePoint2016Path\NDP46-KB3045557-x86-x64-AllOS-ENU.exe /MSVCRT11:$SharePoint2016Path\vcredist_x64.exe /MSVCRT14:$SharePoint2016Path\vc_redist.x64.exe"</td></tr></tbody></table> <p><a href="https://1drv.ms/u/s!Aje5PDbMsnwT_AtcBg0VnBvhGINt">Descargar script de powershell</a></p> <p><a href="https://lh3.googleusercontent.com/-8WGqUUrqi_g/V4ogCspIUiI/AAAAAAAAG9E/B_RutrzMk2A/s1600-h/image%25255B4%25255D.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="https://lh3.googleusercontent.com/-gqCrn5b1R7Q/V4ogDCvUVaI/AAAAAAAAG9I/ZMML1NjGKv8/image_thumb%25255B1%25255D.png?imgmax=800" width="481" height="340"></a></p> <p> </p> <p>Una vez instalado los prerequisitos, puedes instalar los binarios de Sharepoint 2016</p> <p><a href="https://lh3.googleusercontent.com/-Cs-io2lbTNo/V4qz8Qo_HXI/AAAAAAAAG9o/J87q8Tntxhc/s1600-h/image%25255B4%25255D.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="https://lh3.googleusercontent.com/-QfoKlOPKb8Y/V4qz8y0RaII/AAAAAAAAG9s/sxmtRtkTOw8/image_thumb%25255B1%25255D.png?imgmax=800" width="339" height="314"></a></p> <p><a href="https://lh3.googleusercontent.com/-kCfOOjqDZ2k/V4qz9LCXQ_I/AAAAAAAAG9w/3AZrnamFIZo/s1600-h/image%25255B8%25255D.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="https://lh3.googleusercontent.com/-x4iW_9rL504/V4qz9oEAT7I/AAAAAAAAG90/7vCz7KuJzk8/image_thumb%25255B3%25255D.png?imgmax=800" width="338" height="310"></a></p> <p>IMPORTANTE: una vez instalado no lanzar el configuration Wizard.</p> <p> </p> <p><strong><u>ERROR EN LA INSTALACION PARA TENER EN CUENTA</u></strong></p> <p>Al instalarlo por powershell o por GUI, me lanzaba el siguiente error. Era porque cuando se bajó Microsoft WCF Data Services 5.6, había quedado bloqueado por Windows.</p> <p><a href="https://lh3.googleusercontent.com/-sfqYOsdalFc/V4ogDXPrJnI/AAAAAAAAG9M/IFU4E6WqzB8/s1600-h/image%25255B7%25255D.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="https://lh3.googleusercontent.com/-i0PgJsXxEAs/V4ogD20p2SI/AAAAAAAAG9Q/IXC4I3TOe2I/image_thumb%25255B2%25255D.png?imgmax=800" width="244" height="113"></a></p> <p>Joining Farm failed. The exception type is Microsoft.SharePoint.Upgrade.SPUpgradeException The exception is One or more types failed to load</p> <p><a href="https://lh3.googleusercontent.com/-ed52iNxYi6A/V4ogEV0L5II/AAAAAAAAG9U/OeRoSTzVyyE/s1600-h/image12.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="https://lh3.googleusercontent.com/-Gq6WFDdxPzY/V4ogFF5vQnI/AAAAAAAAG9Y/4pTlHEhVPWE/image_thumb6.png?imgmax=800" width="615" height="528"></a></p> <p>Joining Farm failed. The exception type is Microsoft.SharePoint.Upgrade.SPUpgradeException The exception is One or more types failed to load. Please refer to the upgrade log for more details. StackTrace is at Microsoft.SharePoint.Upgrade.SPActionSequence.LoadUpgradeActions() at Microsoft.SharePoint.Upgrade.SPActionSequence.get_Actions() at Microsoft.SharePoint.Upgrade.SPActionSequence.get_ActionsInternal() at Microsoft.SharePoint.Upgrade.SPUtility.GetLatestTargetSchemaVersionBeforeMajorVersion(Type typeActionSequence, Int32 majorVer) at Microsoft.SharePoint.Upgrade.SPSiteSequence.get_PreviousTargetSchemaVersion() at Microsoft.SharePoint.Upgrade.SPUpgradeSession.PopulateSequencesTable(StringBuilder sqlstr, Boolean siteSequence) at Microsoft.SharePoint.Upgrade.SPUp... <br>07/13/2016 08:53:16.30* psconfigui.exe (0x11B8) 0x0954 SharePoint Foundation Topology aj4j4 Unexpected ...gradeSession.ConstructSiteNeedsUpgradeQuery(Guid siteId) at Microsoft.SharePoint.Upgrade.SPContentDatabaseSequence.GetSiteNeedsUpgrade(SPUpgradeSession session, SPContentDatabase database, Dictionary`2& dictSitesNeedUpgrade, Dictionary`2& dictSitesNeedFeatureUpgrade) at Microsoft.SharePoint.Upgrade.SPContentDatabaseSequence.AddNextLevelObjects() at Microsoft.SharePoint.Upgrade.SPHierarchyManager.Grow(SPTree`1 root, Boolean bRecursing, SPDelegateManager delegateManager) at Microsoft.SharePoint.Upgrade.SPHierarchyManager.Grow(SPTree`1 root, SPDelegateManager delegateManager) at Microsoft.SharePoint.Upgrade.SPUpgradeSession.NeedsUpgrade(Object o, Boolean bRecurse) at Microsoft.SharePoint.Upgrade.SPUpgradeSession.ReflexiveNeedsUpgrade(Object o, Boolean bRecurse) at ... <br>07/13/2016 08:53:16.30* psconfigui.exe (0x11B8) 0x0954 SharePoint Foundation Topology aj4j4 Unexpected ...Microsoft.SharePoint.Upgrade.SPUpgradeSession.NeedsUpgrade(Object o, Boolean bRecurse) at Microsoft.SharePoint.Upgrade.SPUpgradeSession.ReflexiveNeedsUpgrade(Object o, Boolean bRecurse) at Microsoft.SharePoint.Upgrade.SPUpgradeSession.NeedsUpgrade(Object o, Boolean bRecurse) at Microsoft.SharePoint.Upgrade.SPUpgradeSession.ReflexiveNeedsUpgrade(Object o, Boolean bRecurse) at Microsoft.SharePoint.Upgrade.SPUpgradeSession.NeedsUpgrade(Object o, Boolean bRecurse) at Microsoft.SharePoint.Upgrade.SPUpgradeSession.ReflexiveNeedsUpgrade(Object o, Boolean bRecurse) at Microsoft.SharePoint.Upgrade.SPUpgradeSession.NeedsUpgrade(Object o, Boolean bRecurse) at Microsoft.SharePoint.Administration.SPServerProductInfo.DetectLocalUpgradeStatus() at Microsoft.SharePoint.Admi... <br>07/13/2016 08:53:16.30* psconfigui.exe (0x11B8) 0x0954 SharePoint Foundation Topology aj4j4 Unexpected ...nistration.SPServerProductInfo.DetectLocalProductVersions(SPProductVersions prodVer) at Microsoft.SharePoint.Administration.SPServerProductInfo.UpdateProductInfoInDatabase(Guid serverGuid) at Microsoft.SharePoint.Administration.SPFarm.Join(Boolean skipRegisterAsDistributedCacheHost, Nullable`1 serverRole) <br>07/13/2016 08:53:16.30 psconfigui.exe (0x11B8) </p> <p> </p> <p>SharePoint Foundation Upgrade SPSiteWssSequence ajywy ERROR Exception: <font style="background-color: #ffff00">Could not load file or assembly 'Microsoft.Data.Edm, Version=5.6.0.0, Culture=neutral,</font> PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified. 00000000-0000-0000-0000-000000000000 </p> <p>SharePoint Foundation Upgrade SPSiteWssSequence ajywy ERROR Exception: <font style="background-color: #ffff00">Could not load file or assembly 'Microsoft.Data.OData, Version=5.6.0.0, Culture=neutral, </font>PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified. 00000000-0000-0000-0000-000000000000 <br>07/13/2016 08:53:16.30 psconfigui.exe (0x11B8) 0x0954 SharePoint Foundation Topology aj4j4 Unexpected Joining Farm failed. The exception type is <font style="background-color: #ffff00">Microsoft.SharePoint.Upgrade.SPUpgradeException The exception is One or more types failed to load</font>. Please refer to the upgrade log for more details. StackTrace is at Microsoft.SharePoint.Upgrade.SPActionSequence.LoadUpgradeActions() at Microsoft.SharePoint.Upgrade.SPActionSequence.get_Actions() at Microsoft.SharePoint.Upgrade.SPActionSequence.get_ActionsInternal() at Microsoft.SharePoint.Upgrade.SPUtility.GetLatestTargetSchemaVersionBeforeMajorVersion(Type typeActionSequence, Int32 majorVer) at Microsoft.SharePoint.Upgrade.SPSiteSequence.get_PreviousTargetSchemaVersion() at Microsoft.SharePoint.Upgrade.SPUpgradeSession.PopulateSequencesTable(StringBuilder sqlstr, Boolean siteSequence) at Microsoft.SharePoint.Upgrade.SPUp... <br>07/13/2016 08:53:16.30* psconfigui.exe (0x11B8) 0x0954 SharePoint Foundation Topology aj4j4 Unexpected ...gradeSession.ConstructSiteNeedsUpgradeQuery(Guid siteId) at Microsoft.SharePoint.Upgrade.SPContentDatabaseSequence.GetSiteNeedsUpgrade(SPUpgradeSession session, SPContentDatabase database, Dictionary`2& dictSitesNeedUpgrade, Dictionary`2& dictSitesNeedFeatureUpgrade) at Microsoft.SharePoint.Upgrade.SPContentDatabaseSequence.AddNextLevelObjects() at Microsoft.SharePoint.Upgrade.SPHierarchyManager.Grow(SPTree`1 root, Boolean bRecursing, SPDelegateManager delegateManager) at Microsoft.SharePoint.Upgrade.SPHierarchyManager.Grow(SPTree`1 root, SPDelegateManager delegateManager) at Microsoft.SharePoint.Upgrade.SPUpgradeSession.NeedsUpgrade(Object o, Boolean bRecurse) at Microsoft.SharePoint.Upgrade.SPUpgradeSession.ReflexiveNeedsUpgrade(Object o, Boolean bRecurse) at ... <br>07/13/2016 08:53:16.30* psconfigui.exe (0x11B8) 0x0954 SharePoint Foundation Topology aj4j4 Unexpected ...Microsoft.SharePoint.Upgrade.SPUpgradeSession.NeedsUpgrade(Object o, Boolean bRecurse) at Microsoft.SharePoint.Upgrade.SPUpgradeSession.ReflexiveNeedsUpgrade(Object o, Boolean bRecurse) at Microsoft.SharePoint.Upgrade.SPUpgradeSession.NeedsUpgrade(Object o, Boolean bRecurse) at Microsoft.SharePoint.Upgrade.SPUpgradeSession.ReflexiveNeedsUpgrade(Object o, Boolean bRecurse) at Microsoft.SharePoint.Upgrade.SPUpgradeSession.NeedsUpgrade(Object o, Boolean bRecurse) at Microsoft.SharePoint.Upgrade.SPUpgradeSession.ReflexiveNeedsUpgrade(Object o, Boolean bRecurse) at Microsoft.SharePoint.Upgrade.SPUpgradeSession.NeedsUpgrade(Object o, Boolean bRecurse) at Microsoft.SharePoint.Administration.SPServerProductInfo.DetectLocalUpgradeStatus() at Microsoft.SharePoint.Admi... <br>07/13/2016 08:53:16.30* psconfigui.exe (0x11B8) 0x0954 SharePoint Foundation Topology aj4j4 Unexpected ...nistration.SPServerProductInfo.DetectLocalProductVersions(SPProductVersions prodVer) at Microsoft.SharePoint.Administration.SPServerProductInfo.UpdateProductInfoInDatabase(Guid serverGuid) at Microsoft.SharePoint.Administration.SPFarm.Join(Boolean skipRegisterAsDistributedCacheHost, Nullable`1 serverRole) <br>07/13/2016 08:53:16.30 psconfigui.exe (0x11B8) 0x0954 SharePoint Foundation Topology 88ah High Unjoining the farm. <br>07/13/2016 08:53:16.30 psconfigui.exe (0x11B8) 0x0954 SharePoint Foundation Topology 7f7z Medium Attempting to unprovision the instance of the service. <br>07/13/2016 08:53:16.32 psconfigui.exe (0x11B8) 0x0954 SharePoint Foundation Config Cache 8xqz Medium Updating SPPersistedObject SPUsageServiceInstance. Version: 3285 Ensure: False, SkipObjectCallbackCheck: False, HashCode: 66389619, Id: 32642bdc-4d98-44c3-a772-c41b85fdd60f, Stack: at Microsoft.SharePoint.Administration.SPPersistedObject.BaseUpdateCore(Boolean legacyUpdate) at Microsoft.SharePoint.Administration.SPPersistedObject.Update() at Microsoft.SharePoint.Administration.SPServer.Unprovision() at Microsoft.SharePoint.Administration.SPFarm.Unjoin() at Microsoft.SharePoint.Administration.SPFarm.Join(Boolean skipRegisterAsDistributedCacheHost, Nullable`1 serverRole) at Microsoft.SharePoint.PostSetupConfiguration.ConfigurationDatabaseTask.CreateOrConnectConfigDb() at Microsoft.SharePoint.PostSetupConfiguration.ConfigurationDatabaseTask.Run() at Microsoft.Sh... <br>07/13/2016 08:53:16.32* psconfigui.exe (0x11B8) 0x0954 SharePoint Foundation Config Cache 8xqz Medium ...arePoint.PostSetupConfiguration.TaskThread.ExecuteTask() at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) at System.Threading.ThreadHelper.ThreadStart() </p>Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-4658355388656488549.post-60352556816170401022015-10-27T01:08:00.001-07:002015-10-27T01:08:58.628-07:00Sharepoint 2016 – AppFabric/Redis (Skype for Business Server Statistics Manager)<p>Hace un tiempo había escrito un post sobre la posibilidad de usar Redis cómo reemplazo de AppFabric para Sharepoint 2016.</p> <p><a title="http://todosharepoint.blogspot.com.ar/2015/04/redis-cache-para-sharepoint-2016.html" href="http://todosharepoint.blogspot.com.ar/2015/04/redis-cache-para-sharepoint-2016.html">http://todosharepoint.blogspot.com.ar/2015/04/redis-cache-para-sharepoint-2016.html</a></p> <p>Y cómo explique en ese post, Microsoft deprecó AppFabric (2 de abril de 2016)</p> <p><a title="http://blogs.msdn.com/b/spses/archive/2015/07/20/sharepoint-2013-support-of-app-fabric-1-1-ending-on-2-april-2016-is-sharepoint-affected.aspx" href="http://blogs.msdn.com/b/spses/archive/2015/07/20/sharepoint-2013-support-of-app-fabric-1-1-ending-on-2-april-2016-is-sharepoint-affected.aspx">http://blogs.msdn.com/b/spses/archive/2015/07/20/sharepoint-2013-support-of-app-fabric-1-1-ending-on-2-april-2016-is-sharepoint-affected.aspx</a></p> <p>Sigo pensando que es una muy mala decisión el uso de AppFabric con Sharepoint 2016, pienso que lanzar una nueva versión con una versión deprecada, con bastantes limitantes en el uso, performance buena pero no excelente, administración compleja, sin dashboard del estado actual de la cache, etc no es la decisión más adecuada de MS.</p> <p>Les dejo algunos links donde explican porque usar Redis en vez de AppFabric</p> <p><a title="https://redislabs.com/blog/appfabric-coming-apart-top-5-reasons-to-move-to-redis" href="https://redislabs.com/blog/appfabric-coming-apart-top-5-reasons-to-move-to-redis">https://redislabs.com/blog/appfabric-coming-apart-top-5-reasons-to-move-to-redis</a></p> <p><a title="http://www.gartner.com/technology/reprints.do?id=1-2PO8Z2O&ct=151013&st=sb" href="http://www.gartner.com/technology/reprints.do?id=1-2PO8Z2O&ct=151013&st=sb">http://www.gartner.com/technology/reprints.do?id=1-2PO8Z2O&ct=151013&st=sb</a></p> <p>AppFabric permite usar estructuras de datos tales como sorted sets, lists, queues, además de tener un gran servicio de replicación. Redis es más que una cache (key-vaue), es una herramienta que podrías usar para <a href="http://blog.getspool.com/2011/11/29/fast-easy-realtime-metrics-using-redis-bitmaps/">realtime metrics</a>, analytics, etc.</p> <p>Ya empezó MS a lanzar productos más integrados con Redis, por ejemplo en el producto Skype for Business Real Time Statistics Manager</p> <p><a title="http://blogs.technet.com/b/dodeitte/archive/2015/10/24/skype-for-business-server-real-time-statistics-manager.aspx" href="http://blogs.technet.com/b/dodeitte/archive/2015/10/24/skype-for-business-server-real-time-statistics-manager.aspx">http://blogs.technet.com/b/dodeitte/archive/2015/10/24/skype-for-business-server-real-time-statistics-manager.aspx</a></p> <p><em>Skype for Business Server Statistics Manager is a powerful tool that allows you to view Skype for Business Server health and performance data in real time. You can poll performance data across hundreds of servers every few seconds, and view the results instantly on the Statistics Manager Website.</em></p> <p><img alt=" " src="http://blogs.technet.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-00-74-93/2015_5F00_10_5F00_24_5F00_01_2D00_29.png" width="415" height="311"></p> <p><img src="https://guybachar.files.wordpress.com/2015/10/image34.png" width="420" height="160"></p> <p><img src="https://guybachar.files.wordpress.com/2015/10/image32.png" width="644" height="337"></p> <p>No sería genial tener tu dashboard de los distintos servidores de Sharepoint 2016 que te permita ver el estado actual de la cache, performance issues, Key Health Indicator (KHI) thresholds, alertas sobre datos (Ej: consumo de cache, monitoreo de eventos), quién está en online, track user location real time, análisis de networking/flow, listado de últimos documentos cargados,etc, etc, en resumen tener un análisis en tiempo real de cual indicador de Sharepoint</p> Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4658355388656488549.post-6675098380722103622015-09-09T02:26:00.001-07:002015-09-09T02:26:42.149-07:00Office 365 Client Performance Analyzer–Evaluando Sharepoint Online<p>Microsoft Office 365 Client Performance Analyzer es un programa desarrollado por Microsoft. Sirve para identificar issues que afectan la performance entre la computadora cliente y Office 365.</p> <p><a title="https://support.office.com/en-us/article/Office-365-Client-Performance-Analyzer-e16b0928-bd38-423b-bd4e-b8402bc106aa" href="https://support.office.com/en-us/article/Office-365-Client-Performance-Analyzer-e16b0928-bd38-423b-bd4e-b8402bc106aa">https://support.office.com/en-us/article/Office-365-Client-Performance-Analyzer-e16b0928-bd38-423b-bd4e-b8402bc106aa</a></p> <p>Se puede descargar desde el siguiente link: <a title="http://go.microsoft.com/fwlink/p/?LinkId=506979" href="http://go.microsoft.com/fwlink/p/?LinkId=506979">http://go.microsoft.com/fwlink/p/?LinkId=506979</a></p> <p>Se instala en C:\Program Files (x86)\Microsoft Office 365 Client Performance Analyzer, y contiene lo siguiente.</p> <p><a href="http://lh3.googleusercontent.com/-RgkZLie6D-A/Ve_6kMekp6I/AAAAAAAAG38/gVOTMkLq0HA/s1600-h/image%25255B25%25255D.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; margin: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://lh3.googleusercontent.com/-1SPzZ4YkAmQ/Ve_6mSNTcGI/AAAAAAAAG4E/vDFhyhEK_RM/image_thumb%25255B12%25255D.png?imgmax=800" width="639" height="202"></a></p> <p>Primer ejecutamos un ipconfig /flushdns para limpiar los dns cacheados.</p> <p>Ejecutar Microsoft.Office365.Client.Performance.Analyzer.exe</p> <p><a href="http://lh3.googleusercontent.com/-Lm3MsoMfh98/Ve_6olhzyhI/AAAAAAAAG4M/79hihV2oW6A/s1600-h/image%25255B17%25255D.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://lh3.googleusercontent.com/-MPY-zrodKSo/Ve_6sX1RZ5I/AAAAAAAAG4U/E15ULBvg1pw/image_thumb%25255B9%25255D.png?imgmax=800" width="564" height="496"></a></p> <p>Agrego la url del tenant. También puedo marcar para que Office 365 Client Performance Analyzer (OCPA) pueda ejecutarse cómo servicio, para que se ejecute cada un determinado tiempo.</p> <p><a href="http://lh3.googleusercontent.com/-Nd25MotagGw/Ve_6uFR51TI/AAAAAAAAG4c/UMAj7C8KzZM/s1600-h/image%25255B21%25255D.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://lh3.googleusercontent.com/-MCiCc-3iQd4/Ve_6wi9A7oI/AAAAAAAAG4k/NHxJ9yxcWtY/image_thumb%25255B11%25255D.png?imgmax=800" width="596" height="357"></a></p> <p> </p> <p> </p> <p><a href="http://lh3.googleusercontent.com/-47rgMDbc-_0/Ve_6ykiosII/AAAAAAAAG4s/_IUvAQNfknY/s1600-h/image%25255B9%25255D.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://lh3.googleusercontent.com/-GhAWzSGwazQ/Ve_63Xmm-SI/AAAAAAAAG40/AKmdpcUn4dE/image_thumb%25255B5%25255D.png?imgmax=800" width="582" height="514"></a></p> <p><a href="http://lh3.googleusercontent.com/-TS6DzgUC2es/Ve_65fkPhaI/AAAAAAAAG48/YW8gKOesNrk/s1600-h/image%25255B13%25255D.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://lh3.googleusercontent.com/--690JguNFiI/Ve_69tGJMhI/AAAAAAAAG5E/gJXm6pXidBE/image_thumb%25255B7%25255D.png?imgmax=800" width="571" height="252"></a></p> <p>En los resultados veo que la resolución DNS es alta.</p> <p>Haremos la prueba seteando los dns de google (8.8.8.8 y 8.4.4.4)</p> <p><a href="http://lh3.googleusercontent.com/-yMVWR_vb5cg/Ve_6_X5Y9HI/AAAAAAAAG5M/rzrW9wZqbqc/s1600-h/image%25255B29%25255D.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://lh3.googleusercontent.com/-KvsUBZqL9mk/Ve_7DQnEvVI/AAAAAAAAG5U/A3fd0ImkARQ/image_thumb%25255B14%25255D.png?imgmax=800" width="602" height="308"></a></p> <p>Limpio los dns cacheados ipconfig /flushdns</p> <p><a href="http://lh3.googleusercontent.com/-qxuCiRUDNeA/Ve_7EVpFqEI/AAAAAAAAG5c/x7TFskP1zSg/s1600-h/image%25255B33%25255D.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://lh3.googleusercontent.com/--wTampeUem4/Ve_7G67ltzI/AAAAAAAAG5k/LUeb3YA53DY/image_thumb%25255B16%25255D.png?imgmax=800" width="627" height="147"></a></p> <p>Y probamos de nuevo</p> <p><a href="http://lh3.googleusercontent.com/-nEI0Ar28OqY/Ve_7KuqZFwI/AAAAAAAAG5s/hQNmiXm87lQ/s1600-h/image%25255B37%25255D.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://lh3.googleusercontent.com/-0biF-L2B0vA/Ve_7PiOUTiI/AAAAAAAAG50/zmSTb39cuFw/image_thumb%25255B18%25255D.png?imgmax=800" width="627" height="391"></a></p> <p><a href="http://lh3.googleusercontent.com/-DSiOKPMsXXo/Ve_7Q8OJVjI/AAAAAAAAG58/Oe_c8tNhuxs/s1600-h/image%25255B45%25255D.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://lh3.googleusercontent.com/-AsnsbggIko8/Ve_7S9jm_RI/AAAAAAAAG6E/W1qMRkE8iVk/image_thumb%25255B24%25255D.png?imgmax=800" width="628" height="159"></a></p> <p>Se nota que la latencia es mucho mayor usando los dns de Google desde Argentina (Buenos Aires) y Fibertel.</p> <p>Si tienen más resultados desde Argentina, me avisan</p> <p><font size="3"><u>Más información:</u></font></p> <h3><font style="font-weight: normal" size="3">Network planning and performance tuning for Office 365: </font><a title="https://msdn.microsoft.com/en-us/library/dn850362.aspx" href="https://msdn.microsoft.com/en-us/library/dn850362.aspx"><font style="font-weight: normal" size="3">https://msdn.microsoft.com/en-us/library/dn850362.aspx</font></a></h3> Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4658355388656488549.post-56876872788854862952015-08-16T03:24:00.001-07:002015-11-06T04:16:09.491-08:00Server-side activities have been updated. You need to restart SharePoint Designer to use the updated version of activities.<p><font style="background-color: #ffff00">ACTUALIZACIÓN:</font> ejecutar Sharepoint Designer cómo administrador,también soluciona el problema</p> <p><a href="http://lh3.googleusercontent.com/-P8z-sFBcncc/VjyaBg7DcgI/AAAAAAAAG6U/7TiVixamBrs/s1600-h/image%25255B3%25255D.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; margin: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://lh3.googleusercontent.com/-ff0ZD0upbU8/VjyaCBtZR0I/AAAAAAAAG6Y/y_0Uqz4-zMo/image_thumb.png?imgmax=800" width="244" height="164"></a></p> <p>Al abrir un <u>workflow</u> (Platform Type: Sharepoint 2013 Workflow) de un sitio de Sharepoint Online con Sharepoint Designer (sobre Windows 10) me lanza el error:</p> <p><i>Server-side activities have been updated. You need to restart SharePoint Designer to use the updated version of activities.</i> <p><a href="http://lh3.googleusercontent.com/-Hu2RQir6sUs/VdBkxZEdtOI/AAAAAAAAG2U/3ziIHc8-5kA/s1600-h/image%25255B15%25255D.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="http://lh3.googleusercontent.com/-paCFOU5WaYA/VdBkx3lRGQI/AAAAAAAAG2c/cHjXnVJMH9I/image_thumb%25255B7%25255D.png?imgmax=800" width="674" height="121"></a> <p>Si me abría un Workflow configurado como “Platform Type: Sharepoint 2010 Workflow”. <p><u>Hice varias cosas:</u> <ul> <li><a href="http://www.c-sharpcorner.com/UploadFile/sagarp/how-to-clear-your-sharepoint-designer-20102013-cache/">Limpiar la cache de Sharepoint Designer</a> <li>Reinstale Sharepoint Designer</li></ul> <p>Ninguna de estas soluciones anduvo. En otra máquina, funcionaba sin problemas. Por lo cual copie la carpeta %USERPROFILE%\AppData\Local\Microsoft\WebsiteCache a la máquina donde no me funcionaba el abrir un workflow</p> <p><a href="http://lh3.googleusercontent.com/-iqG3gW6pdg0/VdBky6rY5zI/AAAAAAAAG2k/9p82nsS-KTE/s1600-h/image%25255B3%25255D.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="http://lh3.googleusercontent.com/-9vgXFVAfwY0/VdBkzZVZXLI/AAAAAAAAG2o/0YvqBYYjc-o/image_thumb%25255B1%25255D.png?imgmax=800" width="624" height="180"></a></p> <p>El sitio que no me funcionaba, tenía los siguientes assemblies:</p> <p><a href="http://lh3.googleusercontent.com/-pCsXDoD_-iY/VdBkz5QHslI/AAAAAAAAG20/GI8EL7fFdmU/s1600-h/image%25255B7%25255D.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="http://lh3.googleusercontent.com/-ReFS_8693Ec/VdBk0FNtMgI/AAAAAAAAG28/vUAdXr6U2N4/image_thumb%25255B3%25255D.png?imgmax=800" width="505" height="88"></a></p> <p><a href="http://lh3.googleusercontent.com/-rQqBzl9h6Y8/VdBk0lHozZI/AAAAAAAAG3E/qNveJKyg4ws/s1600-h/image%25255B11%25255D.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="http://lh3.googleusercontent.com/-249aQ3XsjLQ/VdBk15anF5I/AAAAAAAAG3M/2aGn8J5I5_s/image_thumb%25255B5%25255D.png?imgmax=800" width="635" height="120"></a></p> Unknownnoreply@blogger.com2tag:blogger.com,1999:blog-4658355388656488549.post-83915388394652311262015-07-09T14:20:00.001-07:002015-07-09T14:20:29.165-07:00Page Viewer con un reporte de SSRS 2014 en Sharepoint 2013 con IE 11<p>Cuando utilizamos un PageViewer para mostrar un reporte de Reporting Services 2014, y vemos que la página no se expande de forma automática en IE11, tenemos que editar la página <strong>ReportViewer.aspx</strong></p> <p><a href="http://lh3.googleusercontent.com/-xv4oWWTGTf8/VZ7lioThFSI/AAAAAAAAG1Y/5ArbE9pSsSs/s1600-h/image3.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="http://lh3.googleusercontent.com/-CYNpgiUrq6M/VZ7ljGs1DxI/AAAAAAAAG1g/IVsE2KYdDbc/image_thumb1.png?imgmax=800" width="660" height="307"></a></p> <p>La página se encuentra (depende del path donde instalaste SSRS) en</p> <p>E:\Data\Microsoft\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer\Pages\ReportViewer.aspx</p> <p>Agregar la siguiente línea</p> <p><strong><meta http-equiv="X-UA-Compatible" content="IE=9"></strong></p> <p><a href="http://lh3.googleusercontent.com/-IQNJ0cgq6iI/VZ7ljpMp-5I/AAAAAAAAG1o/nBlhgpuR9Is/s1600-h/image8.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="http://lh3.googleusercontent.com/-Lvkg_x-XHcc/VZ7lkR8_HBI/AAAAAAAAG1w/H-ho_gczBR4/image_thumb4.png?imgmax=800" width="647" height="264"></a></p> <p>Se recomienda reiniciar el servicio de SSRS desde services.msc. Una vez reiniciado este servicio, ya se visualiza bien el page viewer.</p> <p><a href="http://lh3.googleusercontent.com/-XfkVgWE9d88/VZ7lk5oUr4I/AAAAAAAAG14/ZqIvvIA5OPg/s1600-h/image12.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="http://lh3.googleusercontent.com/-3UQFZ8VUqcQ/VZ7llUoLf0I/AAAAAAAAG2A/bem4ET6KnLc/image_thumb6.png?imgmax=800" width="649" height="230"></a></p> Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4658355388656488549.post-12938669965340728112015-07-09T03:43:00.001-07:002015-07-09T03:43:06.842-07:00Limpiar la cache de Office Web Apps 2013<p>Office Web Apps automaticamente cachea los documentos dentro de un determinado tiempo configurado en el servicio. Cuando actualizas un documento, y necesitas refrescar la cache de OWA para que el documento actualizado se vea reflejado de forma online, tienes que realizar los siguientes pasos:</p> <p>Abrir una consola con permisos de admin, y ejecutar</p> <blockquote> <p><strong>Stop-Service wacsm</strong></p></blockquote> <p><a href="http://lh3.googleusercontent.com/-086vAfIO90k/VZ5QJp3LHPI/AAAAAAAAGz8/Hr4f0-5x9rE/s1600-h/image%25255B7%25255D.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://lh3.googleusercontent.com/-eNK-OaRGU3g/VZ5QKVZWDjI/AAAAAAAAG0E/3Gw94PyHbTQ/image_thumb%25255B3%25255D.png?imgmax=800" width="657" height="126"></a></p> <p>A continuación ejecutar el siguiente comando:<strong> <em>Get</em>-<em>OfficeWebAppsFarm</em></strong></p> <p>Hay dos parámetros que nos interesan: CacheLocation y RenderingLocalCacheLocation</p> <p><a href="http://lh3.googleusercontent.com/-I0y9CFloqyY/VZ5QK0jF-FI/AAAAAAAAG0M/xGIGkgaLgGA/s1600-h/image%25255B3%25255D.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://lh3.googleusercontent.com/-QL6szDWtmIs/VZ5QLiIsImI/AAAAAAAAG0U/GWmx_952RFA/image_thumb%25255B1%25255D.png?imgmax=800" width="646" height="205"></a></p> <p>En este caso borro todo el contenido de la carpeta Working.</p> <p>D:\Data\Cache\OfficeWebApps\Working</p> <p><a href="http://lh3.googleusercontent.com/-KW3RagkWaW8/VZ5QL-InhZI/AAAAAAAAG0c/DYWfFvvPcVQ/s1600-h/image%25255B11%25255D.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://lh3.googleusercontent.com/-ElAbH0H0OOM/VZ5QMmQS9nI/AAAAAAAAG0k/4fOVRSjlDP8/image_thumb%25255B5%25255D.png?imgmax=800" width="396" height="272"></a></p> <p>A continuación ejecuto el siguiente comando: <strong>Start-Service wacsm</strong></p> <p><a href="http://lh3.googleusercontent.com/-aUqYU3ZVznM/VZ5QM-8xgLI/AAAAAAAAG0s/P5MAkgy6CD8/s1600-h/image%25255B15%25255D.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://lh3.googleusercontent.com/-7Q6mkqpUTgY/VZ5QNT8BicI/AAAAAAAAG0w/eBxAhRwx4JE/image_thumb%25255B7%25255D.png?imgmax=800" width="535" height="99"></a></p> <p>Automáticamente crea las carpetas, y cuando accedamos al documento que queriamos que se actualice, ya aparecerá la nueva versión.</p> <p><a href="http://lh3.googleusercontent.com/-MvKvbLsy_58/VZ5QN3BmLtI/AAAAAAAAG04/4CT19wrLF24/s1600-h/image%25255B19%25255D.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://lh3.googleusercontent.com/-VbQQDOf-XRE/VZ5QOfFa16I/AAAAAAAAG1E/8gxns0o1xeo/image_thumb%25255B9%25255D.png?imgmax=800" width="559" height="161"></a></p> Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4658355388656488549.post-57935370262726738752015-07-09T03:25:00.001-07:002015-07-09T03:25:29.068-07:00Deletion Policies Sharepoint Online (Centro de directivas de eliminación de documentos) mediante Compliance Center<p>Ingresar a la sección de Compliance de nuestro Office 365 Admin Center.</p> <p><a href="http://lh3.googleusercontent.com/-GdoMA8jTxog/VZ5L3qM_eJI/AAAAAAAAGwo/4_u5HRL_cBw/s1600-h/image%25255B20%25255D.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://lh3.googleusercontent.com/-PORQwRCjgHA/VZ5L4E0WmUI/AAAAAAAAGww/gEiRC7NGDw4/image_thumb%25255B10%25255D.png?imgmax=800" width="244" height="127"></a></p> <p>Seleccionar “Manage Document deletion…..”</p> <p><a href="http://lh3.googleusercontent.com/-Sk7RWN0cWS8/VZ5L4sN7IyI/AAAAAAAAGw4/ZDCzhl8Wyww/s1600-h/image%25255B24%25255D.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://lh3.googleusercontent.com/-YEq515gvqlY/VZ5L5DdRA8I/AAAAAAAAGxA/Q-d7tF6qvHs/image_thumb%25255B12%25255D.png?imgmax=800" width="653" height="153"></a></p> <p>A continuación seleccionar “Directivas de eliminación”</p> <p><a href="http://lh3.googleusercontent.com/-tlW3VlO3yek/VZ5L5zo0GgI/AAAAAAAAGxI/IaUvd7kz9wM/s1600-h/image%25255B17%25255D.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://lh3.googleusercontent.com/-EhVGQTEPwUo/VZ5L6QIYY-I/AAAAAAAAGxM/cH3M-KZ3pC8/image_thumb%25255B9%25255D.png?imgmax=800" width="649" height="300"></a></p> <p> </p> <p><a href="http://lh3.googleusercontent.com/-oOXLSuFMFeA/VZ5L6-MYkVI/AAAAAAAAGxY/pkF06Zq463U/s1600-h/image%25255B7%25255D.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://lh3.googleusercontent.com/-TQr-Uk1Q8gQ/VZ5L7T0qf5I/AAAAAAAAGxg/pUak0ERZF48/image_thumb%25255B3%25255D.png?imgmax=800" width="670" height="285"></a></p> <p><a href="http://lh3.googleusercontent.com/-v8iesxgvgLA/VZ5L74lRQEI/AAAAAAAAGxk/g8G6ryBdD8M/s1600-h/image%25255B9%25255D.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://lh3.googleusercontent.com/-kEblWbC7o8g/VZ5L8aC2UtI/AAAAAAAAGxw/1im9PXc8mBg/image_thumb%25255B5%25255D.png?imgmax=800" width="510" height="284"></a></p> <p><a href="http://lh3.googleusercontent.com/-7BC1eTuTRVQ/VZ5L81IduYI/AAAAAAAAGx4/JWs5Zas8hsQ/s1600-h/image%25255B13%25255D.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://lh3.googleusercontent.com/-OIKgHcvsfsk/VZ5L9ZpjRzI/AAAAAAAAGyA/rS1Y0ZNajNY/image_thumb%25255B7%25255D.png?imgmax=800" width="669" height="370"></a></p> <p>Una vez que tengo creada la directiva, tengo dos posibilidades, asignarles esta directiva a un template de sitio, Ej: a todos mis sitios que usan la plantilla Team Site les asigno esta política.</p> <p><a href="http://lh3.googleusercontent.com/-D4sz0qFTcmY/VZ5L-NEFxnI/AAAAAAAAGyI/XVPt7G1xxXM/s1600-h/image%25255B28%25255D.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://lh3.googleusercontent.com/-qSsNK_B2OkM/VZ5L-mDEqJI/AAAAAAAAGyQ/r3vEeY00kak/image_thumb%25255B14%25255D.png?imgmax=800" width="619" height="199"></a></p> <p><a href="http://lh3.googleusercontent.com/-l6bjHZYvyD8/VZ5L_KP9O1I/AAAAAAAAGyY/y5GSitOkga8/s1600-h/image%25255B32%25255D.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://lh3.googleusercontent.com/-mEx1nybOGIc/VZ5L_30zJZI/AAAAAAAAGyc/TXgtutzywO8/image_thumb%25255B16%25255D.png?imgmax=800" width="555" height="319"></a></p> <p><a href="http://lh3.googleusercontent.com/-T3g2_npGyNY/VZ5MASbDkSI/AAAAAAAAGyo/qujV84kcfmc/s1600-h/image%25255B36%25255D.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://lh3.googleusercontent.com/-H1n47cCOBfs/VZ5MBL0UcgI/AAAAAAAAGyw/sUQX2RvCgB4/image_thumb%25255B18%25255D.png?imgmax=800" width="642" height="225"></a></p> <p>Otra posibilidad es asignar directivas a un site collection específico.</p> <p><a href="http://lh3.googleusercontent.com/-SFsU46HCJCk/VZ5MBiQtN8I/AAAAAAAAGy4/fhUFm5e8rKc/s1600-h/image%25255B40%25255D.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://lh3.googleusercontent.com/-QEEp7yRtEnI/VZ5MCTa_rEI/AAAAAAAAGzA/F-lXoyO178Q/image_thumb%25255B20%25255D.png?imgmax=800" width="627" height="217"></a></p> <p>A continuación buscas el site collection</p> <p><a href="http://lh3.googleusercontent.com/-4HGnv4G_CCc/VZ5MC8XY4mI/AAAAAAAAGzI/urmuSnj_EVQ/s1600-h/image%25255B44%25255D.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://lh3.googleusercontent.com/-QmNkFeiUzd8/VZ5MDaly-qI/AAAAAAAAGzM/Kz-Fv2b-hIU/image_thumb%25255B22%25255D.png?imgmax=800" width="564" height="188"></a></p> <p>A continuación agregas las políticas.</p> <p><a href="http://lh3.googleusercontent.com/-9W_Re1R8F6w/VZ5MD0AqemI/AAAAAAAAGzY/CCBlk1j0Xbc/s1600-h/image%25255B48%25255D.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://lh3.googleusercontent.com/-nsKPLVrE0dE/VZ5MExub1ZI/AAAAAAAAGzc/ngexuKin5MA/image_thumb%25255B24%25255D.png?imgmax=800" width="655" height="131"></a></p> <p>Pueden pasar hasta 24 horas para que las asignaciones de directivas nuevas o actualizadas se hagan efectivas o que los administradores de sitios de SharePoint las puedan ver.</p> <p><a href="http://lh3.googleusercontent.com/-VNVJMG9SsS0/VZ5MFSi2KrI/AAAAAAAAGzo/6kgXBLSCFGE/s1600-h/image%25255B52%25255D.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://lh3.googleusercontent.com/-Y6rnnI9HutE/VZ5MF3na7ZI/AAAAAAAAGzw/ig8E7ec_RDw/image_thumb%25255B26%25255D.png?imgmax=800" width="651" height="195"></a></p> <p> </p> <p>Más información en el siguiente link:</p> <p><a title="https://technet.microsoft.com/en-us/library/dn792008.aspx" href="https://technet.microsoft.com/en-us/library/dn792008.aspx">https://technet.microsoft.com/en-us/library/dn792008.aspx</a></p> <p><a title="https://channel9.msdn.com/Events/SharePoint-Conference/2014/SPC267" href="https://channel9.msdn.com/Events/SharePoint-Conference/2014/SPC267">https://channel9.msdn.com/Events/SharePoint-Conference/2014/SPC267</a></p> Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4658355388656488549.post-66175554532697134362015-06-06T05:20:00.001-07:002015-06-06T05:20:59.464-07:00Problemas al enviar un mail en un workflow de Sharepoint 2013 (u Sharepoint Online)<p>Los workflows quedaban en un estado suspendido cuando ejecutaba una acción de envió de mail en un workflow.</p> <p><a href="http://lh3.googleusercontent.com/-Q3RkwpN_JRQ/VXLlj5W7m5I/AAAAAAAAGvw/ByWXFcSC6gc/s1600-h/image%25255B4%25255D.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://lh3.googleusercontent.com/-b_Voed-GIpg/VXLlkhQXYPI/AAAAAAAAGv4/iYEyzPSO-qc/image_thumb%25255B1%25255D.png?imgmax=800" width="624" height="110"></a></p> <p>El mensaje de error que lanzaba era: Se está reintentando la última solicitud. Próximo intento programado después de: 03/06/2015 14:04. Detalles de la última solicitud: HTTP Unauthorized a <a href="https://tenantName.sharepoint.com/sites/urlSiteCollection/_api/sp.utilities.utility.SendEmail">https://tenantName.sharepoint.com/sites/urlSiteCollection/_api/sp.utilities.utility.SendEmail</a>, Id. de correlación: 610bf69b-f54b-8e29-a894-96a47cd758cb, Id. de instancia: 87ae92b3-26ad-4a93-be71-83e0e76b76ca <br>Acceso denegado. No tiene el permiso necesario para realizar esta acción o tener acceso a este recurso. </p> <p>El problema era que se estaba enviando a un grupo, el cual tenía seteada la visualización del grupo de forma limitada (“Integrantes del Grupo”). La solución fue cambiar la configuración para que todos los usuarios puedan ver los integrantes del grupo</p> <p><a href="http://lh3.googleusercontent.com/-Wb0mRcmQ5ek/VXLlk3KDMOI/AAAAAAAAGwA/g3JEit4BeqE/s1600-h/image%25255B5%25255D.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://lh3.googleusercontent.com/-nmAkKAoZNvI/VXLllga8qaI/AAAAAAAAGwI/DpsH-hbdXXc/image_thumb%25255B2%25255D.png?imgmax=800" width="652" height="96"></a></p> Unknownnoreply@blogger.com3tag:blogger.com,1999:blog-4658355388656488549.post-34557520167864204722015-05-03T06:59:00.001-07:002015-05-03T06:59:12.357-07:00Application Insights para Sharepoint<p>Microsoft liberó hace unas semanas el producto “<a href="http://azure.microsoft.com/en-us/services/application-insights/">Application Insights</a>” que permite agregar el tracking o ver la performance de sitios webs o apps.</p> <p>Voy a mostrar un ejemplo de cómo integrarlo con Sharepoint (en este caso Sharepoint Online, pero se puede hacer lo mismo para Sharepoint on-premise mientras el cliente tenga acceso a internet)</p> <p>Ingreso al portal nuevo de Azure (<a title="https://portal.azure.com" href="https://portal.azure.com">https://portal.azure.com</a>) y creo un servicio de “Application Insights”. Seleccionar en el tipo de aplicación “Aplicación web ASP.NET”</p> <p><a href="http://lh3.googleusercontent.com/-Xk1pguEPZ6c/VUYpY6J1qGI/AAAAAAAAGrU/YP4Ipi12GvQ/s1600-h/image%25255B3%25255D.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://lh3.googleusercontent.com/-GHSneTAZN4w/VUYpZbzWmCI/AAAAAAAAGrc/CFIw_W-zCNk/image_thumb%25255B1%25255D.png?imgmax=800" width="654" height="351"></a></p> <p><a href="http://lh3.googleusercontent.com/-uMYXeNrcNwg/VUYpaCeVkOI/AAAAAAAAGrg/Tp_7oBMeAaM/s1600-h/image%25255B7%25255D.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://lh3.googleusercontent.com/-4WTiY9TFR_0/VUYpaiPlO8I/AAAAAAAAGrs/FBeWsWcxYqY/image_thumb%25255B3%25255D.png?imgmax=800" width="141" height="124"></a></p> <p><a href="http://lh3.googleusercontent.com/-QUgEDKj_GnI/VUYpbIBWogI/AAAAAAAAGr0/4WX4hcdRqCk/s1600-h/image%25255B11%25255D.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://lh3.googleusercontent.com/-dJRHk8nfRow/VUYpbvDJwtI/AAAAAAAAGr8/BKcOU_8-qO4/image_thumb%25255B5%25255D.png?imgmax=800" width="510" height="362"></a></p> <p>Una vez creado el servicio hago click en el icono de inicio rápido.</p> <p><a href="http://lh3.googleusercontent.com/-9ESIKdza-Pc/VUYpcX4DiJI/AAAAAAAAGsE/UigUHZyvL4A/s1600-h/image%25255B16%25255D.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://lh3.googleusercontent.com/-Y7TPZ6t-n7E/VUYpc5lX_MI/AAAAAAAAGsM/DaLbxSbQsmQ/image_thumb%25255B8%25255D.png?imgmax=800" width="581" height="143"></a></p> <p>Después selecciono “Obtener código para supervisar mis páginas webs”</p> <p><a href="http://lh3.googleusercontent.com/-hdBsYpkqxwc/VUYpdhuOfjI/AAAAAAAAGsU/WXBcWCgeXuo/s1600-h/image%25255B20%25255D.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://lh3.googleusercontent.com/-kvbjCJnwtgA/VUYpeeEAnyI/AAAAAAAAGsc/rdxlaQaGj2c/image_thumb%25255B10%25255D.png?imgmax=800" width="655" height="302"></a></p> <p>Copio el código, y voy a una página de Sharepoint, agrego un web part de código (Script Editor).</p> <p><a href="http://lh3.googleusercontent.com/-sOyGAiZnmV0/VUYpe8DZu1I/AAAAAAAAGsg/KoqZwOOLcP0/s1600-h/image%25255B24%25255D.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://lh3.googleusercontent.com/-pBj-GgtLqPs/VUYpfVZNthI/AAAAAAAAGss/S-pC-TMT4VE/image_thumb%25255B12%25255D.png?imgmax=800" width="607" height="273"></a></p> <p>Y pego el código</p> <p><a href="http://lh3.googleusercontent.com/-AOVrKhNrE-Y/VUYpgF4ICfI/AAAAAAAAGs0/tSgO10UoKBI/s1600-h/image%25255B28%25255D.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://lh3.googleusercontent.com/-THR4rUGQayE/VUYpgnSMUQI/AAAAAAAAGs8/17rxL7KJ4rU/image_thumb%25255B14%25255D.png?imgmax=800" width="490" height="265"></a></p> <p>Después de un tiempo de navegar la página, vemos que ya tenemos resultados</p> <p><a href="http://lh3.googleusercontent.com/-Ct79ONp0UtE/VUYphfStOMI/AAAAAAAAGtE/x84mskS3pf4/s1600-h/image%25255B32%25255D.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://lh3.googleusercontent.com/-B81EVEUy7UI/VUYph82kfTI/AAAAAAAAGtM/8TzRk0TqcNo/image_thumb%25255B16%25255D.png?imgmax=800" width="629" height="246"></a></p> <p><a href="http://lh3.googleusercontent.com/-yVSrbx56290/VUYpidJqNQI/AAAAAAAAGtU/rcBPx5sZFzU/s1600-h/image%25255B36%25255D.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://lh3.googleusercontent.com/-Jvch2pWcflU/VUYpjMApr8I/AAAAAAAAGtc/yyt0tXyjtaM/image_thumb%25255B18%25255D.png?imgmax=800" width="642" height="283"></a></p> <p><a href="http://lh3.googleusercontent.com/-GFtBFvbu9Fg/VUYpj9pGktI/AAAAAAAAGtk/94g0aTMw_co/s1600-h/image%25255B40%25255D.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://lh3.googleusercontent.com/-zYwcVgH6_fo/VUYpkYCcXyI/AAAAAAAAGts/YiSLrZvyzGA/image_thumb%25255B20%25255D.png?imgmax=800" width="643" height="249"></a></p> <p><a href="http://lh3.googleusercontent.com/-KbxnCQH1SvU/VUYpk0tl3RI/AAAAAAAAGt0/trBH4ZvcRsI/s1600-h/image%25255B49%25255D.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://lh3.googleusercontent.com/-_USs8v1Cqsg/VUYpljQV21I/AAAAAAAAGt8/9u__3KSVJJk/image_thumb%25255B25%25255D.png?imgmax=800" width="612" height="402"></a></p> <p>Podemos agregar custom eventos, por ejemplo: Qué usuario estaba logueado</p> <p>appInsights.trackEvent("UsuarioLogueado:christianazcon");</p> <p><a href="http://lh3.googleusercontent.com/-ydE5N98IAUI/VUYpmLpWuZI/AAAAAAAAGuA/bNp65BZ0HCo/s1600-h/image%25255B53%25255D.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://lh3.googleusercontent.com/-xIjPSE4Cbh4/VUYpm9awXkI/AAAAAAAAGuM/mh3PAmwe23s/image_thumb%25255B27%25255D.png?imgmax=800" width="620" height="322"></a></p> <p>En la página lo veremos así</p> <p><a href="http://lh3.googleusercontent.com/-OY4-m4TM7sM/VUYpnRdj2yI/AAAAAAAAGuU/DOD3zR4QGhk/s1600-h/image%25255B57%25255D.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://lh3.googleusercontent.com/-vRE12SM-g9g/VUYpoDpBTVI/AAAAAAAAGuc/YuS_0wHlS4Y/image_thumb%25255B29%25255D.png?imgmax=800" width="655" height="140"></a></p> <p>Para tomar el usuario loguedo en Sharepoint podemos usar la siguiente variable de javascript “_spPageContextInfo.userLoginName”. Esta variable no siempre está disponible, ya que depende del tipo de página y feature que se tiene habilitada. Por ello también podés usar <a href="http://www.vrdmn.com/2013/07/sharepoint-2013-get-userprofile.html">REST</a> o <a href="http://sharepoint.stackexchange.com/questions/73064/get-the-login-name-of-the-current-user-using-javascript">JSOM</a>. </p> <p><a href="http://lh3.googleusercontent.com/-xPFIkwkc3mc/VUYpoiADwuI/AAAAAAAAGuk/HhhZB3oOJyw/s1600-h/image%25255B62%25255D.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://lh3.googleusercontent.com/-7Hq3alFIBug/VUYppBwByRI/AAAAAAAAGus/tZhdf9mEk34/image_thumb%25255B32%25255D.png?imgmax=800" width="627" height="227"></a></p> <p>Al revisar en Azure cómo quedo el evento vemos esto.</p> <p><a href="http://lh3.googleusercontent.com/-ARS-ZreBGUk/VUYpp9KV8HI/AAAAAAAAGu0/p8kCrOfwC4Q/s1600-h/image%25255B66%25255D.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://lh3.googleusercontent.com/--S-KqpI_xDk/VUYpqRDnqJI/AAAAAAAAGu8/p-VDm7_fXzc/image_thumb%25255B34%25255D.png?imgmax=800" width="651" height="236"></a></p> <p>Cómo podemos hacer para que se deploye en cada página de Sharepoint? Tenés dos opciones: agregar el código en la master page, o utilizar <a href="http://channel9.msdn.com/Blogs/Office-365-Dev/JavaScript-injection-in-SharePoint-Online-Office-365-Developer-Patterns-and-Practices">inject JavaScript (javascript embed)</a>. El último es más recomendado, ya que es más mantenible.</p> <p>En otro post mostraré cómo podemos usar esta funcionalidad en nuestros servidores on-premise descargando el cliente para Windows Server</p> <p><a href="http://lh3.googleusercontent.com/-bPHOC9ycZc8/VUYpqwLChaI/AAAAAAAAGvE/4zgkLwMNFQ4/s1600-h/image%25255B70%25255D.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://lh3.googleusercontent.com/-oAdsfJ-KdeQ/VUYprod41EI/AAAAAAAAGvM/rVl8E1edcUg/image_thumb%25255B36%25255D.png?imgmax=800" width="384" height="243"></a></p> <p>Más información:</p> <p><a title="http://azure.microsoft.com/en-us/documentation/articles/app-insights-web-track-usage/" href="http://azure.microsoft.com/en-us/documentation/articles/app-insights-web-track-usage/">http://azure.microsoft.com/en-us/documentation/articles/app-insights-web-track-usage/</a></p> Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4658355388656488549.post-44128132417893216362015-05-03T06:43:00.001-07:002015-05-03T06:43:03.447-07:00Azure Services Bus (Events Hubs) con Sharepoint<p>Event Hubs es un servicio de Azure que permite agregar y procesar millones de eventos por segundo. Es muy útil para almacenar datos en tiempo real o de forma batch.</p> <p><a href="http://lh3.googleusercontent.com/-phY2zQfWIFY/VUYefuVpoyI/AAAAAAAAGnA/tOmap_4eI88/s1600-h/image7.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="http://lh3.googleusercontent.com/-h3Rp3SjBBsI/VUYegNYaBFI/AAAAAAAAGnE/SpO8jvSd8V4/image_thumb3.png?imgmax=800" width="629" height="269"></a></p> <p>Hace un tiempo se liberó el sdk para trabajar vía Javascript (+ REST) con Event Hubs. <a title="https://github.com/ddobric/ServiceBusJavaScriptSdk" href="https://github.com/ddobric/ServiceBusJavaScriptSdk">https://github.com/ddobric/ServiceBusJavaScriptSdk</a></p> <p>En este post lo usaremos para hacer un custom analytics para sitios de Sharepoint o para evaluar en tiempo real quién se conecta al sitio. Hace algunas semanas Microsoft libero Azure Insights para hacer el tacking del uso en sitios (<a title="http://azure.microsoft.com/en-us/services/application-insights/" href="http://azure.microsoft.com/en-us/services/application-insights/">http://azure.microsoft.com/en-us/services/application-insights/</a>). La idea es mostrar cómo se podría hacer con Azure Event Hubs, y tener tu propio Azure Insights.</p> <p><a href="http://lh3.googleusercontent.com/-jrkP4T8EDs0/VUYeg78n_rI/AAAAAAAAGnQ/InkkiBCIb_0/s1600-h/image11.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="http://lh3.googleusercontent.com/-kkyjuu2smU8/VUYehihkJ8I/AAAAAAAAGnY/tOzpiZhpTZ4/image_thumb5.png?imgmax=800" width="643" height="294"></a></p> <p><a href="http://lh3.googleusercontent.com/-4cR55avVf5Q/VUYeiM9ll7I/AAAAAAAAGng/9PzTP7zSNNw/s1600-h/image15.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="http://lh3.googleusercontent.com/-tserIewe-Ns/VUYeip0jx2I/AAAAAAAAGnk/lG_qd_-H8lw/image_thumb7.png?imgmax=800" width="421" height="362"></a></p> <p><a href="http://lh3.googleusercontent.com/-dcSSxlrhdtU/VUYejUvb-rI/AAAAAAAAGnw/3ghL9aOOCjc/s1600-h/image19.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="http://lh3.googleusercontent.com/-L9cqINjbWWM/VUYejzW8moI/AAAAAAAAGn4/D8B45zcxuqA/image_thumb9.png?imgmax=800" width="451" height="267"></a></p> <p>el sdk requiere algunos parámetros</p> <p>var queuePath = "sharepointanalytics";<br>var ehClient = new EventHubClient(<br> {<br> 'name': queuePath,<br> 'devicename': 'urlsitio', // es la especificación para “partition key”<br> 'namespace': "sharepointanalytics-ns",<br> 'sasKey': "gIAsGZEd3kObjQN9gvnx7wRjm3Hf97aBmFyXWbszBtQ",<br> 'sasKeyName': "RootManageSharedAccessKey",<br> 'timeOut': 10,<br> });</p> <p><font style="background-color: #ffff00">‘queuePath’</font> es el nombre del Event Hub</p> <p><a href="http://lh3.googleusercontent.com/-O7pLEtFn_Nc/VUYekb3BJAI/AAAAAAAAGoA/xy9nVnpLckI/s1600-h/image27.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="http://lh3.googleusercontent.com/-PVpuXW4-DEI/VUYelL5-jYI/AAAAAAAAGoI/3tFSuC3YJ_g/image_thumb13.png?imgmax=800" width="657" height="143"></a></p> <p>'<font style="background-color: #ffff00">devicename'</font> se usa cómo key de partición, ver el siguiente link: <a title="https://msdn.microsoft.com/en-us/library/azure/dn836025.aspx" href="https://msdn.microsoft.com/en-us/library/azure/dn836025.aspx">https://msdn.microsoft.com/en-us/library/azure/dn836025.aspx</a></p> <p><font style="background-color: #ffff00">'namespace'</font>: es el nombre del service bus</p> <p><a href="http://lh3.googleusercontent.com/-MzPwgMgoC60/VUYelwlk_CI/AAAAAAAAGoQ/u5NLjdeBTSM/s1600-h/image31.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="http://lh3.googleusercontent.com/-8lNte1WL1Po/VUYemUMfXII/AAAAAAAAGoU/pZ4mBEb8icg/image_thumb15.png?imgmax=800" width="662" height="89"></a></p> <p><font style="background-color: #ffff00">'sasKey'</font>: es el nombre de la policy de acceso del service bus, <font style="background-color: #ffff00">'sasKeyName'</font>: es la primary key de la policy de acceso.</p> <p><a href="http://lh3.googleusercontent.com/-eJQ0QvJk2AQ/VUYem1MyAxI/AAAAAAAAGog/7lmVZ2DUdhE/s1600-h/image55.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="http://lh3.googleusercontent.com/-GrP9cq6q2X4/VUYenX4lQhI/AAAAAAAAGoo/MvGAQm405ro/image_thumb27.png?imgmax=800" width="596" height="285"></a></p> <p><a href="http://lh3.googleusercontent.com/-0YDdTwpYAlw/VUYen5MOieI/AAAAAAAAGow/ZXBViLDqI_E/s1600-h/image59.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="http://lh3.googleusercontent.com/-SwKJTEso-XE/VUYeoVjr3AI/AAAAAAAAGo4/-lO8QQ7GCmg/image_thumb29.png?imgmax=800" width="654" height="383"></a></p> <p>Ej: Endpoint=sb://sharepointanalytics-ns.servicebus.windows.net/;<font style="background-color: #ffff00">SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=gIAsGZEd3kObjQN9gvnx7wRjm3Hf97aBmFyXWbszBtQ=</font></p> <p>En el sdk, hay un archivo llamado EventHubSamples.html, lo edito y </p> <p><a href="http://lh3.googleusercontent.com/-5V3T1yYms70/VUYeo-nmNhI/AAAAAAAAGpA/9sikwZqlS3M/s1600-h/image39.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="http://lh3.googleusercontent.com/-l2youFxmmhY/VUYepqHJ_jI/AAAAAAAAGpI/RhJRzSgpEEY/image_thumb19.png?imgmax=800" width="648" height="181"></a></p> <p>Agrego el siguiente código html (lo importante en <font style="background-color: #ffff00">amarillo</font>)</p> <p><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"<br> "<a href="http://www.w3.org/TR/html4/loose.dtd"">http://www.w3.org/TR/html4/loose.dtd"</a>><br><html><br><head> <br> <title>Service Bus JavaScrcipt SDK QueueClient Test Page</title> </p> <p> <link rel="stylesheet" href="css/main.css" type="text/css" /><br> <font style="background-color: #ffff00"> <script type="text/javascript" src="</font><a href="http://code.jquery.com/jquery-latest.js""><font style="background-color: #ffff00">http://code.jquery.com/jquery-latest.js"</font></a><font style="background-color: #ffff00">> </script><br> <script src="Scripts/servicebusjssdk-1.2.min.js"></script><br></font> <script type="text/javascript"><br> $(document).ready(function () {</p> <p> <font style="background-color: #ffff00">var queuePath = "sharepointanalytics";<br> var ehClient = new EventHubClient(<br> {<br> 'name': queuePath,<br> 'devicename': 'urlsitio', // This is by specification partition key.<br> 'namespace': "sharepointanalytics-ns",<br> 'sasKey': "gIAsGZEd3kObjQN9gvnx7wRjm3Hf97aBmFyXWbszBtQ=",<br> 'sasKeyName': "RootManageSharedAccessKey",<br> 'timeOut': 10,<br> });</font></p> <p> $("#btnSend").click(function () {</p> <p> <font style="background-color: #ffff00"> var eventBody = { "Horario": "22/02/2015 10:00 am", "Pagina": "Home.aspx", "sitio": "</font><a href="http://contoso.com""><font style="background-color: #ffff00">http://contoso.com"</font></a><font style="background-color: #ffff00">, "usuario": "christianazcon" };</font></p> <p> var msg = new EventData(eventBody); </p> <p> ehClient.sendMessage(msg, function (messagingResult) {<br> $("#result").html(messagingResult.result);<br> $("#eventData").html(JSON.stringify(eventBody));<br> });<br> });</p> <p> });<br> </script><br></head><br><body><br> <button id="btnSend">Send</button><br> <div class="message-wrapper"><br> <p>Event Data:</p><br> <div id="eventData"><br> </div><br /><br> <p>Message Body:</p><br> <div id="result"><br> </div><br /><br> </div> <!-- END: .message-wrapper --></body><br></html><br></p> <p>En la página se ve así:</p> <p><a href="http://lh3.googleusercontent.com/-lRp8fQEDU7s/VUYeqKhBw2I/AAAAAAAAGpQ/7CNupqvSwhU/s1600-h/image47.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="http://lh3.googleusercontent.com/-DYrLn1stMDo/VUYlx2YOaPI/AAAAAAAAGpo/0CKW7Ys7ewg/image_thumb23.png?imgmax=800" width="600" height="275"></a></p> <p>Presiono Send, me retorna “Sucess”</p> <p><a href="http://lh3.googleusercontent.com/-AJ1wi0qtL0I/VUYlyWgItuI/AAAAAAAAGpw/dCrRPf6HUcM/s1600-h/image51.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="http://lh3.googleusercontent.com/-eZNkO_a_UoA/VUYlzNbn8UI/AAAAAAAAGp4/s9JQohFG7ik/image_thumb25.png?imgmax=800" width="673" height="213"></a></p> <p>Ahora abro Service Bus explorer, <a title="https://code.msdn.microsoft.com/windowsazure/Service-Bus-Explorer-f2abca5a" href="https://code.msdn.microsoft.com/windowsazure/Service-Bus-Explorer-f2abca5a">https://code.msdn.microsoft.com/windowsazure/Service-Bus-Explorer-f2abca5a</a></p> <p>Y veo que ya aparece el mensaje que envie</p> <p><a href="http://lh3.googleusercontent.com/-YG3hjux-RxQ/VUYlz1q0QxI/AAAAAAAAGqA/UCe78FMCjW4/s1600-h/image63.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="http://lh3.googleusercontent.com/-DHKz00_0kdI/VUYl0nFgWWI/AAAAAAAAGqI/YnWfapvM9Yg/image_thumb31.png?imgmax=800" width="598" height="296"></a></p> <p><a href="http://lh3.googleusercontent.com/-zOgOXsa9i2Q/VUYl1EIsYjI/AAAAAAAAGqQ/FMIKFJi8qrE/s1600-h/image67.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="http://lh3.googleusercontent.com/-aGFVPwi07h0/VUYl1gQQCjI/AAAAAAAAGqY/EcZheJ-SYPY/image_thumb33.png?imgmax=800" width="648" height="235"></a></p> <p>Ahora tendrás que revisar en que partición cayó el mensaje, ej: 5</p> <p><a href="http://lh3.googleusercontent.com/-HxG2r_iewMo/VUYl2GfykjI/AAAAAAAAGqg/fFiLUV3tUlE/s1600-h/image71.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="http://lh3.googleusercontent.com/-SqXOzBKoQGA/VUYl22Z-zrI/AAAAAAAAGqo/MPV3RjNz8Bc/image_thumb35.png?imgmax=800" width="649" height="160"></a></p> <p>Presiono Start</p> <p><a href="http://lh3.googleusercontent.com/-NXV9yiegkqI/VUYl3Z6rXRI/AAAAAAAAGqw/JMCaoMAg6p8/s1600-h/image75.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="http://lh3.googleusercontent.com/-2HS3CgsvtHI/VUYl4IxlVgI/AAAAAAAAGq4/G4UglHpZseI/image_thumb37.png?imgmax=800" width="360" height="198"></a></p> <p><a href="http://lh3.googleusercontent.com/-zLbAOX5l9ZM/VUYl4gA6T3I/AAAAAAAAGrA/GfHM51_JIrM/s1600-h/image80.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="http://lh3.googleusercontent.com/-9mgIQ9VnZJE/VUYl5XAnrHI/AAAAAAAAGrI/ae-ja8UkpIE/image_thumb40.png?imgmax=800" width="651" height="371"></a></p> <p>Cómo pueden ver, aparece el texto del mensaje.{"Horario":"22/02/2015 10:00 am","Pagina":"Home.aspx","sitio":"http://contoso.com","usuario":"christianazcon"}</p> <p>Esto nos permite agregar un montón de eventos a las páginas mediante javascript y guardarlas en un Event Hub, y procesarlos a posteriori.</p> <p>Por ejemplo para tomar el usuario logueado, puedo usar el siguiente script: <a title="https://lixuan0125.wordpress.com/2013/05/10/sharepoint-2013-get-current-user-loginname-using-jsom-rest/" href="https://lixuan0125.wordpress.com/2013/05/10/sharepoint-2013-get-current-user-loginname-using-jsom-rest/">https://lixuan0125.wordpress.com/2013/05/10/sharepoint-2013-get-current-user-loginname-using-jsom-rest/</a></p> <p>Ej:</p> <ul> <li>Eventos que realiza el usuario (donde hace click, cuanto tiempo está en cada página, etc)</li> <li>Información de navegadores</li> <li>etc</li></ul> Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4658355388656488549.post-53143819945109125392015-04-11T13:43:00.001-07:002015-04-11T13:43:51.501-07:00CAML para filtrar las tareas pendientes que tengo asignadas o la de mis grupos a los cual pertenezco<p>Cuando trabajamos con Workflows, podemos asignar tareas a grupos determinados dentro del proceso de aprobación. EL principal problema que tenemos, es que desde la vista web sólo podemos filtrar las tareas asignadas a nosotros ([Yo] o [Me] en inglés). Pero cómo hacemos el filtrado de las tareas asignadas a grupos donde pertenecemos??</p> <p><a href="http://lh4.ggpht.com/-OYPd2F6KmE0/VSmHejtga5I/AAAAAAAAGl8/Ne6EolFKO7I/s1600-h/image%25255B7%25255D.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://lh5.ggpht.com/-Ek2ElTrJwuk/VSmHfSeGHQI/AAAAAAAAGmE/ZGR3W2iK1yw/image_thumb%25255B2%25255D.png?imgmax=800" width="668" height="151"></a></p> <p>Se debe usar Sharepoint Designer para editar la consulta CAML</p> <p>Abran la página donde tienen la vista, y editen con la vista avanzada, la sección de View</p> <p><a href="http://lh5.ggpht.com/-TqpsMrIEyZo/VSmHfqcJooI/AAAAAAAAGmM/L7fyNbT-yXQ/s1600-h/image%25255B11%25255D.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://lh6.ggpht.com/-osA93mMpHBc/VSmHgJ9UQeI/AAAAAAAAGmU/og4b0-IZOgs/image_thumb%25255B4%25255D.png?imgmax=800" width="577" height="138"></a></p> <p>Busquen “<Query>” y reemplacen la query con lo siguiente.</p> <p><font style="background-color: #ffff00"><Query><Where><And><Or><Eq><FieldRef Name="AssignedTo" LookupId="TRUE"/><Value Type="Integer"><UserID /></Value></Eq><Membership Type="CurrentUserGroups"><FieldRef Name="AssignedTo"/></Membership></Or><Eq><FieldRef Name="Status" /><Value Type='Choice'>No iniciada</Value></Eq></And></Where><OrderBy><FieldRef Name="DueDate"/></OrderBy> </Query></font></p> <p>La query filtra todas las tareas asignadas a mi o a un grupo al cual pertenezco, y están en estado “No Iniciada”.</p> <p>El principal problema que tiene hacerlo por Designer, primero que hacemos páginas custom, lo cual puede ser un problema en una migración. Y segundo, si voy a editar la vista desde la web no voy a ver estos cambios, y todos los cambios que requiera lo deberé hacer desde el designer (Ej: agregar campos a la view)</p> <p><a href="http://lh6.ggpht.com/-LOmoWqTVONw/VSmHgrhy8MI/AAAAAAAAGmc/rdMKBq0dOV8/s1600-h/image%25255B15%25255D.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://lh3.ggpht.com/-qPI1R8LPlok/VSmHhXXoVuI/AAAAAAAAGmk/bUn9HaPaMts/image_thumb%25255B6%25255D.png?imgmax=800" width="427" height="138"></a></p> Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4658355388656488549.post-77202546064630947592015-04-11T05:24:00.001-07:002015-04-11T05:24:29.003-07:00Local variable “ExpandGroups” Sharepoint<p>En el caso que estemos haciendo un custom workflow, y asignemos un grupo de Sharepoint o AD como aprobador, y quisieramos que para usuario de ese grupo se le asigne una tarea particular por usuario, en vez de una sola tarea por grupo, tendremos que usar la variable “ExpandGroups”. Seteandola a “Yes”, lo que hará Sharepoint es crear una tarea por cada usuario de un grupo, y hasta que no esté aprobada todas las tareas de los usuarios de ese grupo, no pasará al siguiente estado.</p> <p><a href="http://lh6.ggpht.com/-Cu3n10kXNPg/VSkSdCV0l7I/AAAAAAAAGlQ/AukP3haTY8o/s1600-h/image%25255B3%25255D.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://lh6.ggpht.com/-oTxfrv7BXKY/VSkSeIhM3tI/AAAAAAAAGlY/wjxKOAwK2q0/image_thumb%25255B1%25255D.png?imgmax=800" width="578" height="320"></a></p> <p><a href="http://lh4.ggpht.com/-bGraqBsAvdc/VSkSedKdMyI/AAAAAAAAGlg/sDZJydV2jcI/s1600-h/image%25255B7%25255D.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://lh4.ggpht.com/-JGoC3Wk6Olw/VSkSeygXyxI/AAAAAAAAGlk/QLdkIP01l1I/image_thumb%25255B3%25255D.png?imgmax=800" width="621" height="125"></a></p> Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4658355388656488549.post-51103562091244703292015-04-07T04:07:00.001-07:002015-04-07T04:07:07.459-07:00Agregar Javascript en una custom action–Sharepoint 2013<p>Con el Sharepoint Designer, ingreso a una lista, y en la ribbon selecciono “View Ribbon”</p> <p><a href="http://lh5.ggpht.com/-tzEe4PfKIBU/VSO6QBfFECI/AAAAAAAAGjk/Z1fIIqrCdxQ/s1600-h/image%25255B2%25255D.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://lh5.ggpht.com/-awxx5ILQirA/VSO6Q-feH7I/AAAAAAAAGjs/CDHBDCxY1ik/image_thumb.png?imgmax=800" width="244" height="135"></a></p> <p>Le agrego un nombre</p> <p><a href="http://lh4.ggpht.com/-JhnsL96ECqk/VSO6RVXbDlI/AAAAAAAAGj0/eE1xpUiHW54/s1600-h/image%25255B27%25255D.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://lh5.ggpht.com/-BIjcA71eIfY/VSO6R9biZRI/AAAAAAAAGj8/krjyBnTVuos/image_thumb%25255B13%25255D.png?imgmax=800" width="426" height="322"></a></p> <p>En el campo “Navegar a la dirección URL” (en inglés aparece como Navigate to URL) escribo lo siguiente <strong>javascript:alert("Item Seleccionado " + {SelectedItemId})</strong></p> <p><a href="http://lh6.ggpht.com/-QELyTl2sQTQ/VSO6ST1d4_I/AAAAAAAAGkE/iAxq6CXxbZI/s1600-h/image%25255B11%25255D.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://lh5.ggpht.com/-pGSg_kggAwk/VSO6S19epYI/AAAAAAAAGkM/x8TnjlrTMQ8/image_thumb%25255B5%25255D.png?imgmax=800" width="492" height="433"></a></p> <p>En la lista, me aparecerá lo siguiente.</p> <p><a href="http://lh3.ggpht.com/-zMARujCI43o/VSO6TRSuPhI/AAAAAAAAGkU/wyUsr061ZJQ/s1600-h/image%25255B15%25255D.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://lh5.ggpht.com/-iqWfr29Er40/VSO6UP05iDI/AAAAAAAAGkc/flrMpreky8U/image_thumb%25255B7%25255D.png?imgmax=800" width="573" height="336"></a></p> <p>Al hacer click me lanza el PopUp.</p> <p><a href="http://lh4.ggpht.com/-sYDF9F9YAgI/VSO6Up42g5I/AAAAAAAAGkk/IFUl8DWREAc/s1600-h/image%25255B19%25255D.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://lh6.ggpht.com/-CKqoEofyjoQ/VSO6VG1eW3I/AAAAAAAAGks/gmhh26WVNL4/image_thumb%25255B9%25255D.png?imgmax=800" width="587" height="223"></a></p> <p>Ahora con el item 2</p> <p><a href="http://lh6.ggpht.com/-zHG-RzOjoRU/VSO6V8qTPyI/AAAAAAAAGk0/9GmsGD9Mjs8/s1600-h/image%25255B23%25255D.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://lh4.ggpht.com/-A9cHtyV2uXg/VSO6WaT76VI/AAAAAAAAGk8/b6CyjBUPHyU/image_thumb%25255B11%25255D.png?imgmax=800" width="598" height="224"></a></p> Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4658355388656488549.post-55732352466495279622015-04-05T03:04:00.001-07:002015-04-05T03:04:49.264-07:00Client Object Sharepoint Online - The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel<p>Les voy a comentar un problema que tuve configurando una consola que utiliza Client Object para conectarse a Sharepoint Online en un servidor Windows Server 2008 R2. La consola se ejecutaba en una tarea planificada de windows (Task Scheduler), el cual se ejecutaba con un usuario de servicio que tenía acceso a internet</p> <p>En el app.config tenía configurado que utilice el proxy configurado por default. Tenía configurado en el IE el proxy, el cual no era necesario autenticarse, ya que usaba autenticación anónima.</p><system.net> <br> <defaultProxy useDefaultCredentials="true"><br> <proxy bypassonlocal="True" usesystemdefault="True"/><br> </defaultProxy> <br> </system.net> <p>Cuando ejecutaba la consola desde mi Windows, se ejecutaba sin problemas. Por lo cual excluí algún problema de autenticación o de acceso vía el proxy.</p> <p>Lo que hice es poner la url del sitio de Sharepoint Online en el IE del Windows Server, y me generaba un error de certificado. Me decía “Untrusted Certificate”</p> <p><a href="http://lh3.ggpht.com/-3OFDuDfJkvs/VSEIuA7xqqI/AAAAAAAAGi0/Ej9hJ0IjBxs/s1600-h/image2.png"><img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="http://lh4.ggpht.com/-8qAhZPs12QA/VSEIu9B7meI/AAAAAAAAGi8/dUVpDpITY-Y/image_thumb.png?imgmax=800" width="244" height="194"></a></p> <p>Lo que hice es agregar la siguiente línea al inicio de la consola, antes de hacer cual llamada a Sharepoint Online.</p> <p><font style="background-color: #ffff00">ServicePointManager.ServerCertificateValidationCallback = (sender, certificate, chain, sslPolicyErrors) => { return true; };</font></p> <p>Lo que hace esta línea de código, es ignorar cual error de certificados de SSL.</p> <p>Otra posibilidad es agregar la entidad que genera los certificados para Sharepoint Online en el store “Trusted Root Certification Authorities”: <a title="https://technet.microsoft.com/en-us/library/cc754841.aspx" href="https://technet.microsoft.com/en-us/library/cc754841.aspx">https://technet.microsoft.com/en-us/library/cc754841.aspx</a></p> <p><a href="http://lh6.ggpht.com/-uazB59VBZDc/VSEIvaIbc2I/AAAAAAAAGjE/oVkDTEOtk_Q/s1600-h/image%25255B4%25255D.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://lh3.ggpht.com/-EvvcbUl2Syg/VSEIv35yBYI/AAAAAAAAGjM/95OVE7ogQro/image_thumb%25255B2%25255D.png?imgmax=800" width="362" height="183"></a></p> Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4658355388656488549.post-75786777587316278462015-04-04T05:06:00.001-07:002015-04-04T05:06:02.049-07:00Sharepoint Change Log–Office 365<p>Microsoft SharePoint incluye un “change log” para hacer tracking de los cambios sobre listas, Web site, site collection, o content database (no soportado sobre Office 365). Por ejemplo, si un item es agregado a una lista, actualizado, renombrado, movido o borrado. Esta información es guardada en el change log junto con la hora que se realizó el cambio y un identificador único para el item. <p>El uso de change log de Sharepoint, no siempre es el más apropiado para algunos escenarios, ya que se puede usar otras soluciones, tales como event receivers o workflows. <p>Por default la información se almacena por 60 días. Pueden ver un overview en el siguiente link: <p><a title="https://msdn.microsoft.com/en-us/library/office/bb417456(v=office.14).aspx" href="https://msdn.microsoft.com/en-us/library/office/bb417456(v=office.14).aspx">https://msdn.microsoft.com/en-us/library/office/bb417456(v=office.14).aspx</a> (algunas cosas no están soportadas por Office 365.)</p> <p>En Office 365 tenemos disponibles los siguientes métodos: <ul> <li><a href="http://msdn.microsoft.com/en-us/library/office/microsoft.sharepoint.client.site.getchanges(v=office.15).aspx">Site.GetChanges</a> <li><a href="http://msdn.microsoft.com/en-us/library/office/microsoft.sharepoint.client.web.getchanges(v=office.15).aspx">Web.GetChanges</a> <li><a href="http://msdn.microsoft.com/en-us/library/office/microsoft.sharepoint.client.list.getchanges(v=office.15).aspx">List.GetChanges</a></li></ul> <p>Cada método retorna una colleción de objetos, que son descendientes del objeto al cual se hizo referencia. Ej: si yo utilizo List.GetChanges, sólo retornará cambios realizados sobre la lista que se le pasó como parámetro, y NO cambios de otras listas. <p>Las propiedades del objeto ChangeQuery pueden dividirse en dos: change actions y objetos cambiados. <p><strong>Change Actions</strong> (<a title="https://msdn.microsoft.com/en-us/library/office/bb447550(v=office.14).aspx#sectionSection2" href="https://msdn.microsoft.com/en-us/library/office/bb447550(v=office.14).aspx#sectionSection2">https://msdn.microsoft.com/en-us/library/office/bb447550(v=office.14).aspx#sectionSection2</a>) <ul> <li>Add <li>DeleteObject <li>GroupMembershipAdd <li>GroupMembershipDelete <li>Move <li>Rename <li>Restore <li>RoleAssignmentAdd <li>RoleAssignmentDelete <li>RoleDefinitionAdd <li>RoleDefinitionDelete <li>RoleDefinitionUpdate <li>SystemUpdate <li>Update</li></ul> <p><strong>Objetos cambiados (<a title="https://msdn.microsoft.com/en-us/library/office/bb447550(v=office.14).aspx#sectionSection1" href="https://msdn.microsoft.com/en-us/library/office/bb447550(v=office.14).aspx#sectionSection1">https://msdn.microsoft.com/en-us/library/office/bb447550(v=office.14).aspx#sectionSection1</a>):</strong> <ul> <li>Alert <li>ContentType <li>Field <li>File <li>Folder <li>Group <li>Item <li>List <li>Navigation <li>SecurityPolicy <li>Site <li>User <li>View <li>Web</li></ul> <p>El método ChangeQuery tiene el siguiente encabezado</p> <p><a href="http://lh3.ggpht.com/-jr3GRZibbOA/VR_Tm7toyAI/AAAAAAAAGh4/nd63tmxPTms/s1600-h/image%25255B3%25255D.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://lh6.ggpht.com/-aecvcwCBkWY/VR_TnokwVLI/AAAAAAAAGiA/h5NYxAxtqPE/image_thumb%25255B1%25255D.png?imgmax=800" width="250" height="202"></a></p> <p>Si yo uso ChangeQuery siteCQ = new ChangeQuery(<font style="background-color: #ffff00">true, true</font>);: voy a buscar todos los cambios de todos los objetos.</p> <p>En cambio si uso ChangeQuery siteCQ = new ChangeQuery(<font style="background-color: #ffff00">false, false</font>): puedo definir que cambios de acciones buscar y que objetos. </p> <p>Ej: siteCQ.Item = true (sólo busco items cambiados)</p> <p>Ej: siteCQ.DeleteObject = true; (busco acciones de borrado de objetos)</p> <p>Veamos un ejemplo con Sharepoint Online, con Sharepoint On-premise es similar, sólo cambia la manera de hacer login y algunos eventos más (Ej: para content database o web applications)</p> <p><a href="http://lh3.ggpht.com/-cRF_vkmBfaQ/VR_ToRUmTXI/AAAAAAAAGiI/r4MSdsFxJzg/s1600-h/image%25255B11%25255D.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://lh4.ggpht.com/-l1fwm7IS9fs/VR_TpBCkvYI/AAAAAAAAGiM/JUWQc-KjMwQ/image_thumb%25255B5%25255D.png?imgmax=800" width="667" height="305"></a></p> <p>Con las siguientes dos líneas, estoy indicando que voy a traer todos los cambios de todos los objetos, y lo haré desde el site collection para abajo.</p> <p>ChangeQuery siteCQ = new ChangeQuery(true, true);<br>var siteChanges = site.GetChanges(siteCQ);<br>La siguiente línea, indica, que si el cambio es de tipo ChangeItem, lo proceso. Se puede hacer por cada tipo de cambio.</p> <p>if (change is Microsoft.SharePoint.Client.ChangeItem)<br>{<br>}</p> <p>El resultado es el siguiente:</p> <p><a href="http://lh4.ggpht.com/-h3-6id1FYGE/VR_Tpl3uLAI/AAAAAAAAGiU/tdxnQPx8A7U/s1600-h/image%25255B15%25255D.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://lh6.ggpht.com/-4SXEPTJiEj0/VR_TqJtSpGI/AAAAAAAAGic/bZn6GTQJUtk/image_thumb%25255B7%25255D.png?imgmax=800" width="668" height="109"></a></p> <p>También es posible limitar los cambios desde un inicio hasta un final, o desde la última vez que se ejecutó.</p> <p>Ej:</p> <p>// Construct a query.<br>SPChangeQuery query = new SPChangeQuery(false, // Specify object types<br> false // Specify change types<br> );<br>// Specify object types. <br>query.User = true;<br>query.Group = true;</p> <p>// Specify change types. <br>query.Add = true;<br>query.Delete = true;<br>query.Update = true;<br>query.GroupMembershipAdd = true;<br>query.GroupMembershipDelete = true;<br><font style="background-color: #ffff00">query.ChangeTokenStart = lastProcessedToken</font></p> <p>En el caso que quisieramos limitar los resultados entre dos tokens de ejecución, puedo usar la propiedad ChangeTokenEnd<br>Para mantener el último token procesado, podemos ver el siguiente ejemplo, el cual usa un archivo .dat para almacenar el último token ejecutado.</p> <p><a title="https://msdn.microsoft.com/en-us/library/office/ff408387(v=office.14).aspx" href="https://msdn.microsoft.com/en-us/library/office/ff408387(v=office.14).aspx">https://msdn.microsoft.com/en-us/library/office/ff408387(v=office.14).aspx</a></p> <p><strong>Para mayor información:</strong> <p><a title="https://msdn.microsoft.com/en-us/library/office/microsoft.sharepoint.client.changequery_members.aspx" href="https://msdn.microsoft.com/en-us/library/office/microsoft.sharepoint.client.changequery_members.aspx">https://msdn.microsoft.com/en-us/library/office/microsoft.sharepoint.client.changequery_members.aspx</a> <p><a title="https://msdn.microsoft.com/en-us/library/office/bb447550(v=office.14).aspx" href="https://msdn.microsoft.com/en-us/library/office/bb447550(v=office.14).aspx">https://msdn.microsoft.com/en-us/library/office/bb447550(v=office.14).aspx</a> <p><strong>Código Fuente:</strong></p> <p>using (ClientContext clientContext = new ClientContext(ConfigurationManager.AppSettings["SiteUrl"]))<br> { <br> SecureString passWord = new SecureString();<br> foreach (char c in ConfigurationManager.AppSettings["Password"].ToCharArray()) passWord.AppendChar(c);<br> clientContext.AuthenticationMode = ClientAuthenticationMode.Default;<br> clientContext.Credentials = new SharePointOnlineCredentials(ConfigurationManager.AppSettings["Usuario"], passWord);</p> <p> var site = clientContext.Site;<br> clientContext.Load(site);<br> ChangeQuery siteCQ = new ChangeQuery(true, true);</p> <p> var siteChanges = site.GetChanges(siteCQ);<br> clientContext.Load(siteChanges);<br> clientContext.ExecuteQuery();</p> <p> foreach (Change change in siteChanges)<br> {<br> //Console.WriteLine("{0}, {1}, {2}",change.Time, change.ChangeType, change.TypedObject);<br> <br> if (change is Microsoft.SharePoint.Client.ChangeItem)<br> {<br> ChangeItem ci = change as ChangeItem; <br> Console.WriteLine("Sobre el Item {0} (lista {1}) se ejecutó la siguiente acción {2}", ci.ItemId.ToString(), ci.ListId.ToString(), ci.ChangeType);<br> }</p> <p> if (change is Microsoft.SharePoint.Client.ChangeList)<br> {<br> ChangeList cl = change as ChangeList;<br> Console.WriteLine("Sobre la lista {0} se ejecutó la siguiente acción {1}", cl.ListId.ToString(), cl.ChangeType);<br> }<br> } <br> }</p> Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4658355388656488549.post-1804194823254859882015-04-03T04:29:00.001-07:002015-04-03T04:29:24.329-07:00Office 365 – Cambiar imagen de inicio de login<p>Por default cuando ingreso a Office 365, veo la siguiente imagen</p> <p><a href="http://lh6.ggpht.com/-FRlqmc4t038/VR55fDt3s7I/AAAAAAAAGgc/PwU5H9re4Xo/s1600-h/image%25255B3%25255D.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://lh3.ggpht.com/-LAdN5lTfdWk/VR55gKj0QxI/AAAAAAAAGgk/rlxM2pzSdWg/image_thumb%25255B1%25255D.png?imgmax=800" width="593" height="291"></a></p> <p>Para cambiarla, has lo siguiente.</p> <ul> <li>En tu portal de administración de Office 365, ingresa a “Azure AD”</li></ul> <blockquote> <p><a href="http://lh4.ggpht.com/-SV7n3PXU5kA/VR55guEHH-I/AAAAAAAAGgs/6a91PRIGVKo/s1600-h/image%25255B14%25255D.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://lh6.ggpht.com/-R4OGuuUdRUQ/VR55hMEzHrI/AAAAAAAAGg0/4mxVPslKyWk/image_thumb%25255B4%25255D.png?imgmax=800" width="92" height="244"></a></p></blockquote> <ul> <li>En el portal de azure, selecciona tu Active Directory relacionado al dominio de Office 365, y a continuación selecciona “Configurar”. Después selecciona “Personalizar la información de marca”</li></ul> <blockquote> <p><a href="http://lh5.ggpht.com/-mG80dX1rjhE/VR55h-s3zkI/AAAAAAAAGg8/3HEWLpFRx0s/s1600-h/image%25255B18%25255D.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://lh3.ggpht.com/-mME63IKwupU/VR55icU_p4I/AAAAAAAAGhE/NtBel7G5TKg/image_thumb%25255B6%25255D.png?imgmax=800" width="512" height="228"></a></p> <p>En el caso que ya hayas configurado anteriormente el dominio, te aparecerá la siguiente pantalla.</p> <p><a href="http://lh5.ggpht.com/-TBIM8vVrL3g/VR55iwzvvkI/AAAAAAAAGhM/-Rr9g8Az77Y/s1600-h/image%25255B22%25255D.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://lh4.ggpht.com/-Be77Dsn0844/VR55jjYDs1I/AAAAAAAAGhU/wXZBNpZKz04/image_thumb%25255B8%25255D.png?imgmax=800" width="431" height="225"></a></p> <p>En caso contrario, directamente te mostrará la siguiente pantalla</p> <p><a href="http://lh6.ggpht.com/-gKGyWKYvtSg/VR55kHlXi7I/AAAAAAAAGhc/JG5dNEhw07w/s1600-h/image%25255B26%25255D.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://lh6.ggpht.com/-rpsPy1lOYnQ/VR55klz5jeI/AAAAAAAAGhg/CpC6RRFKS8A/image_thumb%25255B10%25255D.png?imgmax=800" width="442" height="332"></a></p> <p>A continuación carga toda la información de tu página de login de Office 365</p> <p><img alt="Sign In Page" src="https://i-msdn.sec.s-msft.com/dynimg/IC716241.png" width="492" height="293"></p> <p>Para probar la página ingrese a (tarda 5 minutos en replicar la información) :</p> <p><a title="https://login.microsoftonline.com//?whr=extranet.techint.com" href="https://login.microsoftonline.com/?whr=dominioOffice365.com">https://login.microsoftonline.com/?whr=dominioOffice365.com</a></p></blockquote> <p>Para mayor información:</p> <p><a title="https://msdn.microsoft.com/en-us/library/azure/dn532270.aspx" href="https://msdn.microsoft.com/en-us/library/azure/dn532270.aspx">https://msdn.microsoft.com/en-us/library/azure/dn532270.aspx</a></p> Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4658355388656488549.post-40072703347861869842015-04-02T13:19:00.001-07:002015-04-02T13:19:56.864-07:00Redis Cache para Sharepoint 2016 ???<p>En el siguiente <a href="http://blogs.msdn.com/b/appfabric/archive/2015/04/02/windows-server-appfabric-1-1-ends-support-4-2-2016.aspx">post</a> (<a title="http://blogs.msdn.com/b/appfabric/archive/2015/04/02/windows-server-appfabric-1-1-ends-support-4-2-2016.aspx" href="http://blogs.msdn.com/b/appfabric/archive/2015/04/02/windows-server-appfabric-1-1-ends-support-4-2-2016.aspx">http://blogs.msdn.com/b/appfabric/archive/2015/04/02/windows-server-appfabric-1-1-ends-support-4-2-2016.aspx</a>) se menciona que finalizará el soporte de “Microsoft AppFabric 1.1 for Windows Server”.</p> <p>“Microsoft recommends all applications currently using AppFabric 1.1 for Windows Server to migrate off this technology by April 2, 2016”</p> <p>En el post recomiendan utilizar Azure Redis Cache en reemplazo de AppFabric.</p> <p><strong>Sharepoint 2016 vendrá configurado para usar Redis como cache</strong>? Muy pronto empezaremos a escuchar más información de la versión 16. La última versión de Redis para Windows es la 2.8.19 <a title="https://msopentech.com/blog/2015/03/03/redis-windows-2-8-19-released/" href="https://msopentech.com/blog/2015/03/03/redis-windows-2-8-19-released/">https://msopentech.com/blog/2015/03/03/redis-windows-2-8-19-released/</a></p> <p>Les dejo un par de links que comparan AppFabric con Redis:</p> <p><a title="http://siliconangle.com/blog/2012/02/27/redis-on-windows-vs-microsofts-appfabric/" href="http://siliconangle.com/blog/2012/02/27/redis-on-windows-vs-microsofts-appfabric/">http://siliconangle.com/blog/2012/02/27/redis-on-windows-vs-microsofts-appfabric/</a></p> <p><a title="http://www.techwars.io/fight/redis/appfabric/" href="http://www.techwars.io/fight/redis/appfabric/">http://www.techwars.io/fight/redis/appfabric/</a></p> Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-4658355388656488549.post-91294635852247733882015-03-02T09:11:00.001-08:002015-03-02T09:11:26.898-08:00Installation Error: Could not find SOFTWARE\Microsoft\Microsoft SQL Server\110 registry key.<p>Al tratar de crear el Service Application de reporting Services, me lanzo el siguiente error:</p> <p>Installation Error: Could not find SOFTWARE\Microsoft\Microsoft SQL Server\110 registry key. <p><a href="http://lh5.ggpht.com/-iDfF0sIS8gU/VPSZt1MV0wI/AAAAAAAAGb8/Oj3AWMlWezg/s1600-h/image%25255B3%25255D.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://lh3.ggpht.com/-xzMARte7l-8/VPSZur2wd0I/AAAAAAAAGcE/T6Zii-1e-KI/image_thumb%25255B1%25255D.png?imgmax=800" width="618" height="221"></a></p> <p>Para solucionarlo, instale la feature “Reporting Services – Sharepoint”</p> <p><a href="http://lh6.ggpht.com/-MrV2XDnC8LA/VPSZu5kOMMI/AAAAAAAAGcI/GhABmqBw4e8/s1600-h/image%25255B7%25255D.png"><img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="http://lh4.ggpht.com/-ozOoSbtUafI/VPSZvXoej_I/AAAAAAAAGcU/cXlHxMdbPRk/image_thumb%25255B3%25255D.png?imgmax=800" width="608" height="82"></a></p> Unknownnoreply@blogger.com0