Download præsentationen
Præsentation er lastning. Vent venligst
Offentliggjort afKaren Clausen Redigeret for ca. et år siden
1
Instructions • You must bring your own laptop, your presentation and a power supply • Technical staff is present in all to assist with network, audio and video setup • Speakers are responsible for presentation computer and demo equipment • Please make sure your PC have correct video drivers installed. • Be at your session no later than 30 min. Prior to your timeslot to setup your equipment • Evaluation-slide will be send to you prior to Campus Days, which should replace the current Evaluation-slide Technical details • All presentations should be 16:9 widescreen format • Output connectors provided in all session rooms are: DVI, HDM, Micro HDMI, VGA For NON-Microsoft speakers: • Own company logo is allowed on the Session Title slide only • Sessions are non commercial – Please do NOT sell own products or services
4
• PowerShell – introduktion • Hvorfor PowerShell • Hvad er PowerShell • Anvendt PowerShell • Installation / Konfiguration • SharePoint Development • Administration • Migrering / Opgradering • Hvad bringer fremtiden • Spørgsmål
5
PowerShell - introduktion
6
Hvorfor bruge PowerShell til SharePoint • Direkte adgang til hele SharePoint • Hurtigere • Større kontrol • Undgå timeout issues med IIS • Reproducerbart • Fejl minimerende • Fejl håndtering • Egne scripts • Selvdokumenterende • Handlings-log • PS Transcript • Bling faktor! PowerShell - introduktion
7
Hvad er PowerShell? PS:\> PowerShell - introduktion
8
Hvad er PowerShell? • En prompt PS:\> PowerShell - introduktion
9
Hvad er PowerShell? • En prompt • Interface til filsystemet PS:\> PowerShell - introduktion
10
Hvad er PowerShell? • En prompt • Interface til filsystemet PS:\> mkdir 'Demo Folder' Directory: PS:\ Mode LastWriteTime Length Name ---- ------------- ------ ---- d---- 10-10-2013 08:41 Demo Folder PS:\> PowerShell - introduktion
11
Hvad er PowerShell? • En prompt • Interface til filsystemet PS:\> mkdir 'Demo Folder' Directory: PS:\ Mode LastWriteTime Length Name ---- ------------- ------ ---- d---- 10-10-2013 08:41 Demo Folder PS:\> cd '.\Demo Folder' PS:\Demo Folder> PowerShell - introduktion
12
Hvad er PowerShell? • En prompt • Interface til filsystemet • Understøtter piping Directory: PS:\ Mode LastWriteTime Length Name ---- ------------- ------ ---- d---- 10-10-2013 08:41 Demo Folder PS:\> cd '.\Demo Folder' PS:\Demo Folder> echo NogetTekst | Out-File -FilePath 'en_fil.txt' PS:\Demo Folder> PowerShell - introduktion
13
Hvad er PowerShell? • En prompt • Interface til filsystemet • Understøtter piping og redirection Mode LastWriteTime Length Name ---- ------------- ------ ---- d---- 10-10-2013 08:41 Demo Folder PS:\> cd '.\Demo Folder' PS:\Demo Folder> echo NogetTekst | Out-File -FilePath 'en_fil.txt' PS:\Demo Folder> (dir) >> en_fil.txt PS:\Demo Folder> PowerShell - introduktion
14
Hvad er PowerShell? • En prompt • Interface til filsystemet • Understøtter piping og redirection PS:\Demo Folder> type en_fil.txt NogetTekst Directory: PS:\Demo Folder Mode LastWriteTime Length Name ---- ------------- ------ ---- -a--- 10-10-2013 08:42 400 en_fil.txt PS:\Demo Folder> PowerShell - introduktion
15
Hvad er PowerShell? • En prompt • Interface til filsystemet • Understøtter piping og redirection • Desuden • Global tab-completion PS:\Demo Folder> type en_fil.txt NogetTekst Directory: PS:\Demo Folder Mode LastWriteTime Length Name ---- ------------- ------ ---- -a--- 10-10-2013 08:42 400 en_fil.txt PS:\Demo Folder> PowerShell - introduktion
16
Hvad er PowerShell? • En prompt • Interface til filsystemet • Understøtter piping og redirection • Desuden • Global tab-completion • Cmdlets opbygget af et Verb og et Noun PS:\Demo Folder> type en_fil.txt NogetTekst Directory: PS:\Demo Folder Mode LastWriteTime Length Name ---- ------------- ------ ---- -a--- 10-10-2013 08:42 400 en_fil.txt PS:\Demo Folder> PowerShell - introduktion
17
Hvad er PowerShell? • En prompt • Interface til filsystemet • Understøtter piping og redirection • Desuden • Global tab-completion • Cmdlets opbygget af et Verb og et Noun -a--- 10-10-2013 08:42 400 en_fil.txt PS:\Demo Folder> Get-ChildItem Directory: PS:\Demo Folder Mode LastWriteTime Length Name ---- ------------- ------ ---- -a--- 10-10-2013 08:42 400 en_fil.txt PS:\Demo Folder> PowerShell - introduktion
18
Hvad er PowerShell? • Et scriptinginterface PS:\Demo Folder> PowerShell - introduktion
19
Hvad er PowerShell? • Et scriptinginterface • Lægger sig op ad C#; konverteringen imellem de to er ofte simpel PS:\Demo Folder> PowerShell - introduktion
20
Hvad er PowerShell? • Et scriptinginterface • Lægger sig op ad C#; konverteringen imellem de to er ofte simpel • Understøtter implicit variabel-deklaration PS:\Demo Folder> PowerShell - introduktion
21
Hvad er PowerShell? • Et scriptinginterface • Lægger sig op ad C#; konverteringen imellem de to er ofte simpel • Understøtter implicit variabel-deklaration PS:\Demo Folder> $var = 'en_streng' PS:\Demo Folder> PowerShell - introduktion
22
Hvad er PowerShell? • Et scriptinginterface • Lægger sig op ad C#; konverteringen imellem de to er ofte simpel • Understøtter implicit variabel-deklaration og redeklaration PS:\Demo Folder> $var = 'en_streng' PS:\Demo Folder> $var = 1 PS:\Demo Folder> PowerShell - introduktion
23
Hvad er PowerShell? • Et scriptinginterface • Lægger sig op ad C#; konverteringen imellem de to er ofte simpel • Understøtter implicit variabel-deklaration og redeklaration • Objektorienteret og understøtter dot-operatoren PS:\Demo Folder> $var = 'en_streng' PS:\Demo Folder> $var = 1 PS:\Demo Folder> PowerShell - introduktion
24
Hvad er PowerShell? • Et scriptinginterface • Lægger sig op ad C#; konverteringen imellem de to er ofte simpel • Understøtter implicit variabel-deklaration og redeklaration • Objektorienteret og understøtter dot-operatoren PS:\Demo Folder> $var = 1 PS:\Demo Folder> $var.GetType() IsPublic IsSerial Name BaseType -------- -------- ---- -------- True True Int32 System.ValueType PS:\Demo Folder> PowerShell - introduktion
25
Hvad er PowerShell? • Et scriptinginterface • Lægger sig op ad C#; konverteringen imellem de to er ofte simpel • Understøtter implicit variabel-deklaration og redeklaration • Objektorienteret og understøtter dot-operatoren IsPublic IsSerial Name BaseType -------- -------- ---- -------- True True Int32 System.ValueType PS:\Demo Folder> $var.GetType().Name Int32 PS:\Demo Folder> PowerShell - introduktion
26
Hvad er PowerShell? • Et scriptinginterface • Lægger sig op ad C#; konverteringen imellem de to er ofte simpel • Understøtter implicit variabel-deklaration og redeklaration • Objektorienteret og understøtter dot-operatoren • Understøtter arrays og mere komplekse objekter IsPublic IsSerial Name BaseType -------- -------- ---- -------- True True Int32 System.ValueType PS:\Demo Folder> $var.GetType().Name Int32 PS:\Demo Folder> PowerShell - introduktion
27
Hvad er PowerShell? • Et scriptinginterface • Lægger sig op ad C#; konverteringen imellem de to er ofte simpel • Understøtter implicit variabel-deklaration og redeklaration • Objektorienteret og understøtter dot-operatoren • Understøtter arrays og mere komplekse objekter -------- -------- ---- -------- True True Int32 System.ValueType PS:\Demo Folder> $var.GetType().Name Int32 PS:\Demo Folder> $var = ('anden_streng',4) PS:\Demo Folder> PowerShell - introduktion
28
Hvad er PowerShell? • Et scriptinginterface • Lægger sig op ad C#; konverteringen imellem de to er ofte simpel • Understøtter implicit variabel-deklaration og redeklaration • Objektorienteret og understøtter dot-operatoren • Understøtter arrays og mere komplekse objekter Int32 PS:\Demo Folder> $var = ('anden_streng',4) PS:\Demo Folder> $var anden_streng 4 PS:\Demo Folder> PowerShell - introduktion
29
Hvad er PowerShell? • Et scriptinginterface • Lægger sig op ad C#; konverteringen imellem de to er ofte simpel • Understøtter implicit variabel-deklaration og redeklaration • Objektorienteret og understøtter dot-operatoren • Understøtter arrays og mere komplekse objekter PS:\Demo Folder> $var anden_streng 4 PS:\Demo Folder> $var[1] 4 PS:\Demo Folder> PowerShell - introduktion
30
Hvad er PowerShell? • Et scriptinginterface • Lægger sig op ad C#; konverteringen imellem de to er ofte simpel • Understøtter implicit variabel-deklaration og redeklaration • Objektorienteret og understøtter dot-operatoren • Understøtter arrays og mere komplekse objekter • Understøtter comparisons PS:\Demo Folder> $var anden_streng 4 PS:\Demo Folder> $var[1] 4 PS:\Demo Folder> PowerShell - introduktion
31
Hvad er PowerShell? • Et scriptinginterface • Lægger sig op ad C#; konverteringen imellem de to er ofte simpel • Understøtter implicit variabel-deklaration og redeklaration • Objektorienteret og understøtter dot-operatoren • Understøtter arrays og mere komplekse objekter • Understøtter comparisons 4 PS:\Demo Folder> $var[1] 4 PS:\Demo Folder> (dir).Count -eq $var.Count False PS:\Demo Folder> PowerShell - introduktion
32
Hvad er PowerShell? • Et scriptinginterface • Lægger sig op ad C#; konverteringen imellem de to er ofte simpel • Understøtter implicit variabel-deklaration og redeklaration • Objektorienteret og understøtter dot-operatoren • Understøtter arrays og mere komplekse objekter • Understøtter comparisons • Understøtter simple control structures 4 PS:\Demo Folder> $var[1] 4 PS:\Demo Folder> (dir).Count -eq $var.Count False PS:\Demo Folder> PowerShell - introduktion
33
Hvad er PowerShell? • Et scriptinginterface • Lægger sig op ad C#; konverteringen imellem de to er ofte simpel • Understøtter implicit variabel-deklaration og redeklaration • Objektorienteret og understøtter dot-operatoren • Understøtter arrays og mere komplekse objekter • Understøtter comparisons • Understøtter simple control structures 4 PS:\Demo Folder> (dir).Count -eq $var.Count False PS:\Demo Folder> if (-not ((dir).Count -eq $var.Count)) {(dir).Count} 1 PS:\Demo Folder> PowerShell - introduktion
34
Hvad er PowerShell? • Et scriptinginterface • Lægger sig op ad C#; konverteringen imellem de to er ofte simpel • Understøtter implicit variabel-deklaration og redeklaration • Objektorienteret og understøtter dot-operatoren • Understøtter arrays og mere komplekse objekter • Understøtter comparisons • Understøtter simple control structures og mere komplekse constructs PS:\Demo Folder> (dir).Count -eq $var.Count False PS:\Demo Folder> if (-not ((dir).Count -eq $var.Count)) {(dir).Count} 1 PS:\Demo Folder> foreach ($item in dir) {$item.LastWriteTime = Get-Date} PS:\Demo Folder> PowerShell - introduktion
35
Hvad er PowerShell? • Et scriptinginterface • Lægger sig op ad C#; konverteringen imellem de to er ofte simpel • Understøtter implicit variabel-deklaration og redeklaration • Objektorienteret og understøtter dot-operatoren • Understøtter arrays og mere komplekse objekter • Understøtter comparisons • Understøtter simple control structures og mere komplekse constructs PS:\Demo Folder> dir Directory: PS:\Demo Folder Mode LastWriteTime Length Name ---- ------------- ------ ---- -a--- 10-10-2013 08:56 400 en_fil.txt PS:\Demo Folder> PowerShell - introduktion
36
Hvad er PowerShell? • Et scriptinginterface • Lægger sig op ad C#; konverteringen imellem de to er ofte simpel • Understøtter implicit variabel-deklaration og redeklaration • Objektorienteret og understøtter dot-operatoren • Understøtter arrays og mere komplekse objekter • Understøtter comparisons • Understøtter simple control structures og mere komplekse constructs • Understøtter funktioner PS:\Demo Folder> dir Directory: PS:\Demo Folder Mode LastWriteTime Length Name ---- ------------- ------ ---- -a--- 10-10-2013 08:56 400 en_fil.txt PS:\Demo Folder> PowerShell - introduktion
37
Hvad er PowerShell? • Et scriptinginterface • Lægger sig op ad C#; konverteringen imellem de to er ofte simpel • Understøtter implicit variabel-deklaration og redeklaration • Objektorienteret og understøtter dot-operatoren • Understøtter arrays og mere komplekse objekter • Understøtter comparisons • Understøtter simple control structures og mere komplekse constructs • Understøtter funktioner Mode LastWriteTime Length Name ---- ------------- ------ ---- -a--- 10-10-2013 08:56 400 en_fil.txt PS:\Demo Folder> function Demo-PS {Param ($Navn='Verden') Write-Host "Hej $Navn!"} PS:\Demo Folder> PowerShell - introduktion
38
Hvad er PowerShell? • Et scriptinginterface • Lægger sig op ad C#; konverteringen imellem de to er ofte simpel • Understøtter implicit variabel-deklaration og redeklaration • Objektorienteret og understøtter dot-operatoren • Understøtter arrays og mere komplekse objekter • Understøtter comparisons • Understøtter simple control structures og mere komplekse constructs • Understøtter funktioner ---- ------------- ------ ---- -a--- 10-10-2013 08:56 400 en_fil.txt PS:\Demo Folder> function Demo-PS {Param ($Navn='Verden') Write-Host "Hej $Navn!"} PS:\Demo Folder> Demo-PS Hej Verden! PS:\Demo Folder> PowerShell - introduktion
39
Hvad er PowerShell? • En ”scripting-prompt” PS:\Demo Folder> PowerShell - introduktion
40
Hvad er PowerShell? • En ”scripting-prompt” PS:\Demo Folder> Demo-PS PowerShell - introduktion
41
Hvad er PowerShell? • En ”scripting-prompt” PS:\Demo Folder> Demo-PS -Navn PowerShell - introduktion
42
Hvad er PowerShell? • En ”scripting-prompt” PS:\Demo Folder> Demo-PS –Navn (Get-Process) PowerShell - introduktion
43
Hvad er PowerShell? • En ”scripting-prompt” PS:\Demo Folder> Demo-PS –Navn (Get-Process | Where-Object) PowerShell - introduktion
44
Hvad er PowerShell? • En ”scripting-prompt” • ”Pipe-variablen” binder dem sammen PS:\Demo Folder> Demo-PS –Navn (Get-Process | Where-Object {$_}) PowerShell - introduktion
45
Hvad er PowerShell? • En ”scripting-prompt” • ”Pipe-variablen” binder dem sammen PS:\Demo Folder> Demo-PS –Navn (Get-Process | Where-Object {$_.Id -eq $pid}) PowerShell - introduktion
46
Hvad er PowerShell? • En ”scripting-prompt” • ”Pipe-variablen” binder dem sammen PS:\Demo Folder> Demo-PS –Navn (Get-Process | Where-Object {$_.Id -eq $pid}).ProcessName PowerShell - introduktion
47
Hvad er PowerShell? • En ”scripting-prompt” • ”Pipe-variablen” binder dem sammen PS:\Demo Folder> Demo-PS –Navn (Get-Process | Where-Object {$_.Id -eq $pid}).ProcessName.ToUpper() PowerShell - introduktion
48
Hvad er PowerShell? • En ”scripting-prompt” • ”Pipe-variablen” binder dem sammen PS:\Demo Folder> Demo-PS –Navn (Get-Process | Where-Object {$_.Id -eq $pid}).ProcessName.ToUpper() Hej POWERSHELL! PS:\Demo Folder> PowerShell - introduktion
49
Anvendt PowerShell
50
Hvor kan PowerShell bruges til SharePoint? • Installation / Konfiguration • SharePoint Development • Administration • Migrering / Opgradering
51
Anvendt PowerShell – Installation / Konfiguration
52
New-SPStateServiceDatabase New-SPStateServiceApplication New-SPConfigurationDatabase New-SPUsageApplication Enable-SPSessionStateService
53
Anvendt PowerShell – Installation / Konfiguration New-SPStateServiceDatabase -Name 'SP01_SharePoint_service_State' | New- SPStateServiceApplication -Name 'State' | New- SPStateServiceApplicationProxy -Name 'State' New-SPConfigurationDatabase -DatabaseServer 'DB01' -DatabaseName 'SP01_SharePoint_Config' -Passphrase 'The_PassPhrase!' -FarmCredentials DOM\svcSPFarm -AdministrationContentDatabaseName 'SP01_SharePoint_Content_CentralAdmin' New-SPUsageApplication -Name 'Usage' -DatabaseName 'SP01_SharePoint_service_Usage' Enable-SPSessionStateService –DatabaseName 'SP01_SharePoint_service_SessionState'
54
Anvendt PowerShell – Installation / Konfiguration Installation / Konfiguration - tilgange • Egne scripts/funktioner • Velkendt, overskuelig kode • Hurtig at eksekvere • Let at tilrette • AutoSPInstaller • Installerer – med lidt tilretninger – alle komponenter i én omgang • Kendt og supporteret af community’et • Forholdsvist let for SharePoint-kyndige at konfigurere vha. AutoSPInstallerGUI eller Excel til XML-tool
55
Anvendt PowerShell – Installation / Konfiguration – Egne scripts/funktioner Egne scripts/funktioner • De uundgåelige • Farm • Managed Accounts • State, Session State og Usage • Search • ASP.NET Cache Accounts • De ligetil • “OWA” Service Apps • Managed Metadata • Performance Point • Den besværlige • User Profile Service
56
Anvendt PowerShell – Installation / Konfiguration Installation/Konfiguration - tilgange • Konfiguration • Søgetopologi kun vha. PowerShell I SP2013 • Konsistente databasenavne
57
Anvendt PowerShell – Installation / Konfiguration - AutoSPInstaller AutoSPInstaller • Færdig PowerShell samling til SharePoint opsætning • XML baseret konfiguration • AutoSPInstallerGUI • Excel-til-XML
58
Anvendt PowerShell – SharePoint Development SharePoint Development • Solution deployment/setup • WSP pakker Add-SPSolution, Install-SPSolution, Uninstall-SPSolution, Remove-SPSolution • Udviklings-teams • Ensartet opsætning/installation hos alle udviklere • Mijløinstallation • Ensartet installation Development / Sandbox / Preprod / produktion • Nulstille miljø • Oprette grundlæggende sidestruktur • Oprette site collection/web/sider • Indsætte web parts • Feature aktivering
59
Anvendt PowerShell – SharePoint Development
60
Anvendt PowerShell - Administration Administration • Masse rettelser • User profile billeder • Bruger migrering • Flytte site collections • Move-SPSite ‘http://ServerName/Sites/SiteName’ -DestinationDatabase ‘NewContentDb’ • Backup/restore • Troubleshooting • Merge-SPLogFile -Path ‘D:\Logs\FarmMergedLog.log’ -Overwrite –Correlation correlationGUID • OM adgang • Vedligeholdelse • Warmup script https://spbestwarmup.codeplex.com/
61
Anvendt PowerShell – Migrering / opgradering Opgradering • Smertefrit fra SharePoint 2010 til 2013 • Strukturel iteration snarere end revolution • 14-folderen i SharePoint 2013 • Kun Database Attach-metode • Tryg opgraderingsfase uden nedetid eller behov for rollback • Stadigt ingen overspring – uden tredjepart • Metalogix Migration Manager • Testupgrade kun til “skyen”
62
Anvendt PowerShell – Migrering / opgradering Migreringsscenarie • SharePoint 2010 Classic-Mode Web Application til SharePoint 2013 Claims Based Authentication Web Application i 10 trin 1.Sæt SharePoint 2010 Content DB Read Only og tag backup af denne 2.Genskab backup til SharePoint 2013-miljøs SQL Server og sæt databasen Read/Write 3.Opret i SharePoint 2013 en Classic-Mode Web Application med midlertidig database 4.Mount genskabt 2010-database (opgraderes automatisk) 5.Slet den midlertidige database 6.Konverter autenticeringsmetoden til Claims 7.Kontroller, at alle migrerede sider vises korrekt 8.Opgrader ønskede site collections til SharePoint 2013 9.Kontroller, at alle opgraderede sider vises korrekt 10.Omdiriger brugere til SharePoint 2013-miljø
63
Anvendt PowerShell – Migrering / opgradering Migreringsscenarie • SharePoint 2010 Classic-Mode Web Application til SharePoint 2013 Claims Based Authentication Web Application PS:\> New-SPWebApplication -Name 'MyWebapp' -ApplicationPool 'MyWebapp' –ApplicationPoolAccount (Get- SPManagedAccount 'DOM\svcWAAcct') $sa –Url 'http://mywebapp.dom.local' -DatabaseName 'SP01_SharePoint_Content_mywebapp-dom-local_TEMP' PS:\> Mount-SPContentDatabase -WebApplication 'http://mywebapp.dom.local' -Name 'SP01_SharePoint_Content_mywebapp-dom-local' PS:\> Remove-SPContentDatabase -Identity 'SP01_SharePoint_Content_mywebapp-dom-local_TEMP' PS:\> Convert-SPWebApplication –Identity 'http://mywebapp.dom.local' –To Claims -RetainPermissions PS:\> Get-SPSiteCollection 'http://mywebapp.dom.local/mysitecoll' | Upgrade-SPSiteCollection
64
Hvad bringer fremtiden
65
• Mere integration i alle Microsoft produkterne • SharePoint online • http://technet.microsoft.com/en-us/library/fp161362.aspx
66
Mere information • Use Windows PowerShell to administer SharePoint • http://technet.microsoft.com/en-us/library/ee806878(office.15) • Windows PowerShell Command Builder • http://www.microsoft.com/resources/TechNet/en- us/Office/media/WindowsPowerShell/WindowsPowerShellCommandBuilder.html • Hey, Scripting Guy! blog • http://blogs.technet.com/b/heyscriptingguy/archive/tags/windows%20powershell/getting%20started/default.aspx
67
• Variable • $ • Objekter • Properties • Metoder • Pipes • | • $_ • Objektmanipulation • *-Object • Funktioner • function PS :\> Anvendt PowerShell – Brugermanipulation
68
• Variable • $ • Objekter • Properties • Metoder • Pipes • | • $_ • Objektmanipulation • *-Object • Funktioner • function $ PS :\> $web = Get-SPWeb ‘http://MyUrl’ PS :\> $web Url --- http://myurl PS :\> Anvendt PowerShell – Brugermanipulation
69
• Variable • $ • Objekter • Properties • Metoder • Pipes • | • $_ • Objektmanipulation • *-Object • Funktioner • function PS :\> $web = Get-SPWeb ‘http://MyUrl’ PS :\> $web Url --- http://myurl PS :\> $web.AllUsers UserLogin DisplayName --------- ----------- Enabling\Christian Kristian Degn SHAREPOINT\system System Account PS :\> Anvendt PowerShell – Brugermanipulation
70
• Variable • $ • Objekter • Properties • Metoder • Pipes • | • $_ • Objektmanipulation • *-Object • Funktioner • function PS :\> $web.AllUsers UserLogin DisplayName --------- ----------- Enabling\Christian Kristian Degn SHAREPOINT\system System Account PS :\> $usr = $web.AllUsers[0] PS :\> $usr UserLogin DisplayName --------- ----------- Enabling\Christian Kristian Degn PS :\> Anvendt PowerShell – Brugermanipulation
71
• Variable • $ • Objekter • Properties • Metoder • Pipes • | • $_ • Objektmanipulation • *-Object • Funktioner • function PS :\> $usr = $web.AllUsers[0] PS :\> $usr UserLogin DisplayName --------- ----------- Enabling\Christian Kristian Degn PS :\> $usr.DisplayName = ‘Christian Degn’ PS :\> $usr UserLogin DisplayName --------- ----------- Enabling\Christian Christian Degn PS :\> Anvendt PowerShell – Brugermanipulation
72
• Variable • $ • Objekter • Properties • Metoder • Pipes • | • $_ • Objektmanipulation • *-Object • Funktioner • function PS :\> $usr.DisplayName = ‘Christian Degn’ PS :\> $usr UserLogin DisplayName --------- ----------- Enabling\Christian Christian Degn PS :\> (Get-SPWeb 'http://MyUrl').AllUsers UserLogin DisplayName --------- ----------- Enabling\Christian Kristian Degn SHAREPOINT\system System Account PS :\> Anvendt PowerShell – Brugermanipulation
73
• Variable • $ • Objekter • Properties • Metoder • Pipes • | • $_ • Objektmanipulation • *-Object • Funktioner • function PS :\> $usr.DisplayName = ‘Christian Degn’ PS :\> $usr UserLogin DisplayName --------- ----------- Enabling\Christian Christian Degn PS :\> (Get-SPWeb 'http://MyUrl').AllUsers UserLogin DisplayName --------- ----------- Enabling\Christian Kristian Degn SHAREPOINT\system System Account PS :\> $usr.Update() PS :\> Anvendt PowerShell – Brugermanipulation
74
• Variable • $ • Objekter • Properties • Metoder • Pipes • | • $_ • Objektmanipulation • *-Object • Funktioner • function PS :\> (Get-SPWeb 'http://MyUrl').AllUsers UserLogin DisplayName --------- ----------- Enabling\Christian Kristian Degn SHAREPOINT\system System Account PS :\> $usr.Update() PS :\> (Get-SPWeb 'http://MyUrl').AllUsers[0] UserLogin DisplayName --------- ----------- Enabling\Christian Christian Degn SHAREPOINT\system System Account PS :\> Anvendt PowerShell – Brugermanipulation
75
• Variable • $ • Objekter • Properties • Metoder • Pipes • | • $_ • Objektmanipulation • *-Object • Funktioner • function PS :\> (Get-SPWeb 'http://MyUrl').AllUsers UserLogin DisplayName --------- ----------- Enabling\Christian Kristian Degn SHAREPOINT\system System Account PS :\> $usr.Update() PS :\> (Get-SPWeb 'http://MyUrl').AllUsers[0] UserLogin DisplayName --------- ----------- Enabling\Christian Christian Degn SHAREPOINT\system System Account PS :\> Clear-Host Anvendt PowerShell – Brugermanipulation
76
• Variable • $ • Objekter • Properties • Metoder • Pipes • | • $_ • Objektmanipulation • *-Object • Funktioner • function PS :\> Anvendt PowerShell – Brugermanipulation
77
• Variable • $ • Objekter • Properties • Metoder • Pipes • | • $_ • Objektmanipulation • *-Object • Funktioner • function PS :\> function Update-SPUserDisplayName { Param ( [string]$WebUrl, [string]$UserLogin, [string]$NewDisplayName ) $usr = (Get-SPWeb $WebUrl).AllUsers | Where- Object {$_.UserLogin -eq $UserLogin} $usr.DisplayName = $NewDisplayName $usr.Update() return $usr } PS \:> Anvendt PowerShell – Brugermanipulation
78
• Variable • $ • Objekter • Properties • Metoder • Pipes • | • $_ • Objektmanipulation • *-Object • Funktioner • function PS :\> function Update-SPUserDisplayName { Param ( [string]$WebUrl, [string]$UserLogin, [string]$NewDisplayName ) $usr = (Get-SPWeb $WebUrl).AllUsers | Where- Object {$_.UserLogin -eq $UserLogin} $usr.DisplayName = $NewDisplayName $usr.Update() return $usr } PS \:> Update-SPUserDisplayName –WebUrl ‘http://MyUrl’ –UserLogin ‘Enabling\Christian’ – NewDisplayName ‘Christian Degn’ Anvendt PowerShell – Brugermanipulation
79
Anvendt PowerShell – Søgetopologi $Server1 = 'SP01' $Server2 = 'SP02' $searchServiceApplication = Get-SPEnterpriseSearchServiceApplication $oldSearchTopology = Get-SPEnterpriseSearchTopology -SearchApplication $searchServiceApplication -Active $searchTopology = New-SPEnterpriseSearchTopology -SearchApplication $searchServiceApplication -Clone –SearchTopology $oldSearchTopology $searchServiceInstance1 = Get-SPEnterpriseSearchServiceInstance -Identity $Server1 $searchServiceInstance2 = Get-SPEnterpriseSearchServiceInstance -Identity $Server2 New-SPEnterpriseSearchQueryProcessingComponent -SearchTopology $searchTopology -SearchServiceInstance $searchServiceInstance1 New-SPEnterpriseSearchQueryProcessingComponent -SearchTopology $searchTopology -SearchServiceInstance $searchServiceInstance2 New-SPEnterpriseSearchIndexComponent –SearchTopology $searchTopology -SearchServiceInstance $searchServiceInstance1 - IndexPartition 0 New-SPEnterpriseSearchIndexComponent –SearchTopology $searchTopology -SearchServiceInstance $searchServiceInstance2 - IndexPartition 1 Set-SPEnterpriseSearchTopology -Identity $searchTopology Search
80
Anvendt PowerShell – Tips og Tricks At hente passwords ud af Managed Accounts $Identity = Get-SPManagedAccount $bindingFlags = [System.Reflection.BindingFlags]::Instance –bor [System.Reflection.BindingFlags]::NonPublic $passwordSecstr = ([Microsoft.SharePoint.Administration.SPManagedAccount].GetField('m_Password', $bindingFlags).GetValue($Identity).SecureStringValue $passwordPlaintxt = [Runtime.InteropServices.Marshal]::PtrToStringAuto( [Runtime.InteropServices.Marshal]::SecureStringToBSTR($passwordSecstr) )
81
Spørgsmål
82
Evaluation Create a Text message on your phone and send it to 1919 with the content: PR306 5 5 5 5 I liked it a lot Session Code Rune Performance (1 to 5) Match of technical Level (1 to 5) Relevance (1 to 5) Comments (optional) Evaluation Scale: 1 = Very bad 2 = Bad 3 = Relevant 4 = Good 5 = Very Good! Questions: • Speaker Performance • Relevance according to your work • Match of technical level according to published level • Comments Christian Performance (1 to 5)
83
© 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Lignende præsentationer
© 2024 SlidePlayer.dk Inc.
All rights reserved.