Download presentation
Presentation is loading. Please wait.
1
Fabrice Romelard [MVP] Intranet – Extranet CTO SGS
2
MVP since 2003 ASP.NET 2003-2006 SQL Server 2006-2008 SharePoint since 2008 French communities member ASP-PHP Codes Sources GUSS SharePoint Expert, SQL Server DBA and.NET developer Coworkers SGS at Geneva (Suisse)
3
Who know PowerShell ? Who know SharePoint ?
4
What’s SGS ? What’s PowerShell ? What’s New in PowerShell V2 PowerShell and SharePoint
5
Founded in Rouen in 1878, under the name of Goldstück, Hainzé & Co. First registration as Société Générale de Surveillance in Geneva in 1919 Growth by agglomerations of various companies which until 2002 had great degree of autonomy Listed publicly in 1985 Single share structure introduced in 2001 Four significant shareholder groups Famille A. Von Finck IFIL investment Allianz SE FMR Corp
6
Inspection Verification Testing Certification
7
More than 50'000 employees Europe, Middle East & Africa: 23’000 employees Americas: 11’300 employees Asia/Pacific: 15’700 employees A network of over 1’000 offices & laboratories
8
AGRICULTURAL SERVICES MINERALS SERVICES OIL, GAS & CHEMICALS SERVICES AUTOMOTIVE SERVICES LIFE SCIENCE SERVICES INDUSTRIAL SERVICES SYSTEMS & SERVICES CERTIFICATION GOVERNMENTS AND INSTITUTIONS SERVICES
10
What’s SGS ? What’s PowerShell ? What’s New in PowerShell V2 PowerShell and SharePoint
11
As interactive and composable as BASH/KSH As programmatic as Perl/Python/Ruby As production oriented as AS400 CL/VMS DCL Allows access to data stores as easy to access as filesystem
12
Automation Frameworks Cmdlets In-Proc, Local, Remote In-Proc, Local, Remote Runtime Engines Automation Platform (API) ScriptingLanguage Type Normalizers ProvidersEvents, Jobs, Transactions Shells, ISEs, GUI s, Applications Universal Interactive or programmatic Wide range of OSes Local or Remote Single or Multi Machine Synch or Asynch Wide range of authentication mechanisms.NET, native code, COM, WMI, ADSI, XML, ADO, WebServices, WSMAN, etc Simple scripting to systems programming Powered by a strong community
13
Have better solution than standard « cmd.exe » (Evolution of MS-DOS) Replace Perl, KixStart or VBScript scripts, for execute simple tasks PowerShell : Object Oriented Can use.Net objects Give many command
14
In classical environment, command execution results in text In PowerShell each result is object. We can use also the attributes and methods
15
.Net powered Can call WSH, COM, and WMI objects with.Net objects Many Commandlets Standard in commands and parameters
16
Version 1.0 Pre-requisites : Framework.Net 2.0 Available for: Windows Server 2008 A feature Not available in « Server Core » x86 x64 IA64 Windows Server 2003 SP1 An update between SP1 and SP2 (KB926139, 140, 141) To download x86 x64 IA64 Windows Vista Update (KB928439) To download x86 x64 Windows XP SP2 Need an update (KB926139, 140, 141) To download x86 x64 http://www.microsoft.com/windowsserver2003/technologies/management/powershell/download.mspx
17
PowerShell commands named « cmdlets » (ie: command-applets). One verb and a name with a dash (-), Generic verb list (Get, Set, Add, Remove, etc.) with diferent name like Path, Variable, Item, Object etc. Lot of name possible for commands
18
Diferent solutions for use parameters get-command -Name [string] -Type [CommandTypes] -Verb [string] -Noun [string] Use “” if parameter have a space or special char
19
First of all: « Get-Command ». For help: Get-Help with command. More help on command: « Get-Help Get-Command –detailed » with some examples « Get-Help Get-Command –full » with all technical informations
20
Command « Short Name» Alias «my_cmd» for the command « very-long- command-to-write». Help shell Unix or cmd.exe users with their uses … ls, more, pwd, etc. ls is the command alias for Get-ChildItem which shows the file or folder list.
21
A PowerShell variable is define by the prefix $ with the name and can receive value We can create the named variable $current- process and store the active process list $current_process = Get-Process
22
Action between commands PowerShell built for transition data between commands without change (more text transform) Get-Process | where { $_.handlecount -gt 400 } | Format-List
23
Condition in PowerShell, we can use operators If, ElseIf and Else $current_process = Get-Process If ($current_process.count -lt 50) { Write-Host « Low server load"; } Elseif (($current_process.count -ge 50) -and ($current_process.count -lt 80)) { Write-Host « Middle server load"; } Else { Write-Host « High server load"; }
24
We can create loop in PowerShell as While, Do While, For or Foreach. $var = 1 // One variable set to 1 while ($var -le 50) {$var; $var += 1} // while the value is not equal to 50, we add 1 for ($var = 1; $var -le 50; $i++) // {$var} // each steps we show the variable value
25
WMI objects Include in PowerShell in standard, no creation need Get-WmiObject –list.NET and COM objects Create a new object for a variable PS C:\> $xls = New-Object -ComObject Excel.Application We can use the methods and properties
26
Basic Scripts for Services and file management
27
What’s SGS ? What’s PowerShell ? What’s New in PowerShell V2 ? PowerShell and SharePoint
28
Reduce the cost and effort to: Use PowerShell Get, learn, share scripts Layer applications on PowerShell GUI, web, workflow, etc. Manage anything/everything Servers, clients, distributed systems, applications, web services, cloud services, raw HW, other OSes, everything Using any and all mechanisms (WMI,.Net, native code, web services, WSMAN)
29
Microsoft.NET Framework 2.0 Windows PowerShell remoting et background jobs needs WinRM 2.0 CTP3 : Only for Vista SP1 and W2008 Windows PowerShell Integrated Scripting Environment (ISE) and Out-GridView cmdlet needs Microsoft.NET Framework 3.5 SP1
30
Windows PowerShell Remoting 1:1 et 1:plusieurs Background Jobs Advanced Functions Modules Transactions
31
Script Debugging Nouvelles Cmdlets Windows PowerShell Integrated Scripting Environment (ISE) Nouveaux opérateurs Splatting (@) Split Join
32
V1V2 DeveloperCmdlets and/or providers Help PowerShell cmdlets Transaction support PowerShell CLI & API Rich language w/access to com, wmi,.Net, adsi, xml & ado Utilities to manipulate, format, import/export 129 Cmdlets Web service & workflow activities Richer language w/access to web services, unmanaged code, wsman Richer utilities including eventing, job control, remote execution 241 Cmdlets Graphical ISE to create/debug scripts UsersSimple ad hoc scripts Sophisticated production scripting Systems programming Across multiple machines Community Write and share scripts Write and Share Modules V1 Scripts and Cmdlets run on PowerShell V2
34
Management initiative driven by DMTF Platform independent, interoperable & industry standard management solution CIM based standards for Server and Desktop management WS-Management (WSMAN) IT Console Managed Platforms WSMAN
35
Power control and boot control HW/ SW inventory Alerts and lifecycle events Config/manage BIOS Software and Firmware update Health monitoring
36
Power Off Command Invoke-WSManAction -CN $svr -cred $cred -port 16992 ` -Auth digest CIM_ComputerSystem ` –Action RequestStateChange ` –SelectorSet @{Name="ManagedSystem"} ` -valueSet @{RequestedState="3"} Chassis Class Get-WSManInstance -CN $svr -cred $cred -port 16992 -Auth digest - enum CIM_Chassis Chip Class Get-WSManInstance –CN $srv -cred $cred -port 16992 -Auth digest - enum CIM_Chip Power On Command Invoke-WSManAction -CN $svr -cred $cred -port 16992 ` -Auth digest CIM_ComputerSystem ` –Action RequestStateChange ` –SelectorSet @{Name="ManagedSystem"} ` -valueSet @{RequestedState=“2"}
37
Remote WMI Remote Command/Script Execution Remote Background Jobs Remote Interactive Session
38
-ComputerName # txt format list -Throttle # fix parallel session number -AsJob # execut in background PS> gwmi -CN (cat servers.txt) Win32_Bios -Throttle 64 | Select __Server, Name, Manufacturer, Version | ConvertTo-Html > BiosInventory.htm PS> $job = gwmi -CN (cat servers.txt) Win32_Bios -Throttle 64 –AsJob PS> Wait-job $j # or go do something else PS> Receive-Job $j | Select __Server, Name, Manufacturer, Version | ConvertTo-Html > BiosInventory.htm
39
xxxxx
40
What’s SGS ? What’s PowerShell ? What’s New in PowerShell V2 ? PowerShell and SharePoint
41
Load the SharePoint DLL [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.S harePoint") > $null Set the variable $site = new-object Microsoft.SharePoint.SPSite(“http://myWebApp”) Use the MSDN site as the.NET SharePoint Development
42
Scripts for SharePoint management
44
Technical Blog http://blogs.developpeur.org/fabrice69/ Online Articles http://www.asp-php.net SharePoint Management PowerShell scripts http://sharepointpsscripts.codeplex.com PowerShell Blogs http://blogs.technet.com/powershell/ http://blogs.msdn.com/powershell/ http://scriptingof.blogspot.com/
46
14 – 15 avril 2010, CICG
47
Classic Sponsoring Partners Premium Sponsoring Partners
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.