Http://spbg.dk. SharePoint Bruger Gruppe Vi skal snakke om Status på SPBG Ny struktur på vores...
-
Upload
reagan-lipham -
Category
Documents
-
view
216 -
download
2
Transcript of Http://spbg.dk. SharePoint Bruger Gruppe Vi skal snakke om Status på SPBG Ny struktur på vores...
![Page 1: Http://spbg.dk. SharePoint Bruger Gruppe Vi skal snakke om Status på SPBG Ny struktur på vores ERFA møder Andre møder Dagens emne: PowerShell.](https://reader036.fdocument.pub/reader036/viewer/2022070308/551c5ba1550346a66a8b514c/html5/thumbnails/1.jpg)
SHAREPOINT BRUGER GRUPPE (SPBG)
http://spbg.dk
![Page 2: Http://spbg.dk. SharePoint Bruger Gruppe Vi skal snakke om Status på SPBG Ny struktur på vores ERFA møder Andre møder Dagens emne: PowerShell.](https://reader036.fdocument.pub/reader036/viewer/2022070308/551c5ba1550346a66a8b514c/html5/thumbnails/2.jpg)
SharePoint Bruger Gruppe
DAGENS PROGRAM
Vi skal snakke om Status på SPBG Ny struktur på vores ERFA møder Andre møder Dagens emne: PowerShell i
SharePoint 2010
![Page 3: Http://spbg.dk. SharePoint Bruger Gruppe Vi skal snakke om Status på SPBG Ny struktur på vores ERFA møder Andre møder Dagens emne: PowerShell.](https://reader036.fdocument.pub/reader036/viewer/2022070308/551c5ba1550346a66a8b514c/html5/thumbnails/3.jpg)
SharePoint Bruger Gruppe
STATUS PÅ SPBG
Praktisk information Lokaler, sodavand og sandwich bliver
sponseret af Enabling Danmark Lokaler
Vi mangler sponsorer til lokaler til vores ERFA møder
![Page 4: Http://spbg.dk. SharePoint Bruger Gruppe Vi skal snakke om Status på SPBG Ny struktur på vores ERFA møder Andre møder Dagens emne: PowerShell.](https://reader036.fdocument.pub/reader036/viewer/2022070308/551c5ba1550346a66a8b514c/html5/thumbnails/4.jpg)
SharePoint Bruger GruppeNY STRUKTUR PÅ VORES ERFA MØDER Mere diskussion!
![Page 5: Http://spbg.dk. SharePoint Bruger Gruppe Vi skal snakke om Status på SPBG Ny struktur på vores ERFA møder Andre møder Dagens emne: PowerShell.](https://reader036.fdocument.pub/reader036/viewer/2022070308/551c5ba1550346a66a8b514c/html5/thumbnails/5.jpg)
SharePoint Bruger Gruppe
DAGENS EMNE
PowerShell i SharePoint 2010 af Per Jakobsen
![Page 6: Http://spbg.dk. SharePoint Bruger Gruppe Vi skal snakke om Status på SPBG Ny struktur på vores ERFA møder Andre møder Dagens emne: PowerShell.](https://reader036.fdocument.pub/reader036/viewer/2022070308/551c5ba1550346a66a8b514c/html5/thumbnails/6.jpg)
SharePoint Bruger Gruppe
ANDRE MØDER
SharePoint dinner inden jul, følg med på http://spbg.dk og twitter.
![Page 7: Http://spbg.dk. SharePoint Bruger Gruppe Vi skal snakke om Status på SPBG Ny struktur på vores ERFA møder Andre møder Dagens emne: PowerShell.](https://reader036.fdocument.pub/reader036/viewer/2022070308/551c5ba1550346a66a8b514c/html5/thumbnails/7.jpg)
SharePoint Bruger Gruppe
PAUSE
![Page 8: Http://spbg.dk. SharePoint Bruger Gruppe Vi skal snakke om Status på SPBG Ny struktur på vores ERFA møder Andre møder Dagens emne: PowerShell.](https://reader036.fdocument.pub/reader036/viewer/2022070308/551c5ba1550346a66a8b514c/html5/thumbnails/8.jpg)
SharePoint Bruger Gruppe
POWERSHELL AGENDA
Introduction to Powershell PowerShell and SharePoint 2010 Custom Cmdlet PowerShell and SharePoint 2007 Actions
Per Jakobsen
![Page 9: Http://spbg.dk. SharePoint Bruger Gruppe Vi skal snakke om Status på SPBG Ny struktur på vores ERFA møder Andre møder Dagens emne: PowerShell.](https://reader036.fdocument.pub/reader036/viewer/2022070308/551c5ba1550346a66a8b514c/html5/thumbnails/9.jpg)
SharePoint Bruger Gruppe
A SHELL LIKE UNIX
chdir cd Set-Location ls dir Get-ChildItem cp copy Copy-Item erase del Remove-Item mkdir New-Item –type
directory cat type Get-Content
![Page 10: Http://spbg.dk. SharePoint Bruger Gruppe Vi skal snakke om Status på SPBG Ny struktur på vores ERFA møder Andre møder Dagens emne: PowerShell.](https://reader036.fdocument.pub/reader036/viewer/2022070308/551c5ba1550346a66a8b514c/html5/thumbnails/10.jpg)
SharePoint Bruger Gruppe
A SHELL LIKE UNIX
Aliases History (History, r, F7, F8) Tab completion (incl. wildcard) Piping (|) Redirecting (>, >>, 2>, 2>>, 2>&1) Tee
![Page 11: Http://spbg.dk. SharePoint Bruger Gruppe Vi skal snakke om Status på SPBG Ny struktur på vores ERFA møder Andre møder Dagens emne: PowerShell.](https://reader036.fdocument.pub/reader036/viewer/2022070308/551c5ba1550346a66a8b514c/html5/thumbnails/11.jpg)
SharePoint Bruger Gruppe
A SHELL LIKE UNIX
grep (Select-String) Immediate expressions
2+2 “Hello ” + “World” Beware type of left side wins
2 + “2” “2” + 2 2 + “test”
![Page 12: Http://spbg.dk. SharePoint Bruger Gruppe Vi skal snakke om Status på SPBG Ny struktur på vores ERFA møder Andre møder Dagens emne: PowerShell.](https://reader036.fdocument.pub/reader036/viewer/2022070308/551c5ba1550346a66a8b514c/html5/thumbnails/12.jpg)
SharePoint Bruger Gruppe
BETTER THAN UNIX SHELL
Virtual drivesC:, D:,… Disk drivesENV: Environment variablesHKLM:, HKCU: RegistryVariable: Variables… Get-PSDrive
![Page 13: Http://spbg.dk. SharePoint Bruger Gruppe Vi skal snakke om Status på SPBG Ny struktur på vores ERFA møder Andre møder Dagens emne: PowerShell.](https://reader036.fdocument.pub/reader036/viewer/2022070308/551c5ba1550346a66a8b514c/html5/thumbnails/13.jpg)
SharePoint Bruger Gruppe
BETTER THAN UNIX SHELL
Objects as long as possible
Get-Process |Where-Object {$_.Handles –lt 500} |Sort-Object CPU –desc |Select-Object –first 5
![Page 14: Http://spbg.dk. SharePoint Bruger Gruppe Vi skal snakke om Status på SPBG Ny struktur på vores ERFA møder Andre møder Dagens emne: PowerShell.](https://reader036.fdocument.pub/reader036/viewer/2022070308/551c5ba1550346a66a8b514c/html5/thumbnails/14.jpg)
SharePoint Bruger Gruppe
BETTER THAN UNIX SHELL
Output formatting Format-Table Format-Table –auto
Format-List
![Page 15: Http://spbg.dk. SharePoint Bruger Gruppe Vi skal snakke om Status på SPBG Ny struktur på vores ERFA møder Andre møder Dagens emne: PowerShell.](https://reader036.fdocument.pub/reader036/viewer/2022070308/551c5ba1550346a66a8b514c/html5/thumbnails/15.jpg)
SharePoint Bruger Gruppe
VARIABLES
Prefixed by $ Untyped by default, but can be typed
$a = 1$a = “test”[int]$a = 1$a = “test” Error$a = “2” OK, converted to int
![Page 16: Http://spbg.dk. SharePoint Bruger Gruppe Vi skal snakke om Status på SPBG Ny struktur på vores ERFA møder Andre møder Dagens emne: PowerShell.](https://reader036.fdocument.pub/reader036/viewer/2022070308/551c5ba1550346a66a8b514c/html5/thumbnails/16.jpg)
SharePoint Bruger Gruppe
VARIABLES
Default scope when setting: At command line Global In script Script In function Local
When reading first defined of Local, script, global
Can be specified: $global:a = 42
![Page 17: Http://spbg.dk. SharePoint Bruger Gruppe Vi skal snakke om Status på SPBG Ny struktur på vores ERFA møder Andre møder Dagens emne: PowerShell.](https://reader036.fdocument.pub/reader036/viewer/2022070308/551c5ba1550346a66a8b514c/html5/thumbnails/17.jpg)
SharePoint Bruger Gruppe
VARIABLES
One Variable to rule them all, One Variable to find them all,One Variable to bring them all and in darkness bind them $_1..10 | Where-Object {$_%2 –eq 1} |ForEach-Object {$_*$_}
![Page 18: Http://spbg.dk. SharePoint Bruger Gruppe Vi skal snakke om Status på SPBG Ny struktur på vores ERFA møder Andre møder Dagens emne: PowerShell.](https://reader036.fdocument.pub/reader036/viewer/2022070308/551c5ba1550346a66a8b514c/html5/thumbnails/18.jpg)
SharePoint Bruger Gruppe
LITERALS (STRING)
"text" – expands: $var Content of variable $(expr) Value of expression ` used as escape character (NOT \)
'Text' – not expanding @ " <<newline>> to <<newline>> " @ - here
text
![Page 19: Http://spbg.dk. SharePoint Bruger Gruppe Vi skal snakke om Status på SPBG Ny struktur på vores ERFA møder Andre møder Dagens emne: PowerShell.](https://reader036.fdocument.pub/reader036/viewer/2022070308/551c5ba1550346a66a8b514c/html5/thumbnails/19.jpg)
SharePoint Bruger Gruppe
LITERALS (NUMBERS)
1 Int32 / Int64 0x10 Int32/ Int64 (hexadecimal) 1.1 Double 1kb * by 1024 1mb * by 1024*1024 1gb * by 1024*1024*1024
![Page 20: Http://spbg.dk. SharePoint Bruger Gruppe Vi skal snakke om Status på SPBG Ny struktur på vores ERFA møder Andre møder Dagens emne: PowerShell.](https://reader036.fdocument.pub/reader036/viewer/2022070308/551c5ba1550346a66a8b514c/html5/thumbnails/20.jpg)
SharePoint Bruger Gruppe
LITERALS (OTHER)
1,2,3 Array 1..10 Array (Range) @(1) Wraps in array if not already array @{a=1;b=2} HashTable [System.Enviroment] => Type
Use :: to access static methods/properties
{code} ScriptBlock (delegate)
![Page 21: Http://spbg.dk. SharePoint Bruger Gruppe Vi skal snakke om Status på SPBG Ny struktur på vores ERFA møder Andre møder Dagens emne: PowerShell.](https://reader036.fdocument.pub/reader036/viewer/2022070308/551c5ba1550346a66a8b514c/html5/thumbnails/21.jpg)
SharePoint Bruger Gruppe
FUNCTION (SIMPLE)
Function sqr($x){
$x*$x;}Sqr 4Sqr(5)
![Page 22: Http://spbg.dk. SharePoint Bruger Gruppe Vi skal snakke om Status på SPBG Ny struktur på vores ERFA møder Andre møder Dagens emne: PowerShell.](https://reader036.fdocument.pub/reader036/viewer/2022070308/551c5ba1550346a66a8b514c/html5/thumbnails/22.jpg)
SharePoint Bruger Gruppe
FILTER
Filter odd{
if ($_ % 2 –eq 1){$_}
}1..10 | odd
![Page 23: Http://spbg.dk. SharePoint Bruger Gruppe Vi skal snakke om Status på SPBG Ny struktur på vores ERFA møder Andre møder Dagens emne: PowerShell.](https://reader036.fdocument.pub/reader036/viewer/2022070308/551c5ba1550346a66a8b514c/html5/thumbnails/23.jpg)
SharePoint Bruger Gruppe
FUNCTION (ADVANCED)
Function test($x){
begin {“B:Param $x”}process {“P:Param $x value $_”}end {“E:Param $x”}
}1..10|test(42)
![Page 24: Http://spbg.dk. SharePoint Bruger Gruppe Vi skal snakke om Status på SPBG Ny struktur på vores ERFA møder Andre møder Dagens emne: PowerShell.](https://reader036.fdocument.pub/reader036/viewer/2022070308/551c5ba1550346a66a8b514c/html5/thumbnails/24.jpg)
SharePoint Bruger Gruppe
.NET
Everything in PowerShell is “just” .Net
Tab completion through reflection$d = [System.DateTime]::Now$d.AddDays(42)
![Page 25: Http://spbg.dk. SharePoint Bruger Gruppe Vi skal snakke om Status på SPBG Ny struktur på vores ERFA møder Andre møder Dagens emne: PowerShell.](https://reader036.fdocument.pub/reader036/viewer/2022070308/551c5ba1550346a66a8b514c/html5/thumbnails/25.jpg)
SharePoint Bruger Gruppe
XML
Just casting a xml string to [xml] gives you a nice XmlDocument
$sols = [xml](stsadm –o enumsolutions)$sols.Solutions.Solution[0]$sols.Solutions.Solution |Where-Object {$_.Name –like “*stsadm*”}
![Page 26: Http://spbg.dk. SharePoint Bruger Gruppe Vi skal snakke om Status på SPBG Ny struktur på vores ERFA møder Andre møder Dagens emne: PowerShell.](https://reader036.fdocument.pub/reader036/viewer/2022070308/551c5ba1550346a66a8b514c/html5/thumbnails/26.jpg)
SharePoint Bruger Gruppe
SECURITY
Secure out of the box Scripts (.ps1) are mapped to NotePad Current directory not in path (use .\xxx) By default doesn’t allow scripts
Change to allow local scripts:
Set-ExecutionPolicy RemoteSigned
![Page 27: Http://spbg.dk. SharePoint Bruger Gruppe Vi skal snakke om Status på SPBG Ny struktur på vores ERFA møder Andre møder Dagens emne: PowerShell.](https://reader036.fdocument.pub/reader036/viewer/2022070308/551c5ba1550346a66a8b514c/html5/thumbnails/27.jpg)
SharePoint Bruger Gruppe
REMOTING
Enable-PSRemoting (once + restart) Interactive
BackgroundEnter-PSSession computer –Credential usr
$s = New-PSSession computer –Credential usrInvoke-Command $s { cmds }…Remove-Session $s
![Page 28: Http://spbg.dk. SharePoint Bruger Gruppe Vi skal snakke om Status på SPBG Ny struktur på vores ERFA møder Andre møder Dagens emne: PowerShell.](https://reader036.fdocument.pub/reader036/viewer/2022070308/551c5ba1550346a66a8b514c/html5/thumbnails/28.jpg)
SharePoint Bruger Gruppe
SELF DOCUMENTING
Get-Help Get-Help <<cmd>>Get-Help about_*
Get-Command –noun sp*
$a | Get-Members[System.Math] | Get-Members -static
![Page 29: Http://spbg.dk. SharePoint Bruger Gruppe Vi skal snakke om Status på SPBG Ny struktur på vores ERFA møder Andre møder Dagens emne: PowerShell.](https://reader036.fdocument.pub/reader036/viewer/2022070308/551c5ba1550346a66a8b514c/html5/thumbnails/29.jpg)
SharePoint Bruger Gruppe
PAUSE
![Page 30: Http://spbg.dk. SharePoint Bruger Gruppe Vi skal snakke om Status på SPBG Ny struktur på vores ERFA møder Andre møder Dagens emne: PowerShell.](https://reader036.fdocument.pub/reader036/viewer/2022070308/551c5ba1550346a66a8b514c/html5/thumbnails/30.jpg)
SharePoint Bruger Gruppe
SHAREPOINT 2010
PowerShell knows nothing about SP2010
But “SP2010 Management Shell” does
Or
Add-SPShellAdmin (once)
Add-PSSnapIn Microsoft.SharePoint.Powershell
![Page 31: Http://spbg.dk. SharePoint Bruger Gruppe Vi skal snakke om Status på SPBG Ny struktur på vores ERFA møder Andre møder Dagens emne: PowerShell.](https://reader036.fdocument.pub/reader036/viewer/2022070308/551c5ba1550346a66a8b514c/html5/thumbnails/31.jpg)
SharePoint Bruger Gruppe
SP2010: SITES
New-SPSite url –OwnerAlias usr –Template XXXGet-SPSite urlRemove-SPSite urlRemove-SPSite url –confirm:$false
New-SPWeb url –Template XXXGet-SPWeb urlGet-SPSite url | Get-SPWebRemove-SPWeb url
![Page 32: Http://spbg.dk. SharePoint Bruger Gruppe Vi skal snakke om Status på SPBG Ny struktur på vores ERFA møder Andre møder Dagens emne: PowerShell.](https://reader036.fdocument.pub/reader036/viewer/2022070308/551c5ba1550346a66a8b514c/html5/thumbnails/32.jpg)
SharePoint Bruger Gruppe
SP2010: CONTENT
Get-SPWeb url | Select –Expand Lists | Select –Expand Items | Select Name, Url
(Get-SPWeb url).RecycleBin
![Page 33: Http://spbg.dk. SharePoint Bruger Gruppe Vi skal snakke om Status på SPBG Ny struktur på vores ERFA møder Andre møder Dagens emne: PowerShell.](https://reader036.fdocument.pub/reader036/viewer/2022070308/551c5ba1550346a66a8b514c/html5/thumbnails/33.jpg)
SharePoint Bruger Gruppe
SP2010: LOGS
Get-SPLogEvent –StartTime time –EndTime time | Where-Object {$_.Correlation –eq “guid” } |Select Message
![Page 34: Http://spbg.dk. SharePoint Bruger Gruppe Vi skal snakke om Status på SPBG Ny struktur på vores ERFA møder Andre møder Dagens emne: PowerShell.](https://reader036.fdocument.pub/reader036/viewer/2022070308/551c5ba1550346a66a8b514c/html5/thumbnails/34.jpg)
SharePoint Bruger Gruppe
SP2010: OBJECT MODEL
$web = Get-SPWeb url$web.Title$web.Title = “Title from PS”$web.Update()
![Page 35: Http://spbg.dk. SharePoint Bruger Gruppe Vi skal snakke om Status på SPBG Ny struktur på vores ERFA møder Andre møder Dagens emne: PowerShell.](https://reader036.fdocument.pub/reader036/viewer/2022070308/551c5ba1550346a66a8b514c/html5/thumbnails/35.jpg)
SharePoint Bruger Gruppe
SP2010: OBJECT DISPOSAL
Start-SPAssigment -global$web = Get-SPWeb url…Stop-SPAssignment -global
$gc = Start-SPAssigment$web = $gc | Get-SPWeb url…Stop-SPAssignment $gc
![Page 36: Http://spbg.dk. SharePoint Bruger Gruppe Vi skal snakke om Status på SPBG Ny struktur på vores ERFA møder Andre møder Dagens emne: PowerShell.](https://reader036.fdocument.pub/reader036/viewer/2022070308/551c5ba1550346a66a8b514c/html5/thumbnails/36.jpg)
SharePoint Bruger Gruppe
PAUSE
![Page 37: Http://spbg.dk. SharePoint Bruger Gruppe Vi skal snakke om Status på SPBG Ny struktur på vores ERFA møder Andre møder Dagens emne: PowerShell.](https://reader036.fdocument.pub/reader036/viewer/2022070308/551c5ba1550346a66a8b514c/html5/thumbnails/37.jpg)
SharePoint Bruger Gruppe
CUSTOM CMDLET
Add Reference: System.Management.Automation.dll Microsoft.SharePoint.Powershell.dll
Inherit from SPXXXCmdletBase Add Attributes
Cmdlet SPCmdlet
Add xml files in SPRoot\Config\PowerShell
![Page 38: Http://spbg.dk. SharePoint Bruger Gruppe Vi skal snakke om Status på SPBG Ny struktur på vores ERFA møder Andre møder Dagens emne: PowerShell.](https://reader036.fdocument.pub/reader036/viewer/2022070308/551c5ba1550346a66a8b514c/html5/thumbnails/38.jpg)
SharePoint Bruger Gruppe
SHAREPOINT 2007
PowerShell knows nothing about SP2007
But you can load the dll(s)
Then you can just use the object model
[System.Reflection.Assembly]::LoadWithPartialName(“Microsoft.SharePoint”)
![Page 39: Http://spbg.dk. SharePoint Bruger Gruppe Vi skal snakke om Status på SPBG Ny struktur på vores ERFA møder Andre møder Dagens emne: PowerShell.](https://reader036.fdocument.pub/reader036/viewer/2022070308/551c5ba1550346a66a8b514c/html5/thumbnails/39.jpg)
SharePoint Bruger Gruppe
SHAREPOINT 2007
$site = [Microsoft.SharePoint.SPSite] (“http://localhost”)$web = $site.OpenWeb()$web$web.Title$web.Title = “Updated from PS”$web.Update()$web.Dispose()$site.Dispose()
![Page 40: Http://spbg.dk. SharePoint Bruger Gruppe Vi skal snakke om Status på SPBG Ny struktur på vores ERFA møder Andre møder Dagens emne: PowerShell.](https://reader036.fdocument.pub/reader036/viewer/2022070308/551c5ba1550346a66a8b514c/html5/thumbnails/40.jpg)
SharePoint Bruger Gruppe
USE PJA’S SP2007 STARTUP SCRIPT
To use PJA’s startup script do this once
Set-ExecutionPolicy RemoteSignedIf (!(Test-Path $profile)){New-Item –type file –force $profile}Notepad $profile<<copy/past from next slide>><<save>>. $profile
![Page 41: Http://spbg.dk. SharePoint Bruger Gruppe Vi skal snakke om Status på SPBG Ny struktur på vores ERFA møder Andre møder Dagens emne: PowerShell.](https://reader036.fdocument.pub/reader036/viewer/2022070308/551c5ba1550346a66a8b514c/html5/thumbnails/41.jpg)
SharePoint Bruger Gruppe
PJA’S SP2007 STARTUP SCRIPTfunction Get-SPSite($url){ [Microsoft.SharePoint.SPSite]($url);}
# Setting up environment## Set up path for visual studio tools#function VsVars32(){ $vs100comntools = (Get-ChildItem env:VS100COMNTOOLS).Value $batchFile = [System.IO.Path]::Combine($vs100comntools, "vsvars32.bat") $cmd = "`"$batchfile`" & PATH" Set-Content env:\Path (cmd /c $cmd)[1].Split("=")[1]}VsVars32
# Setup path to SharePoint tools#New-Variable 12Hive "C:\Program Files\Common Files\Microsoft Shared\web server extensions\12" -option constantSet-Content Env:\Path ((Get-Content Env:\Path)+";$12Hive\bin;c:\windows\system32\inetsrv")
# Load SharePoint Assembly#[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint")
![Page 42: Http://spbg.dk. SharePoint Bruger Gruppe Vi skal snakke om Status på SPBG Ny struktur på vores ERFA møder Andre møder Dagens emne: PowerShell.](https://reader036.fdocument.pub/reader036/viewer/2022070308/551c5ba1550346a66a8b514c/html5/thumbnails/42.jpg)
SharePoint Bruger Gruppe
ACTIONS
Use Get-Help Use Get-Command Use Get-Member
Get Started
![Page 43: Http://spbg.dk. SharePoint Bruger Gruppe Vi skal snakke om Status på SPBG Ny struktur på vores ERFA møder Andre møder Dagens emne: PowerShell.](https://reader036.fdocument.pub/reader036/viewer/2022070308/551c5ba1550346a66a8b514c/html5/thumbnails/43.jpg)
SharePoint Bruger Gruppe
ANDRE MØDER
SharePoint dinner inden jul, følg med på http://spbg.dk og twitter.