SlideShare uma empresa Scribd logo
1 de 47
How to do everything with
PowerShell
Juan Carlos González
September 26th, 2015
Barcelona
Thanks to our Sponsors
Get stamps from all the sponsors
Deposit the passport to enter
the prize raffle
Good luck!
The SPSBCN Passport
FREE BEER!
Get your ticket at the registration
desk
Network and have fun with your
colleagues!
SharePint sponsored by
Michael Collins Pub
Plaça de Sagrada
Família
Starts at 19:30h
They help us improve
for SharePoint Saturday
2016!
Remember to fill your evaluation forms
Juan Carlos González
 Office 365 MVP
 Cloud & Productivity Advisor at MVP CLUSTER
 SUGES, Comunidad de O365 & Nuberos.Net coordinator
 CompartiMOSS Co-Director (www.compartimoss.com)
 Some ways to contact me:
 Twitter: jcgm1978
 LinkedIn: https://nl.linkedin.com/in/juagon
 Contact E-Mails:
 jcgonzalezmartin1978@Hotmail.com
 juancarlos.gonzalez@fiveshareit.es
 Blog: https://jcgonzalezmartin.wordpress.com/
 MVP CLUSTER Web Site: www.mvpcluster.com
Agenda
Default PowerShell
cmdlets
PowerShell for SharePoint possibilities
 What can I do with PowerShell for SharePoint?
Backup &
Restore
Operations
PowerShell provides several ways to interact and
work with SharePoint (OnPrem & Online)
Platform
Administration
Use Server
Side / Client
Side APIs
Troubleshooting
Everything !!!
PowerShell Development Environments
 SharePoint OnPremises – SharePoint Management
Shell:
 Available by default on every WFE / Application Server in a SharePoint Farm
 It provides access in the box to all the SharePoint cmdlets
PowerShell Development Environments
 SharePoint OnPremises – PowerShell Web Access:
PowerShell Development Environments
 SharePoint OnPremises – PowerShell Web Access:
 It provides a way to execute PowerShell cmdlets in the Browser
 In order to use it you have to:
 Enable PowerShell Web Access feature at the WFE(s) level
 Install/Enable PowerShell Web Access components using PowerShell
 Configure Default IIS Web Site on every SharePoint WFE(s) you want to use
PowerShell Web Access
Install-PswaWebApplication –UseTestCertificate
Add-PswaAuthorizationRule -UserName [Dominio][Usuario] -ComputerName
[NombreComputador] -ConfigurationName Microsoft.Powershell
PowerShell Development Environments
 SharePoint OnPremises y SPO – Windows
PowerShell:
 For SP OnPremises, the SharePoint Snap-In has to be loaded at first
PowerShell Development Environments
 SharePoint OnPremises y SPO – ISE:
PowerShell Development Environments
 PowerShell ISE:
 It’s “almost” a development environment for PowerShell providing features
such as Debugging Intellisense Code Coloring …
 Each new ISE version release adds new features and improvements
 It is a feature provided by default in Windows (Client and Server Editions),
although there are some cases you need to enable it (Windows Server 2008 R2)
 SharePoint Snap-In must be previously loaded in the ISE in order to be able
to use SharePoint OnPremises PowerShell cmdelts
 This step is not required for SPO
PowerShell Development Environments
 SharePoint OnPremises y SPO – Visual Studio:
PowerShell Development Environments
 SharePoint OnPremises y SPO – Visual Studio:
 PowerShell support in Visual Studio is provided by means of the PowerShell
Tools for Visual Studio:
 https://visualstudiogallery.msdn.microsoft.com/c9eb3ba8-0c59-4944-9a62-
6eee37294597
 Some features provided by PowerShell Tools for Visual Studio are:
 Create projects for PowerShell scripts and modules
 Execute PowerShell Scripts & Commands right from Visual Studio
 Edit, run and debug PowerShell scripts locally and remotely using the
Visual Studio debugger
 Leverage Visual Studio’s locals, watch, call stack, … for your scripts and
modules

PowerShell Development Environments
 SPO – SharePoint Online Management Shell:
 It provides a shortcut to SharePoint Online default cmdlets
 Updated quite often by Microsoft (last update available: August 2015)
PowerShell Development Environments
for SharePoint OnPremises and SPO
Default PowerShell Cmdlets
 Components of a PowerShell Cmdlet:
We can create
custom cmdlets
Default PowerShell Cmdlets
 SharePoint OnPremises:
 More tan 800 cmdlets in SharePoint 2013 SP 1 (861 cmdlets in SP 2016 IT
Preview)
Get-Command –PSSnapin "Microsoft.SharePoint.PowerShell"
Default PowerShell Cmdlets
 Example # 1 - Get-SPSite
 It allows to get all the Site Collections in the Farm that match the specified
conditions
 http://technet.microsoft.com/es-es/library/ff607950(v=office.15).aspx
Get-SPSite | select url, @{Expression={$_.Usage.Storage/1MB}}
Default PowerShell Cmdlets
 SharePoint Online:
 More than 40 cmdlets available for SPO (August 2015 update)
$spoCmdlets=Get-Command | where {$_.ModuleName -eq “Microsoft.Online.SharePoint.PowerShell"}
$spoCmdlets.Count
$spoCmdlets.Name
Default PowerShell Cmdlets
 Example # 1 - Get-SPOSite
 It allows to get all the Site Collections in a SharePoint Online tenant that match
the specified conditions
 https://technet.microsoft.com/es-es/library/FP161380.aspx
#Ejecución en la Consola de Administración de SharePoint Online
$sUserName="jcgonzalez@nuberosnet.onmicrosoft.com"
$sMessage="Introduce your SPO Credentials"
$sSPOAdminCenterUrl="https://nuberosnet-admin.sharepoint.com/"
$msolcred = Get-Credential -UserName $sUserName -Message $sMessage
Connect-SPOService -Url $sSPOAdminCenterUrl -Credential $msolcred
$spoSiteCollections=Get-SPOSite
Default PowerShell cmdlets for
SharePoint OnPremises and SPO
Using SharePoint APIs in PowerShell
 SharePoint Server Side API:
 SharePoint PowerShell Snap-In provides also access to the full server side API:
 You can use SharePoint objects in the same way you do in Visual Studio
 Example # 1 – How to create a SharePoint list and a add a column to the list:
$spSite=Get-SPSite -Identity $sSiteUrl
$spWeb=$spSite.OpenWeb()
$spWeb.Lists.Add("Lista Grande","Lista Grande",100)
$spFieldType = [Microsoft.SharePoint.SPFieldType]::Text
$spList = $spWeb.Lists["Lista Grande"]
$spList.Fields.Add(“Datos”,$spFieldType,$false)
$spList.Fields["Datos"].Update()
$spList.Update()
Using SharePoint APIs in PowerShell
 SharePoint Server Side API:
 Example # 2 – How to do a CAML Query:
$spSite=Get-SPSite -Identity $sSiteCollection
$spwWeb=$spSite.OpenWeb()
$splList = $spwWeb.Lists.TryGetList($sListName)
$spqQuery = New-Object Microsoft.SharePoint.SPQuery
$spqQuery.Query =
" <Where>
<Contains>
<FieldRef Name='FileLeafRef' />
<Value Type='File'>Farm</Value>
</Contains>
</Where>"
$spqQuery.ViewFields = "<FieldRef Name='FileLeafRef' /><FieldRef Name='Title' />"
$spqQuery.ViewFieldsOnly = $true
$splListItems = $splList.GetItems($spqQuery)
Using SharePoint APIs in PowerShell
 SharePoint Client Side API:
 Client Side API (better known as CSOM) can be used in PowerShell for both
SharePoint OnPremises and SPO
 First step before using the API is to load the required assemblies:
 Once the assemblies are loaded, simply follow CSOM rules
Add-Type -Path "<CSOM_Path>Microsoft.SharePoint.Client.dll"
Add-Type -Path "<CSOM_Path>Microsoft.SharePoint.Client.Runtime.dll"
Using SharePoint APIs in PowerShell
 SharePoint Client Side API:
 Example 1 – Using CSOM for SharePoint OnPremises in PowerShell:
#SharePoint Client Object Model Context
$spCtx = New-Object Microsoft.SharePoint.Client.ClientContext($sSiteColUrl)
$spCredentials = New-Object
System.Net.NetworkCredential($sUserName,$sPassword,$sDomain)
$spCtx.Credentials = $spCredentials
#Root Web Site
$spRootWebSite = $spCtx.Web
#Collecction of Sites under the Root Web Site
$spSites = $spRootWebSite.Webs
#Loading operations
$spCtx.Load($spRootWebSite)
$spCtx.Load($spSites)
$spCtx.ExecuteQuery()
Using SharePoint APIs in PowerShell
 SharePoint Client Side API:
 Example 2 – Using CSOM for SPO in PowerShell:
$spoCtx = New-Object Microsoft.SharePoint.Client.ClientContext($sSiteColUrl)
$spoCredentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($sUsername, $sPassword)
$spoCtx.Credentials = $spoCredentials
#Root Web Site
$spoRootWebSite = $spoCtx.Web
#Collecction of Sites under the Root Web Site
$spoSites = $spoRootWebSite.Webs
#Loading operations
$spoCtx.Load($spoRootWebSite)
$spoCtx.Load($spoSites)
$spoCtx.ExecuteQuery()
#We need to iterate through the $spoSites Object in order to get individual sites information
foreach($spoSite in $spoSites){
$spoCtx.Load($spoSite)
$spoCtx.ExecuteQuery()
Write-Host $spoSite.Title " - " $spoSite.Url -ForegroundColor Blue
}
Do you see the difference?
Using SharePoint APIs from PowerShell
PowerShell Usage Scenarios
Platform
Administration
There are several PowerShell usage scenarios in
SharePoint (OnPremises and Online)
SharePoint
Migrations
Auditing Tasks
(Farm / Tenant
Level)
Troubleshooting
Solutions
Deployment
PowerShell Usage Scenarios
 Installation & Configuration:
 PowerShell provides more control over the SharePoint installation &
configuration process in regards to:
 Installation Accounts Database Names Service Applications
Configuration …
 It takes some more time than the SharePoint visual installation, but you will get
two great benefits:
1) The configuration for all servers in the farm is the same
2) It’s a more advisable approach in terms of disaster recovery
 There are some good scripts that show how you can automate all the
installation and configuration of a SharePoint farm:
 AutoSPInstaller: http://autospinstaller.codeplex.com/
PowerShell Usage Scenarios
 Installation & Configuration:
Using
PowerShell
Side effects of a
Visual Installation
PowerShell Usage Scenarios
 Farm / Tenant Administration:
 A SharePoint Administrator can do more administration tasks using PowerShell
than using the SharePoint Central Administration
 For instance, the farm passphrase can only be changed by means of
PowerShell
Add-PSSnapin Microsoft.SharePoint.PowerShell
$passphrase = ConvertTo-SecureString –string “<NewPassword>” -asPlainText –Force
Set-SPPassPhrase -PassPhrase $passphrase -Confirm
PowerShell Usage Scenarios
 Farm / Tenant Administration:
 Example 2 – How to re-start all the timer service instances in a SharePoint farm:
$spFarm=Get-SPFarm
$spfTimerServcicesInstance=$spFarm.TimerService.Instances
foreach ($spfTimerServiceInstance in $spfTimerServcicesInstances)
{
Write-Host "Re-starting the instance " $spfTimerServiceInstance.TypeName
$spfTimerServiceInstance.Stop()
$spfTimerServiceInstance.Start()
Write-Host "SharePoint Timer Service Instance" $spfTimerServiceInstance.TypeName "Re-Started"
}
PowerShell Usage Scenarios
 SharePoint Migration & Upgrade scenarios:
 For SharePoint 2013 we have several PowerShell cmdlets for doing SharePoint
migration and upgrading tasks
• Content Databases level:
• Mount-SPContentDatabase
• Test-SPContentDatabase
• Upgrade-SPContentDatabase
• Site Collections level:
• Test-SPSite
• Repair-SPSite
• Upgrade-SPSite
• Request-
SPUpgradeEvaluationSiteCollection
• Farm level:
• Upgrade-SPFarm
• Queues Administration:
• Get-SPSiteUpgradeSession
• Remove-SPSiteUpgradeSession
• Service Applications level:
• New-SPBusinessDataCatalogServiceApplication
• Restore-SPEnterpriseSearchServiceApplication
• Upgrade-SPEnterpriseSearchServiceApplication
• Upgrade-
SPEnterpriseSearchServiceApplicationSiteSettin
gs
• New-SPMetadataServiceApplication
• New-SPPerformancePointServiceApplication
• New-SPProfileServiceApplication
• New-SPProjectServiceApplication
• New-New-SPSecureStoreApplication
• New-SPSubscriptionSettingsServiceApplication
PowerShell Usage Scenarios
 SharePoint Migration & Upgrade scenarios:
 Example – How to execute Test-SPContentDatabase in all the Content DBs in a
SharePoint 2010 / 2013 Farm:
$sServerInstance=“<Server_Instance>”
$spWebApps = Get-SPWebApplication -IncludeCentralAdministration
foreach($spWebApp in $spWebApps)
{
$ContentDatabases = $spWebApp.ContentDatabases
foreach($ContentDatabase in $ContentDatabases)
{
Test-SPContentDatabase –Name $ContentDatabase.Name -ServerInstance
$sServerInstance -WebApplication $spWebApp.Url
}
}
PowerShell Usage Scenarios
 Auditing SharePoint Environments:
 Through PowerShell you can do auditing tasks such as:
 Get detailed information about the logical and information architecture of a
farm: Web Applications Site Collections Sites Lists / Document Libraries …
 Get information about Content DB sizes, storage being used by Site
Collections and Sites
 Access to security information in the farm such as authentication methods in
use, SharePoint Groups and SharePoint Users defined in farm Site Collections
and Sites, Permissions levels, …
 Get all the customizations deployed and installed in the farm (.WSPs) + a list
of all the features available at different scopes
PowerShell Usage Scenarios
 SharePoint Auditing Environments:
 Example # 1 - How to get the size of all the Content DBs in a farm:
$spWebApps = Get-SPWebApplication -IncludeCentralAdministration
foreach($spWebApp in $spWebApps)
{
#$spWebApp.Name
$ContentDBs = $spWebApp.ContentDatabases
foreach($ContentDB in $ContentDBs)
{
$ContentDBsize = [Math]::Round(($ContentDB.disksizerequired/1GB),2)
$ContentDBInfo= $spWebApp.DisplayName + "," + $ContentDB.Name + ","
+ $ContentDBsize + " GB"
$ContentDBInfo
}
}
PowerShell Usage Scenarios
 SharePoint Auditing Environments:
 Example # 2 - How to extract all the WSPs deployed to a SharePoint farm:
$spFarm=Get-SPFarm
$spSolutions = $spFarm.Solutions
$iSolutionsNumber=0
foreach($spSolution in $spSolutions)
{
$spSolutionFile=$spSolution.SolutionFile
$spSolutionFile.SaveAs($ScriptDir + "" + $spSolution.DisplayName)
$iSolutionsNumber+=1
}
PowerShell Usage Scenarios
 Troubleshooting:
 Through specific cmdlets to deal with SharePoint LOGS:
PowerShell Usage Scenarios
 Troubleshooting:
 Example # 1 – Enable / Disable the Developer Dashboard:
$svc=[Microsoft.SharePoint.Administration.SPWebService]::ContentService
$ddsetting=$svc.DeveloperDashboardSettings
$ddsetting.DisplayLevel=[Microsoft.SharePoint.Administration.SPDeveloperDashboardLevel]::On
$ddsetting.Update()
PowerShell Usage Scenarios
 Solutions deployment / Artifacts provisioning:
 Install & deploy SharePoint Solutions (.WSP)
 Enable /disable SharePoint features
 Apply recursively look & feel customizations to all the sites in a Site
Collection
 Artifacts provisioning to deploy a complete SharePoint solution by creating
Sites, Content Types, Site Columns, Lists, Document Libraries, …
 Office 365 PnP Provisioning Engine is a good example of how to automate the
provisioning of SharePoint artifacts
 https://github.com/OfficeDev/PnP-Provisioning-Schema/wiki
 https://github.com/jcgonzalezmartin/jcgonzalez
PowerShell Usage Scenarios for
SharePoint
Conclusions
 PowerShell for SharePoint is a tool not only for administration and configuration
stuff but also for Auditing Troubleshooting Solutions Deployment Use of the
SharePoint API
 We can work with PowerShell for SharePoint using different development
environments:
 SharePoint Administration Console PowerShell ISE Visual Studio Windows
PowerShell PowerShell Web Acces SPO Administration Console
 We have a bunch of PowerShell cmdlets for SharePoint OnPremises and SPO
 > 800 cmdlets for SharePoint OnPremises
 > 40 cmdlets for SPO
 …and we can create our custom cmdlets
 In addition to the default cmdlets, we can use SharePoint APIs in our PowerShell
scripts…so we can do everything with PowerShell 
Q & A Barcelona
Juan Carlos González
 Office 365 MVP
 Cloud & Productivity Advisor at MVP CLUSTER
 SUGES, Comunidad de O365 & Nuberos.Net coordinator
 CompartiMOSS Co-Director (www.compartimoss.com)
 Some ways to contact me:
 Twitter: jcgm1978
 LinkedIn: https://nl.linkedin.com/in/juagon
 Contact E-Mails:
 jcgonzalezmartin1978@Hotmail.com
 juancarlos.gonzalez@fiveshareit.es
 Blog: https://jcgonzalezmartin.wordpress.com/
 MVP CLUSTER Web Site: www.mvpcluster.com

Mais conteúdo relacionado

Mais procurados

Gruntwork Executive Summary
Gruntwork Executive SummaryGruntwork Executive Summary
Gruntwork Executive SummaryYevgeniy Brikman
 
Derbycon - Passing the Torch
Derbycon - Passing the TorchDerbycon - Passing the Torch
Derbycon - Passing the TorchWill Schroeder
 
I Have the Power(View)
I Have the Power(View)I Have the Power(View)
I Have the Power(View)Will Schroeder
 
Windows attacks - AT is the new black
Windows attacks - AT is the new blackWindows attacks - AT is the new black
Windows attacks - AT is the new blackChris Gates
 
Powershell Seminar @ ITWorx CuttingEdge Club
Powershell Seminar @ ITWorx CuttingEdge ClubPowershell Seminar @ ITWorx CuttingEdge Club
Powershell Seminar @ ITWorx CuttingEdge ClubEssam Salah
 
A complete guide to Node.js
A complete guide to Node.jsA complete guide to Node.js
A complete guide to Node.jsPrabin Silwal
 
Basic commands for powershell : Configuring Windows PowerShell and working wi...
Basic commands for powershell : Configuring Windows PowerShell and working wi...Basic commands for powershell : Configuring Windows PowerShell and working wi...
Basic commands for powershell : Configuring Windows PowerShell and working wi...Hitesh Mohapatra
 
Lucio Grenzi - Building serverless applications on the Apache OpenWhisk platf...
Lucio Grenzi - Building serverless applications on the Apache OpenWhisk platf...Lucio Grenzi - Building serverless applications on the Apache OpenWhisk platf...
Lucio Grenzi - Building serverless applications on the Apache OpenWhisk platf...Codemotion
 
Ansible v2 and Beyond (Ansible Hawai'i Meetup)
Ansible v2 and Beyond (Ansible Hawai'i Meetup)Ansible v2 and Beyond (Ansible Hawai'i Meetup)
Ansible v2 and Beyond (Ansible Hawai'i Meetup)Timothy Appnel
 
Play Framework: async I/O with Java and Scala
Play Framework: async I/O with Java and ScalaPlay Framework: async I/O with Java and Scala
Play Framework: async I/O with Java and ScalaYevgeniy Brikman
 
Securing Prometheus exporters using HashiCorp Vault
Securing Prometheus exporters using HashiCorp VaultSecuring Prometheus exporters using HashiCorp Vault
Securing Prometheus exporters using HashiCorp VaultBram Vogelaar
 
Fun with exploits old and new
Fun with exploits old and newFun with exploits old and new
Fun with exploits old and newLarry Cashdollar
 
Keybase Vault Auto-Unseal HashiTalks2020
Keybase Vault Auto-Unseal HashiTalks2020Keybase Vault Auto-Unseal HashiTalks2020
Keybase Vault Auto-Unseal HashiTalks2020Bas Meijer
 
Container and microservices: a love story
Container and microservices: a love storyContainer and microservices: a love story
Container and microservices: a love storyThomas Rossetto
 
Ansible: How to Get More Sleep and Require Less Coffee
Ansible: How to Get More Sleep and Require Less CoffeeAnsible: How to Get More Sleep and Require Less Coffee
Ansible: How to Get More Sleep and Require Less CoffeeSarah Z
 
Scaling Your App With Docker Swarm using Terraform, Packer on Openstack
Scaling Your App With Docker Swarm using Terraform, Packer on OpenstackScaling Your App With Docker Swarm using Terraform, Packer on Openstack
Scaling Your App With Docker Swarm using Terraform, Packer on OpenstackBobby DeVeaux, DevOps Consultant
 
Beyond Breakpoints: A Tour of Dynamic Analysis
Beyond Breakpoints: A Tour of Dynamic AnalysisBeyond Breakpoints: A Tour of Dynamic Analysis
Beyond Breakpoints: A Tour of Dynamic AnalysisFastly
 

Mais procurados (20)

Gruntwork Executive Summary
Gruntwork Executive SummaryGruntwork Executive Summary
Gruntwork Executive Summary
 
Derbycon - Passing the Torch
Derbycon - Passing the TorchDerbycon - Passing the Torch
Derbycon - Passing the Torch
 
I Have the Power(View)
I Have the Power(View)I Have the Power(View)
I Have the Power(View)
 
Windows attacks - AT is the new black
Windows attacks - AT is the new blackWindows attacks - AT is the new black
Windows attacks - AT is the new black
 
PowerShell-1
PowerShell-1PowerShell-1
PowerShell-1
 
Powershell Seminar @ ITWorx CuttingEdge Club
Powershell Seminar @ ITWorx CuttingEdge ClubPowershell Seminar @ ITWorx CuttingEdge Club
Powershell Seminar @ ITWorx CuttingEdge Club
 
About Node.js
About Node.jsAbout Node.js
About Node.js
 
A complete guide to Node.js
A complete guide to Node.jsA complete guide to Node.js
A complete guide to Node.js
 
Basic commands for powershell : Configuring Windows PowerShell and working wi...
Basic commands for powershell : Configuring Windows PowerShell and working wi...Basic commands for powershell : Configuring Windows PowerShell and working wi...
Basic commands for powershell : Configuring Windows PowerShell and working wi...
 
Lucio Grenzi - Building serverless applications on the Apache OpenWhisk platf...
Lucio Grenzi - Building serverless applications on the Apache OpenWhisk platf...Lucio Grenzi - Building serverless applications on the Apache OpenWhisk platf...
Lucio Grenzi - Building serverless applications on the Apache OpenWhisk platf...
 
ruxc0n 2012
ruxc0n 2012ruxc0n 2012
ruxc0n 2012
 
Ansible v2 and Beyond (Ansible Hawai'i Meetup)
Ansible v2 and Beyond (Ansible Hawai'i Meetup)Ansible v2 and Beyond (Ansible Hawai'i Meetup)
Ansible v2 and Beyond (Ansible Hawai'i Meetup)
 
Play Framework: async I/O with Java and Scala
Play Framework: async I/O with Java and ScalaPlay Framework: async I/O with Java and Scala
Play Framework: async I/O with Java and Scala
 
Securing Prometheus exporters using HashiCorp Vault
Securing Prometheus exporters using HashiCorp VaultSecuring Prometheus exporters using HashiCorp Vault
Securing Prometheus exporters using HashiCorp Vault
 
Fun with exploits old and new
Fun with exploits old and newFun with exploits old and new
Fun with exploits old and new
 
Keybase Vault Auto-Unseal HashiTalks2020
Keybase Vault Auto-Unseal HashiTalks2020Keybase Vault Auto-Unseal HashiTalks2020
Keybase Vault Auto-Unseal HashiTalks2020
 
Container and microservices: a love story
Container and microservices: a love storyContainer and microservices: a love story
Container and microservices: a love story
 
Ansible: How to Get More Sleep and Require Less Coffee
Ansible: How to Get More Sleep and Require Less CoffeeAnsible: How to Get More Sleep and Require Less Coffee
Ansible: How to Get More Sleep and Require Less Coffee
 
Scaling Your App With Docker Swarm using Terraform, Packer on Openstack
Scaling Your App With Docker Swarm using Terraform, Packer on OpenstackScaling Your App With Docker Swarm using Terraform, Packer on Openstack
Scaling Your App With Docker Swarm using Terraform, Packer on Openstack
 
Beyond Breakpoints: A Tour of Dynamic Analysis
Beyond Breakpoints: A Tour of Dynamic AnalysisBeyond Breakpoints: A Tour of Dynamic Analysis
Beyond Breakpoints: A Tour of Dynamic Analysis
 

Destaque

Some PowerShell Goodies
Some PowerShell GoodiesSome PowerShell Goodies
Some PowerShell GoodiesCybereason
 
[CB16] Invoke-Obfuscation: PowerShell obFUsk8tion Techniques & How To (Try To...
[CB16] Invoke-Obfuscation: PowerShell obFUsk8tion Techniques & How To (Try To...[CB16] Invoke-Obfuscation: PowerShell obFUsk8tion Techniques & How To (Try To...
[CB16] Invoke-Obfuscation: PowerShell obFUsk8tion Techniques & How To (Try To...CODE BLUE
 
Gray Hat PowerShell - ShowMeCon 2015
Gray Hat PowerShell - ShowMeCon 2015Gray Hat PowerShell - ShowMeCon 2015
Gray Hat PowerShell - ShowMeCon 2015Ben Ten (0xA)
 
PowerShell for Cyber Warriors - Bsides Knoxville 2016
PowerShell for Cyber Warriors - Bsides Knoxville 2016PowerShell for Cyber Warriors - Bsides Knoxville 2016
PowerShell for Cyber Warriors - Bsides Knoxville 2016Russel Van Tuyl
 
PowerShell Plus v4.7 Overview
PowerShell Plus v4.7 OverviewPowerShell Plus v4.7 Overview
PowerShell Plus v4.7 OverviewRichard Giles
 
Windows Server 2008 (PowerShell Scripting Uygulamaları)
Windows Server 2008 (PowerShell Scripting Uygulamaları)Windows Server 2008 (PowerShell Scripting Uygulamaları)
Windows Server 2008 (PowerShell Scripting Uygulamaları)ÇözümPARK
 
Better, Faster, Stronger! Boost Your Team-Based SharePoint Development Using ...
Better, Faster, Stronger! Boost Your Team-Based SharePoint Development Using ...Better, Faster, Stronger! Boost Your Team-Based SharePoint Development Using ...
Better, Faster, Stronger! Boost Your Team-Based SharePoint Development Using ...Richard Calderon
 
Office 365 & PowerShell - A match made in heaven
Office 365 & PowerShell - A match made in heavenOffice 365 & PowerShell - A match made in heaven
Office 365 & PowerShell - A match made in heavenSébastien Levert
 
Practical PowerShell Programming for Professional People - Extended Edition
Practical PowerShell Programming for Professional People - Extended EditionPractical PowerShell Programming for Professional People - Extended Edition
Practical PowerShell Programming for Professional People - Extended EditionBen Ten (0xA)
 
PowerShell from *nix user perspective
PowerShell from *nix user perspectivePowerShell from *nix user perspective
PowerShell from *nix user perspectiveJuraj Michálek
 
Managing Virtual Infrastructures With PowerShell
Managing Virtual Infrastructures With PowerShellManaging Virtual Infrastructures With PowerShell
Managing Virtual Infrastructures With PowerShellguesta849bc8b
 
PowerShell 101
PowerShell 101PowerShell 101
PowerShell 101Thomas Lee
 
Incorporating PowerShell into your Arsenal with PS>Attack
Incorporating PowerShell into your Arsenal with PS>AttackIncorporating PowerShell into your Arsenal with PS>Attack
Incorporating PowerShell into your Arsenal with PS>Attackjaredhaight
 
Getting Started With PowerShell Scripting
Getting Started With PowerShell ScriptingGetting Started With PowerShell Scripting
Getting Started With PowerShell ScriptingRavikanth Chaganti
 
Windows - Having Its Ass Kicked by Puppet and PowerShell Since 2012
Windows - Having Its Ass Kicked by Puppet and PowerShell Since 2012Windows - Having Its Ass Kicked by Puppet and PowerShell Since 2012
Windows - Having Its Ass Kicked by Puppet and PowerShell Since 2012Puppet
 
Introduction to PowerShell
Introduction to PowerShellIntroduction to PowerShell
Introduction to PowerShellSalaudeen Rajack
 
Geek Sync | Using PowerShell with Python and SQL Server
Geek Sync | Using PowerShell with Python and SQL ServerGeek Sync | Using PowerShell with Python and SQL Server
Geek Sync | Using PowerShell with Python and SQL ServerIDERA Software
 
Network Mapping with PowerShell
Network Mapping with PowerShellNetwork Mapping with PowerShell
Network Mapping with PowerShellCostin-Alin Neacsu
 
Practical PowerShell Programming for Professional People
Practical PowerShell Programming for Professional PeoplePractical PowerShell Programming for Professional People
Practical PowerShell Programming for Professional PeopleBen Ten (0xA)
 

Destaque (20)

Some PowerShell Goodies
Some PowerShell GoodiesSome PowerShell Goodies
Some PowerShell Goodies
 
[CB16] Invoke-Obfuscation: PowerShell obFUsk8tion Techniques & How To (Try To...
[CB16] Invoke-Obfuscation: PowerShell obFUsk8tion Techniques & How To (Try To...[CB16] Invoke-Obfuscation: PowerShell obFUsk8tion Techniques & How To (Try To...
[CB16] Invoke-Obfuscation: PowerShell obFUsk8tion Techniques & How To (Try To...
 
Gray Hat PowerShell - ShowMeCon 2015
Gray Hat PowerShell - ShowMeCon 2015Gray Hat PowerShell - ShowMeCon 2015
Gray Hat PowerShell - ShowMeCon 2015
 
PowerShell for Cyber Warriors - Bsides Knoxville 2016
PowerShell for Cyber Warriors - Bsides Knoxville 2016PowerShell for Cyber Warriors - Bsides Knoxville 2016
PowerShell for Cyber Warriors - Bsides Knoxville 2016
 
PowerShell Plus v4.7 Overview
PowerShell Plus v4.7 OverviewPowerShell Plus v4.7 Overview
PowerShell Plus v4.7 Overview
 
Windows Server 2008 (PowerShell Scripting Uygulamaları)
Windows Server 2008 (PowerShell Scripting Uygulamaları)Windows Server 2008 (PowerShell Scripting Uygulamaları)
Windows Server 2008 (PowerShell Scripting Uygulamaları)
 
Better, Faster, Stronger! Boost Your Team-Based SharePoint Development Using ...
Better, Faster, Stronger! Boost Your Team-Based SharePoint Development Using ...Better, Faster, Stronger! Boost Your Team-Based SharePoint Development Using ...
Better, Faster, Stronger! Boost Your Team-Based SharePoint Development Using ...
 
Office 365 & PowerShell - A match made in heaven
Office 365 & PowerShell - A match made in heavenOffice 365 & PowerShell - A match made in heaven
Office 365 & PowerShell - A match made in heaven
 
Practical PowerShell Programming for Professional People - Extended Edition
Practical PowerShell Programming for Professional People - Extended EditionPractical PowerShell Programming for Professional People - Extended Edition
Practical PowerShell Programming for Professional People - Extended Edition
 
PowerShell from *nix user perspective
PowerShell from *nix user perspectivePowerShell from *nix user perspective
PowerShell from *nix user perspective
 
Managing Virtual Infrastructures With PowerShell
Managing Virtual Infrastructures With PowerShellManaging Virtual Infrastructures With PowerShell
Managing Virtual Infrastructures With PowerShell
 
PowerShell UIAtomation
PowerShell UIAtomationPowerShell UIAtomation
PowerShell UIAtomation
 
PowerShell 101
PowerShell 101PowerShell 101
PowerShell 101
 
Incorporating PowerShell into your Arsenal with PS>Attack
Incorporating PowerShell into your Arsenal with PS>AttackIncorporating PowerShell into your Arsenal with PS>Attack
Incorporating PowerShell into your Arsenal with PS>Attack
 
Getting Started With PowerShell Scripting
Getting Started With PowerShell ScriptingGetting Started With PowerShell Scripting
Getting Started With PowerShell Scripting
 
Windows - Having Its Ass Kicked by Puppet and PowerShell Since 2012
Windows - Having Its Ass Kicked by Puppet and PowerShell Since 2012Windows - Having Its Ass Kicked by Puppet and PowerShell Since 2012
Windows - Having Its Ass Kicked by Puppet and PowerShell Since 2012
 
Introduction to PowerShell
Introduction to PowerShellIntroduction to PowerShell
Introduction to PowerShell
 
Geek Sync | Using PowerShell with Python and SQL Server
Geek Sync | Using PowerShell with Python and SQL ServerGeek Sync | Using PowerShell with Python and SQL Server
Geek Sync | Using PowerShell with Python and SQL Server
 
Network Mapping with PowerShell
Network Mapping with PowerShellNetwork Mapping with PowerShell
Network Mapping with PowerShell
 
Practical PowerShell Programming for Professional People
Practical PowerShell Programming for Professional PeoplePractical PowerShell Programming for Professional People
Practical PowerShell Programming for Professional People
 

Semelhante a How to do everything with PowerShell

SPugPt Meeting 35: Manage govern and drive adoption of share point online wit...
SPugPt Meeting 35: Manage govern and drive adoption of share point online wit...SPugPt Meeting 35: Manage govern and drive adoption of share point online wit...
SPugPt Meeting 35: Manage govern and drive adoption of share point online wit...Comunidade Portuguesa de SharePoiint
 
O365Engage17 - Managing share point online end to-end with powershell
O365Engage17 - Managing share point online end to-end with powershellO365Engage17 - Managing share point online end to-end with powershell
O365Engage17 - Managing share point online end to-end with powershellNCCOMMS
 
SharePoint PowerShell for the Admin and Developer - A Venn Diagram Experience
SharePoint PowerShell for the Admin and Developer - A Venn Diagram ExperienceSharePoint PowerShell for the Admin and Developer - A Venn Diagram Experience
SharePoint PowerShell for the Admin and Developer - A Venn Diagram ExperienceRicardo Wilkins
 
NZ Code Camp 2011 PowerShell + SharePoint
NZ Code Camp 2011 PowerShell + SharePointNZ Code Camp 2011 PowerShell + SharePoint
NZ Code Camp 2011 PowerShell + SharePointNick Hadlee
 
SharePoint Saturday Ottawa 2015 - Office 365 and PowerShell - A match made in...
SharePoint Saturday Ottawa 2015 - Office 365 and PowerShell - A match made in...SharePoint Saturday Ottawa 2015 - Office 365 and PowerShell - A match made in...
SharePoint Saturday Ottawa 2015 - Office 365 and PowerShell - A match made in...Sébastien Levert
 
PHP on Windows and on Azure
PHP on Windows and on AzurePHP on Windows and on Azure
PHP on Windows and on AzureMaarten Balliauw
 
PowerShell: Through the SharePoint Looking Glass
PowerShell: Through the SharePoint Looking GlassPowerShell: Through the SharePoint Looking Glass
PowerShell: Through the SharePoint Looking GlassBrian Caauwe
 
Windows power shell for sharepoint online &amp; office 365
Windows power shell for sharepoint online &amp; office 365Windows power shell for sharepoint online &amp; office 365
Windows power shell for sharepoint online &amp; office 365Prashant Kumar Singh
 
Webinar - Office 365 & PowerShell : A Match Made in Heaven
Webinar - Office 365 & PowerShell : A Match Made in HeavenWebinar - Office 365 & PowerShell : A Match Made in Heaven
Webinar - Office 365 & PowerShell : A Match Made in HeavenSébastien Levert
 
Introduction to PowerShell - Be a PowerShell Hero - SPFest workshop
Introduction to PowerShell - Be a PowerShell Hero - SPFest workshopIntroduction to PowerShell - Be a PowerShell Hero - SPFest workshop
Introduction to PowerShell - Be a PowerShell Hero - SPFest workshopMichael Blumenthal (Microsoft MVP)
 
Operacion Guinda 2
Operacion Guinda 2Operacion Guinda 2
Operacion Guinda 2Red RADAR
 
PowerShell for SharePoint Developers
PowerShell for SharePoint DevelopersPowerShell for SharePoint Developers
PowerShell for SharePoint DevelopersBoulos Dib
 
SPSTC - PowerShell - Through the SharePoint Looking Glass
SPSTC - PowerShell - Through the SharePoint Looking GlassSPSTC - PowerShell - Through the SharePoint Looking Glass
SPSTC - PowerShell - Through the SharePoint Looking GlassBrian Caauwe
 
2014 SharePoint Saturday Melbourne Apps or not to Apps
2014 SharePoint Saturday Melbourne Apps or not to Apps2014 SharePoint Saturday Melbourne Apps or not to Apps
2014 SharePoint Saturday Melbourne Apps or not to AppsGilles Pommier
 
SharePoint for the .NET Developer
SharePoint for the .NET DeveloperSharePoint for the .NET Developer
SharePoint for the .NET DeveloperJohn Calvert
 
SharePoint Fest Chicago 2015 - Anatomy of configuring provider hosted add-in...
SharePoint Fest Chicago 2015  - Anatomy of configuring provider hosted add-in...SharePoint Fest Chicago 2015  - Anatomy of configuring provider hosted add-in...
SharePoint Fest Chicago 2015 - Anatomy of configuring provider hosted add-in...Nik Patel
 
Intro to PowerShell
Intro to PowerShellIntro to PowerShell
Intro to PowerShellAdam Preston
 

Semelhante a How to do everything with PowerShell (20)

SPugPt Meeting 35: Manage govern and drive adoption of share point online wit...
SPugPt Meeting 35: Manage govern and drive adoption of share point online wit...SPugPt Meeting 35: Manage govern and drive adoption of share point online wit...
SPugPt Meeting 35: Manage govern and drive adoption of share point online wit...
 
O365Engage17 - Managing share point online end to-end with powershell
O365Engage17 - Managing share point online end to-end with powershellO365Engage17 - Managing share point online end to-end with powershell
O365Engage17 - Managing share point online end to-end with powershell
 
SharePoint PowerShell for the Admin and Developer - A Venn Diagram Experience
SharePoint PowerShell for the Admin and Developer - A Venn Diagram ExperienceSharePoint PowerShell for the Admin and Developer - A Venn Diagram Experience
SharePoint PowerShell for the Admin and Developer - A Venn Diagram Experience
 
Introducción al SharePoint Framework SPFx
Introducción al SharePoint Framework SPFxIntroducción al SharePoint Framework SPFx
Introducción al SharePoint Framework SPFx
 
NZ Code Camp 2011 PowerShell + SharePoint
NZ Code Camp 2011 PowerShell + SharePointNZ Code Camp 2011 PowerShell + SharePoint
NZ Code Camp 2011 PowerShell + SharePoint
 
PHP on Windows
PHP on WindowsPHP on Windows
PHP on Windows
 
PHP on Windows
PHP on WindowsPHP on Windows
PHP on Windows
 
SharePoint Saturday Ottawa 2015 - Office 365 and PowerShell - A match made in...
SharePoint Saturday Ottawa 2015 - Office 365 and PowerShell - A match made in...SharePoint Saturday Ottawa 2015 - Office 365 and PowerShell - A match made in...
SharePoint Saturday Ottawa 2015 - Office 365 and PowerShell - A match made in...
 
PHP on Windows and on Azure
PHP on Windows and on AzurePHP on Windows and on Azure
PHP on Windows and on Azure
 
PowerShell: Through the SharePoint Looking Glass
PowerShell: Through the SharePoint Looking GlassPowerShell: Through the SharePoint Looking Glass
PowerShell: Through the SharePoint Looking Glass
 
Windows power shell for sharepoint online &amp; office 365
Windows power shell for sharepoint online &amp; office 365Windows power shell for sharepoint online &amp; office 365
Windows power shell for sharepoint online &amp; office 365
 
Webinar - Office 365 & PowerShell : A Match Made in Heaven
Webinar - Office 365 & PowerShell : A Match Made in HeavenWebinar - Office 365 & PowerShell : A Match Made in Heaven
Webinar - Office 365 & PowerShell : A Match Made in Heaven
 
Introduction to PowerShell - Be a PowerShell Hero - SPFest workshop
Introduction to PowerShell - Be a PowerShell Hero - SPFest workshopIntroduction to PowerShell - Be a PowerShell Hero - SPFest workshop
Introduction to PowerShell - Be a PowerShell Hero - SPFest workshop
 
Operacion Guinda 2
Operacion Guinda 2Operacion Guinda 2
Operacion Guinda 2
 
PowerShell for SharePoint Developers
PowerShell for SharePoint DevelopersPowerShell for SharePoint Developers
PowerShell for SharePoint Developers
 
SPSTC - PowerShell - Through the SharePoint Looking Glass
SPSTC - PowerShell - Through the SharePoint Looking GlassSPSTC - PowerShell - Through the SharePoint Looking Glass
SPSTC - PowerShell - Through the SharePoint Looking Glass
 
2014 SharePoint Saturday Melbourne Apps or not to Apps
2014 SharePoint Saturday Melbourne Apps or not to Apps2014 SharePoint Saturday Melbourne Apps or not to Apps
2014 SharePoint Saturday Melbourne Apps or not to Apps
 
SharePoint for the .NET Developer
SharePoint for the .NET DeveloperSharePoint for the .NET Developer
SharePoint for the .NET Developer
 
SharePoint Fest Chicago 2015 - Anatomy of configuring provider hosted add-in...
SharePoint Fest Chicago 2015  - Anatomy of configuring provider hosted add-in...SharePoint Fest Chicago 2015  - Anatomy of configuring provider hosted add-in...
SharePoint Fest Chicago 2015 - Anatomy of configuring provider hosted add-in...
 
Intro to PowerShell
Intro to PowerShellIntro to PowerShell
Intro to PowerShell
 

Mais de Juan Carlos Gonzalez

Governance in SharePoint Premium:What's in the box?
Governance in SharePoint Premium:What's in the box?Governance in SharePoint Premium:What's in the box?
Governance in SharePoint Premium:What's in the box?Juan Carlos Gonzalez
 
Seguridad en Power Platform - Que opciones tengo
Seguridad en Power Platform - Que opciones tengoSeguridad en Power Platform - Que opciones tengo
Seguridad en Power Platform - Que opciones tengoJuan Carlos Gonzalez
 
Boost your Teams Meetings to the next level with Teams Premium
Boost your Teams Meetings to the next level with Teams PremiumBoost your Teams Meetings to the next level with Teams Premium
Boost your Teams Meetings to the next level with Teams PremiumJuan Carlos Gonzalez
 
Power Platform y Teams: ¿Qué platos tengo en mi menú?
Power Platform y Teams: ¿Qué platos tengo en mi menú?Power Platform y Teams: ¿Qué platos tengo en mi menú?
Power Platform y Teams: ¿Qué platos tengo en mi menú?Juan Carlos Gonzalez
 
Digitaliza tus procesos de Aprobación con Approvals en Teams: ¿Qué hay de nue...
Digitaliza tus procesos de Aprobación con Approvals en Teams: ¿Qué hay de nue...Digitaliza tus procesos de Aprobación con Approvals en Teams: ¿Qué hay de nue...
Digitaliza tus procesos de Aprobación con Approvals en Teams: ¿Qué hay de nue...Juan Carlos Gonzalez
 
Stream on SharePoint, an overview - JcGonzalez.pptx
Stream on SharePoint, an overview - JcGonzalez.pptxStream on SharePoint, an overview - JcGonzalez.pptx
Stream on SharePoint, an overview - JcGonzalez.pptxJuan Carlos Gonzalez
 
Shared channels in Microsoft Teams, an overview
Shared channels in Microsoft Teams, an overview Shared channels in Microsoft Teams, an overview
Shared channels in Microsoft Teams, an overview Juan Carlos Gonzalez
 
Canales Compartidos en Microsoft Teams al detalle
Canales Compartidos en Microsoft Teams al detalleCanales Compartidos en Microsoft Teams al detalle
Canales Compartidos en Microsoft Teams al detalleJuan Carlos Gonzalez
 
Digitaliza tus Aprobaciones con Approvals en Teams - JcGonzalez .pptx
Digitaliza tus Aprobaciones con Approvals en Teams - JcGonzalez .pptxDigitaliza tus Aprobaciones con Approvals en Teams - JcGonzalez .pptx
Digitaliza tus Aprobaciones con Approvals en Teams - JcGonzalez .pptxJuan Carlos Gonzalez
 
Power Platform Analytics: ¿Qué opciones tengo?
Power Platform Analytics: ¿Qué opciones tengo?Power Platform Analytics: ¿Qué opciones tengo?
Power Platform Analytics: ¿Qué opciones tengo?Juan Carlos Gonzalez
 
Analytics in Power Platform: What are my options?
Analytics in Power Platform: What are my options?Analytics in Power Platform: What are my options?
Analytics in Power Platform: What are my options?Juan Carlos Gonzalez
 
Microsoft 365 Chicago - Governing Microsoft Teams Meetings
Microsoft 365 Chicago - Governing Microsoft Teams MeetingsMicrosoft 365 Chicago - Governing Microsoft Teams Meetings
Microsoft 365 Chicago - Governing Microsoft Teams MeetingsJuan Carlos Gonzalez
 
Solicita y comparte actualizaciones con Updates en Teams
Solicita y comparte actualizaciones con Updates en TeamsSolicita y comparte actualizaciones con Updates en Teams
Solicita y comparte actualizaciones con Updates en TeamsJuan Carlos Gonzalez
 
Canales compartidos en Microsoft Teams de principio a fin
Canales compartidos en Microsoft Teams de principio a finCanales compartidos en Microsoft Teams de principio a fin
Canales compartidos en Microsoft Teams de principio a finJuan Carlos Gonzalez
 
Analytics en Power Platform: ¿Qué opciones tengo?
Analytics en Power Platform: ¿Qué opciones tengo?Analytics en Power Platform: ¿Qué opciones tengo?
Analytics en Power Platform: ¿Qué opciones tengo?Juan Carlos Gonzalez
 
Shared channels in Microsoft Teams, an overview - JcGonzalez.pptx
Shared channels in Microsoft Teams, an overview - JcGonzalez.pptxShared channels in Microsoft Teams, an overview - JcGonzalez.pptx
Shared channels in Microsoft Teams, an overview - JcGonzalez.pptxJuan Carlos Gonzalez
 
Governing Microsoft Teams Meetings: What are my options?
Governing Microsoft Teams Meetings: What are my options?Governing Microsoft Teams Meetings: What are my options?
Governing Microsoft Teams Meetings: What are my options?Juan Carlos Gonzalez
 
Power Platform y Teams: ¿Qué platos tengo en mi menú?
Power Platform y Teams: ¿Qué platos tengo en mi menú?Power Platform y Teams: ¿Qué platos tengo en mi menú?
Power Platform y Teams: ¿Qué platos tengo en mi menú?Juan Carlos Gonzalez
 
Digitalize your Approval processes with approvals in Microsoft Teams
Digitalize your Approval processes with approvals in Microsoft TeamsDigitalize your Approval processes with approvals in Microsoft Teams
Digitalize your Approval processes with approvals in Microsoft TeamsJuan Carlos Gonzalez
 

Mais de Juan Carlos Gonzalez (20)

Governance in SharePoint Premium:What's in the box?
Governance in SharePoint Premium:What's in the box?Governance in SharePoint Premium:What's in the box?
Governance in SharePoint Premium:What's in the box?
 
Seguridad en Power Platform - Que opciones tengo
Seguridad en Power Platform - Que opciones tengoSeguridad en Power Platform - Que opciones tengo
Seguridad en Power Platform - Que opciones tengo
 
Boost your Teams Meetings to the next level with Teams Premium
Boost your Teams Meetings to the next level with Teams PremiumBoost your Teams Meetings to the next level with Teams Premium
Boost your Teams Meetings to the next level with Teams Premium
 
Stream en SharePoint en detalle
Stream en SharePoint en detalle Stream en SharePoint en detalle
Stream en SharePoint en detalle
 
Power Platform y Teams: ¿Qué platos tengo en mi menú?
Power Platform y Teams: ¿Qué platos tengo en mi menú?Power Platform y Teams: ¿Qué platos tengo en mi menú?
Power Platform y Teams: ¿Qué platos tengo en mi menú?
 
Digitaliza tus procesos de Aprobación con Approvals en Teams: ¿Qué hay de nue...
Digitaliza tus procesos de Aprobación con Approvals en Teams: ¿Qué hay de nue...Digitaliza tus procesos de Aprobación con Approvals en Teams: ¿Qué hay de nue...
Digitaliza tus procesos de Aprobación con Approvals en Teams: ¿Qué hay de nue...
 
Stream on SharePoint, an overview - JcGonzalez.pptx
Stream on SharePoint, an overview - JcGonzalez.pptxStream on SharePoint, an overview - JcGonzalez.pptx
Stream on SharePoint, an overview - JcGonzalez.pptx
 
Shared channels in Microsoft Teams, an overview
Shared channels in Microsoft Teams, an overview Shared channels in Microsoft Teams, an overview
Shared channels in Microsoft Teams, an overview
 
Canales Compartidos en Microsoft Teams al detalle
Canales Compartidos en Microsoft Teams al detalleCanales Compartidos en Microsoft Teams al detalle
Canales Compartidos en Microsoft Teams al detalle
 
Digitaliza tus Aprobaciones con Approvals en Teams - JcGonzalez .pptx
Digitaliza tus Aprobaciones con Approvals en Teams - JcGonzalez .pptxDigitaliza tus Aprobaciones con Approvals en Teams - JcGonzalez .pptx
Digitaliza tus Aprobaciones con Approvals en Teams - JcGonzalez .pptx
 
Power Platform Analytics: ¿Qué opciones tengo?
Power Platform Analytics: ¿Qué opciones tengo?Power Platform Analytics: ¿Qué opciones tengo?
Power Platform Analytics: ¿Qué opciones tengo?
 
Analytics in Power Platform: What are my options?
Analytics in Power Platform: What are my options?Analytics in Power Platform: What are my options?
Analytics in Power Platform: What are my options?
 
Microsoft 365 Chicago - Governing Microsoft Teams Meetings
Microsoft 365 Chicago - Governing Microsoft Teams MeetingsMicrosoft 365 Chicago - Governing Microsoft Teams Meetings
Microsoft 365 Chicago - Governing Microsoft Teams Meetings
 
Solicita y comparte actualizaciones con Updates en Teams
Solicita y comparte actualizaciones con Updates en TeamsSolicita y comparte actualizaciones con Updates en Teams
Solicita y comparte actualizaciones con Updates en Teams
 
Canales compartidos en Microsoft Teams de principio a fin
Canales compartidos en Microsoft Teams de principio a finCanales compartidos en Microsoft Teams de principio a fin
Canales compartidos en Microsoft Teams de principio a fin
 
Analytics en Power Platform: ¿Qué opciones tengo?
Analytics en Power Platform: ¿Qué opciones tengo?Analytics en Power Platform: ¿Qué opciones tengo?
Analytics en Power Platform: ¿Qué opciones tengo?
 
Shared channels in Microsoft Teams, an overview - JcGonzalez.pptx
Shared channels in Microsoft Teams, an overview - JcGonzalez.pptxShared channels in Microsoft Teams, an overview - JcGonzalez.pptx
Shared channels in Microsoft Teams, an overview - JcGonzalez.pptx
 
Governing Microsoft Teams Meetings: What are my options?
Governing Microsoft Teams Meetings: What are my options?Governing Microsoft Teams Meetings: What are my options?
Governing Microsoft Teams Meetings: What are my options?
 
Power Platform y Teams: ¿Qué platos tengo en mi menú?
Power Platform y Teams: ¿Qué platos tengo en mi menú?Power Platform y Teams: ¿Qué platos tengo en mi menú?
Power Platform y Teams: ¿Qué platos tengo en mi menú?
 
Digitalize your Approval processes with approvals in Microsoft Teams
Digitalize your Approval processes with approvals in Microsoft TeamsDigitalize your Approval processes with approvals in Microsoft Teams
Digitalize your Approval processes with approvals in Microsoft Teams
 

Último

Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Principled Technologies
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024SynarionITSolutions
 

Último (20)

Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 

How to do everything with PowerShell

  • 1. How to do everything with PowerShell Juan Carlos González September 26th, 2015 Barcelona
  • 2. Thanks to our Sponsors
  • 3. Get stamps from all the sponsors Deposit the passport to enter the prize raffle Good luck! The SPSBCN Passport
  • 4. FREE BEER! Get your ticket at the registration desk Network and have fun with your colleagues! SharePint sponsored by Michael Collins Pub Plaça de Sagrada Família Starts at 19:30h
  • 5. They help us improve for SharePoint Saturday 2016! Remember to fill your evaluation forms
  • 6. Juan Carlos González  Office 365 MVP  Cloud & Productivity Advisor at MVP CLUSTER  SUGES, Comunidad de O365 & Nuberos.Net coordinator  CompartiMOSS Co-Director (www.compartimoss.com)  Some ways to contact me:  Twitter: jcgm1978  LinkedIn: https://nl.linkedin.com/in/juagon  Contact E-Mails:  jcgonzalezmartin1978@Hotmail.com  juancarlos.gonzalez@fiveshareit.es  Blog: https://jcgonzalezmartin.wordpress.com/  MVP CLUSTER Web Site: www.mvpcluster.com
  • 8. PowerShell for SharePoint possibilities  What can I do with PowerShell for SharePoint? Backup & Restore Operations PowerShell provides several ways to interact and work with SharePoint (OnPrem & Online) Platform Administration Use Server Side / Client Side APIs Troubleshooting Everything !!!
  • 9. PowerShell Development Environments  SharePoint OnPremises – SharePoint Management Shell:  Available by default on every WFE / Application Server in a SharePoint Farm  It provides access in the box to all the SharePoint cmdlets
  • 10. PowerShell Development Environments  SharePoint OnPremises – PowerShell Web Access:
  • 11. PowerShell Development Environments  SharePoint OnPremises – PowerShell Web Access:  It provides a way to execute PowerShell cmdlets in the Browser  In order to use it you have to:  Enable PowerShell Web Access feature at the WFE(s) level  Install/Enable PowerShell Web Access components using PowerShell  Configure Default IIS Web Site on every SharePoint WFE(s) you want to use PowerShell Web Access Install-PswaWebApplication –UseTestCertificate Add-PswaAuthorizationRule -UserName [Dominio][Usuario] -ComputerName [NombreComputador] -ConfigurationName Microsoft.Powershell
  • 12. PowerShell Development Environments  SharePoint OnPremises y SPO – Windows PowerShell:  For SP OnPremises, the SharePoint Snap-In has to be loaded at first
  • 13. PowerShell Development Environments  SharePoint OnPremises y SPO – ISE:
  • 14. PowerShell Development Environments  PowerShell ISE:  It’s “almost” a development environment for PowerShell providing features such as Debugging Intellisense Code Coloring …  Each new ISE version release adds new features and improvements  It is a feature provided by default in Windows (Client and Server Editions), although there are some cases you need to enable it (Windows Server 2008 R2)  SharePoint Snap-In must be previously loaded in the ISE in order to be able to use SharePoint OnPremises PowerShell cmdelts  This step is not required for SPO
  • 15. PowerShell Development Environments  SharePoint OnPremises y SPO – Visual Studio:
  • 16. PowerShell Development Environments  SharePoint OnPremises y SPO – Visual Studio:  PowerShell support in Visual Studio is provided by means of the PowerShell Tools for Visual Studio:  https://visualstudiogallery.msdn.microsoft.com/c9eb3ba8-0c59-4944-9a62- 6eee37294597  Some features provided by PowerShell Tools for Visual Studio are:  Create projects for PowerShell scripts and modules  Execute PowerShell Scripts & Commands right from Visual Studio  Edit, run and debug PowerShell scripts locally and remotely using the Visual Studio debugger  Leverage Visual Studio’s locals, watch, call stack, … for your scripts and modules 
  • 17. PowerShell Development Environments  SPO – SharePoint Online Management Shell:  It provides a shortcut to SharePoint Online default cmdlets  Updated quite often by Microsoft (last update available: August 2015)
  • 18. PowerShell Development Environments for SharePoint OnPremises and SPO
  • 19. Default PowerShell Cmdlets  Components of a PowerShell Cmdlet: We can create custom cmdlets
  • 20. Default PowerShell Cmdlets  SharePoint OnPremises:  More tan 800 cmdlets in SharePoint 2013 SP 1 (861 cmdlets in SP 2016 IT Preview) Get-Command –PSSnapin "Microsoft.SharePoint.PowerShell"
  • 21. Default PowerShell Cmdlets  Example # 1 - Get-SPSite  It allows to get all the Site Collections in the Farm that match the specified conditions  http://technet.microsoft.com/es-es/library/ff607950(v=office.15).aspx Get-SPSite | select url, @{Expression={$_.Usage.Storage/1MB}}
  • 22. Default PowerShell Cmdlets  SharePoint Online:  More than 40 cmdlets available for SPO (August 2015 update) $spoCmdlets=Get-Command | where {$_.ModuleName -eq “Microsoft.Online.SharePoint.PowerShell"} $spoCmdlets.Count $spoCmdlets.Name
  • 23. Default PowerShell Cmdlets  Example # 1 - Get-SPOSite  It allows to get all the Site Collections in a SharePoint Online tenant that match the specified conditions  https://technet.microsoft.com/es-es/library/FP161380.aspx #Ejecución en la Consola de Administración de SharePoint Online $sUserName="jcgonzalez@nuberosnet.onmicrosoft.com" $sMessage="Introduce your SPO Credentials" $sSPOAdminCenterUrl="https://nuberosnet-admin.sharepoint.com/" $msolcred = Get-Credential -UserName $sUserName -Message $sMessage Connect-SPOService -Url $sSPOAdminCenterUrl -Credential $msolcred $spoSiteCollections=Get-SPOSite
  • 24. Default PowerShell cmdlets for SharePoint OnPremises and SPO
  • 25. Using SharePoint APIs in PowerShell  SharePoint Server Side API:  SharePoint PowerShell Snap-In provides also access to the full server side API:  You can use SharePoint objects in the same way you do in Visual Studio  Example # 1 – How to create a SharePoint list and a add a column to the list: $spSite=Get-SPSite -Identity $sSiteUrl $spWeb=$spSite.OpenWeb() $spWeb.Lists.Add("Lista Grande","Lista Grande",100) $spFieldType = [Microsoft.SharePoint.SPFieldType]::Text $spList = $spWeb.Lists["Lista Grande"] $spList.Fields.Add(“Datos”,$spFieldType,$false) $spList.Fields["Datos"].Update() $spList.Update()
  • 26. Using SharePoint APIs in PowerShell  SharePoint Server Side API:  Example # 2 – How to do a CAML Query: $spSite=Get-SPSite -Identity $sSiteCollection $spwWeb=$spSite.OpenWeb() $splList = $spwWeb.Lists.TryGetList($sListName) $spqQuery = New-Object Microsoft.SharePoint.SPQuery $spqQuery.Query = " <Where> <Contains> <FieldRef Name='FileLeafRef' /> <Value Type='File'>Farm</Value> </Contains> </Where>" $spqQuery.ViewFields = "<FieldRef Name='FileLeafRef' /><FieldRef Name='Title' />" $spqQuery.ViewFieldsOnly = $true $splListItems = $splList.GetItems($spqQuery)
  • 27. Using SharePoint APIs in PowerShell  SharePoint Client Side API:  Client Side API (better known as CSOM) can be used in PowerShell for both SharePoint OnPremises and SPO  First step before using the API is to load the required assemblies:  Once the assemblies are loaded, simply follow CSOM rules Add-Type -Path "<CSOM_Path>Microsoft.SharePoint.Client.dll" Add-Type -Path "<CSOM_Path>Microsoft.SharePoint.Client.Runtime.dll"
  • 28. Using SharePoint APIs in PowerShell  SharePoint Client Side API:  Example 1 – Using CSOM for SharePoint OnPremises in PowerShell: #SharePoint Client Object Model Context $spCtx = New-Object Microsoft.SharePoint.Client.ClientContext($sSiteColUrl) $spCredentials = New-Object System.Net.NetworkCredential($sUserName,$sPassword,$sDomain) $spCtx.Credentials = $spCredentials #Root Web Site $spRootWebSite = $spCtx.Web #Collecction of Sites under the Root Web Site $spSites = $spRootWebSite.Webs #Loading operations $spCtx.Load($spRootWebSite) $spCtx.Load($spSites) $spCtx.ExecuteQuery()
  • 29. Using SharePoint APIs in PowerShell  SharePoint Client Side API:  Example 2 – Using CSOM for SPO in PowerShell: $spoCtx = New-Object Microsoft.SharePoint.Client.ClientContext($sSiteColUrl) $spoCredentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($sUsername, $sPassword) $spoCtx.Credentials = $spoCredentials #Root Web Site $spoRootWebSite = $spoCtx.Web #Collecction of Sites under the Root Web Site $spoSites = $spoRootWebSite.Webs #Loading operations $spoCtx.Load($spoRootWebSite) $spoCtx.Load($spoSites) $spoCtx.ExecuteQuery() #We need to iterate through the $spoSites Object in order to get individual sites information foreach($spoSite in $spoSites){ $spoCtx.Load($spoSite) $spoCtx.ExecuteQuery() Write-Host $spoSite.Title " - " $spoSite.Url -ForegroundColor Blue } Do you see the difference?
  • 30. Using SharePoint APIs from PowerShell
  • 31. PowerShell Usage Scenarios Platform Administration There are several PowerShell usage scenarios in SharePoint (OnPremises and Online) SharePoint Migrations Auditing Tasks (Farm / Tenant Level) Troubleshooting Solutions Deployment
  • 32. PowerShell Usage Scenarios  Installation & Configuration:  PowerShell provides more control over the SharePoint installation & configuration process in regards to:  Installation Accounts Database Names Service Applications Configuration …  It takes some more time than the SharePoint visual installation, but you will get two great benefits: 1) The configuration for all servers in the farm is the same 2) It’s a more advisable approach in terms of disaster recovery  There are some good scripts that show how you can automate all the installation and configuration of a SharePoint farm:  AutoSPInstaller: http://autospinstaller.codeplex.com/
  • 33. PowerShell Usage Scenarios  Installation & Configuration: Using PowerShell Side effects of a Visual Installation
  • 34. PowerShell Usage Scenarios  Farm / Tenant Administration:  A SharePoint Administrator can do more administration tasks using PowerShell than using the SharePoint Central Administration  For instance, the farm passphrase can only be changed by means of PowerShell Add-PSSnapin Microsoft.SharePoint.PowerShell $passphrase = ConvertTo-SecureString –string “<NewPassword>” -asPlainText –Force Set-SPPassPhrase -PassPhrase $passphrase -Confirm
  • 35. PowerShell Usage Scenarios  Farm / Tenant Administration:  Example 2 – How to re-start all the timer service instances in a SharePoint farm: $spFarm=Get-SPFarm $spfTimerServcicesInstance=$spFarm.TimerService.Instances foreach ($spfTimerServiceInstance in $spfTimerServcicesInstances) { Write-Host "Re-starting the instance " $spfTimerServiceInstance.TypeName $spfTimerServiceInstance.Stop() $spfTimerServiceInstance.Start() Write-Host "SharePoint Timer Service Instance" $spfTimerServiceInstance.TypeName "Re-Started" }
  • 36. PowerShell Usage Scenarios  SharePoint Migration & Upgrade scenarios:  For SharePoint 2013 we have several PowerShell cmdlets for doing SharePoint migration and upgrading tasks • Content Databases level: • Mount-SPContentDatabase • Test-SPContentDatabase • Upgrade-SPContentDatabase • Site Collections level: • Test-SPSite • Repair-SPSite • Upgrade-SPSite • Request- SPUpgradeEvaluationSiteCollection • Farm level: • Upgrade-SPFarm • Queues Administration: • Get-SPSiteUpgradeSession • Remove-SPSiteUpgradeSession • Service Applications level: • New-SPBusinessDataCatalogServiceApplication • Restore-SPEnterpriseSearchServiceApplication • Upgrade-SPEnterpriseSearchServiceApplication • Upgrade- SPEnterpriseSearchServiceApplicationSiteSettin gs • New-SPMetadataServiceApplication • New-SPPerformancePointServiceApplication • New-SPProfileServiceApplication • New-SPProjectServiceApplication • New-New-SPSecureStoreApplication • New-SPSubscriptionSettingsServiceApplication
  • 37. PowerShell Usage Scenarios  SharePoint Migration & Upgrade scenarios:  Example – How to execute Test-SPContentDatabase in all the Content DBs in a SharePoint 2010 / 2013 Farm: $sServerInstance=“<Server_Instance>” $spWebApps = Get-SPWebApplication -IncludeCentralAdministration foreach($spWebApp in $spWebApps) { $ContentDatabases = $spWebApp.ContentDatabases foreach($ContentDatabase in $ContentDatabases) { Test-SPContentDatabase –Name $ContentDatabase.Name -ServerInstance $sServerInstance -WebApplication $spWebApp.Url } }
  • 38. PowerShell Usage Scenarios  Auditing SharePoint Environments:  Through PowerShell you can do auditing tasks such as:  Get detailed information about the logical and information architecture of a farm: Web Applications Site Collections Sites Lists / Document Libraries …  Get information about Content DB sizes, storage being used by Site Collections and Sites  Access to security information in the farm such as authentication methods in use, SharePoint Groups and SharePoint Users defined in farm Site Collections and Sites, Permissions levels, …  Get all the customizations deployed and installed in the farm (.WSPs) + a list of all the features available at different scopes
  • 39. PowerShell Usage Scenarios  SharePoint Auditing Environments:  Example # 1 - How to get the size of all the Content DBs in a farm: $spWebApps = Get-SPWebApplication -IncludeCentralAdministration foreach($spWebApp in $spWebApps) { #$spWebApp.Name $ContentDBs = $spWebApp.ContentDatabases foreach($ContentDB in $ContentDBs) { $ContentDBsize = [Math]::Round(($ContentDB.disksizerequired/1GB),2) $ContentDBInfo= $spWebApp.DisplayName + "," + $ContentDB.Name + "," + $ContentDBsize + " GB" $ContentDBInfo } }
  • 40. PowerShell Usage Scenarios  SharePoint Auditing Environments:  Example # 2 - How to extract all the WSPs deployed to a SharePoint farm: $spFarm=Get-SPFarm $spSolutions = $spFarm.Solutions $iSolutionsNumber=0 foreach($spSolution in $spSolutions) { $spSolutionFile=$spSolution.SolutionFile $spSolutionFile.SaveAs($ScriptDir + "" + $spSolution.DisplayName) $iSolutionsNumber+=1 }
  • 41. PowerShell Usage Scenarios  Troubleshooting:  Through specific cmdlets to deal with SharePoint LOGS:
  • 42. PowerShell Usage Scenarios  Troubleshooting:  Example # 1 – Enable / Disable the Developer Dashboard: $svc=[Microsoft.SharePoint.Administration.SPWebService]::ContentService $ddsetting=$svc.DeveloperDashboardSettings $ddsetting.DisplayLevel=[Microsoft.SharePoint.Administration.SPDeveloperDashboardLevel]::On $ddsetting.Update()
  • 43. PowerShell Usage Scenarios  Solutions deployment / Artifacts provisioning:  Install & deploy SharePoint Solutions (.WSP)  Enable /disable SharePoint features  Apply recursively look & feel customizations to all the sites in a Site Collection  Artifacts provisioning to deploy a complete SharePoint solution by creating Sites, Content Types, Site Columns, Lists, Document Libraries, …  Office 365 PnP Provisioning Engine is a good example of how to automate the provisioning of SharePoint artifacts  https://github.com/OfficeDev/PnP-Provisioning-Schema/wiki  https://github.com/jcgonzalezmartin/jcgonzalez
  • 44. PowerShell Usage Scenarios for SharePoint
  • 45. Conclusions  PowerShell for SharePoint is a tool not only for administration and configuration stuff but also for Auditing Troubleshooting Solutions Deployment Use of the SharePoint API  We can work with PowerShell for SharePoint using different development environments:  SharePoint Administration Console PowerShell ISE Visual Studio Windows PowerShell PowerShell Web Acces SPO Administration Console  We have a bunch of PowerShell cmdlets for SharePoint OnPremises and SPO  > 800 cmdlets for SharePoint OnPremises  > 40 cmdlets for SPO  …and we can create our custom cmdlets  In addition to the default cmdlets, we can use SharePoint APIs in our PowerShell scripts…so we can do everything with PowerShell 
  • 46. Q & A Barcelona
  • 47. Juan Carlos González  Office 365 MVP  Cloud & Productivity Advisor at MVP CLUSTER  SUGES, Comunidad de O365 & Nuberos.Net coordinator  CompartiMOSS Co-Director (www.compartimoss.com)  Some ways to contact me:  Twitter: jcgm1978  LinkedIn: https://nl.linkedin.com/in/juagon  Contact E-Mails:  jcgonzalezmartin1978@Hotmail.com  juancarlos.gonzalez@fiveshareit.es  Blog: https://jcgonzalezmartin.wordpress.com/  MVP CLUSTER Web Site: www.mvpcluster.com

Notas do Editor

  1. Template may not be modified Twitter hashtag: #spsbe for all sessions
  2. So first of all, thanks to the organization and thanks to all the sponsors for making possible this fantastic event
  3. Here you can see some of my community activities and also some of my contact details (contact e-mails, Twitter, LinkedInd)
  4. As I like to say on my trainings and conferences: everything!!!