CHUVASH.eu

CHunky Universe of Vigourous Astonishing SHarepoint :)

Tag Archives: PowerShell

Get role assignments of a web or a list

In Powershell you can easily get the permissions in a web or in a list:

$web = get-spweb http://contoso.com
$web.Groups | select Name, Roles > .\Desktop\webgroups.txt
$list = $web.Lists.TryGetList("Assets");
$list.RoleAssignments | select Member, RoleDefinitionBindings > .\Desktop\assets-roleassignements.txt

To get all users in all groups run:

$web.Groups | Foreach { Write $_.Name; Write "-------------";  $_.Users | Select Name; Write ""; Write "" }

pause in Powershell

Om man högerklickar och väljer “Run With Powershell”, är det bra om fönstret inte försvinner… Det hade varit bra med en funktion som pause… Här kommer väl till pass en egen pause.:

function Pause ($Message="Press any key to continue...")
{
  Write-Host -NoNewLine $Message
  $null = $Host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")
  Write-Host ""
}

powershell.exe -Command

man kan skapa en .bat-fil med olika powershell-anrop:

powershell.exe -Command "& {.\Script1.ps1}"

Flaggor i powershellfunktioner

Har länge letat efter möjligheten att skriva funktioner med egna flaggor på ett enkelt sätt. “Flaggor” (flags) är namngivna parametrar. Följande kommando har flaggor: -Identity, -WebApplication och -GACDeployment.

Install-SPSolution -Identity contoso.portal.wsp -WebApplication http://contoso -GACDeployment

Låt oss titta på ett gammalt exempel:

function hello($firstname, $lastname) {
   Write "Hello $firstname $lastname"
}

Men är det inte jobbigt sedan att komma ihåg i vilken ordning parametrar kom. Tänk om någon skriver fel. Lösningen är flaggor. Det roliga är att du behöver inte göra så mycket mer, du som använder en funktion. Skriv:

hello -firstname Gregor -lastname Samsa

Så inparametrar omvandlas automatiskt till flaggor. Bara byt $-tecknet mot bindestreck. Sedan kan du skriva i vilken ordning som helst:

hello -lastname Samsa -firstname Gregor

En ytterligare häftig grej att booliska flaggor:

function helloInColor($firstname, $lastname, [switch]$red = $false, [switch]$green = $false) {
   $greeting = "Hello, $firstname $lastname"
   if($red) {
      Write-Host -ForegroundColor Red $greeting
   }
   if($green) {
      Write-Host -ForegroundColor Green $greeting
   }
}

Den switchen gör att du inte behöver stoppa in $false eller $true explicit (helloInColor -green $true), utan det räcker med helloInColor -green.

Nu kan du kombinera dina inparametrar hur mycket du vill:

helloInColor -firstname Gregor -lastname Samsa -green
helloInColor -green -firstname Gregor
...

Lägg till en annan administrator på site collection

Man kan göra det i CA (Application Mgmnt – Change Site Cltn Admins). Det kan man också snabbt göra med powershell:

Set-SPSite http://contoso -SecondaryOwnerAlias contoso\admin2

defaultvärde på parametern i powershellfunktioner

Läser ett intressant inlägg om deployskript i powershell. Har upptäckt att man kan stoppa in ett defaultvärde i funktionens parameter. Så i stället för

function hello($name) {
  Write-Host $name
}

Kan man köra:

function hello($name = "Gregor") {
  Write-Host $name
}

Mycket smidigt.

parametrar i powershell-funktioner

Man kan skapa funktioner med parametrar som påminner mycket om i C#. Så i stället för:

function Just-Test {
    Write-Host $args[0]
}

Skriv:

function Just-Test($param) {
    Write-Host $param
}

I det här exemplet är det inte så stor skillnad men tänk om du har flera parametrar. För det första behöver du inte hålla reda på vilket är vilket ($args[0], $args[1] osv) och för det andra är det också lättare att snabbare testa om de inte är null:

if($site -ne $null -and $url -ne $null)
    {"Url OR Site can be given"; return}

powershell_ise

Powershell ISE (Integrated Scripting Environment) är ett bra verktyg för att skriva powershell-skript med färgmarkering och möjligheten att testköra det. Synd bara att det inte är aktiverat ifrån början i Server 2008. För att aktivera kör följande kommandon i powershell:

Import-Module ServerManager
Add-Windowsfeature PowerShell-ISE

För att sedan starta powershell kör:

powershell_ise

Förenkla skapandet av utvecklingsmiljön till SharePoint 2010

Jag är fortfarande i mitt sökande efter den perfekta (för mig) utvecklingsmiljön för SharePoint 2010. Fram tills nu har jag arbetat med en virtuell (VMware) maskin som kollegor till mig har konfigurerat. Men jag vill ha kunskapen att göra det själv. Än så länge har jag bara stött på procedurer som är relativt långdragna, fram tills idag. Se på videon på sidan jag länkat nedan. Jag ska testa det och sen förhoppningsvis komma med resultat här.

Mitt mål är att lätt komma igång med en maskin som körs som VHD eller native dualboot. Men jag börjar med en virtuell VMware maskin.

Ett dygn senare: Igår lät jag skriptet köra (utan config ändringar) och efter många timmar är allt installerat och klart. Dock trailversioner. Men gör man det en natt efter 2 veckor eller när trailen är slut, då kan man börja på en ny maskin igen. Jag gillar skarpt detta skript! Ännu bättre blir det nog när man konfigurerar det att fixa en VHD. Kommer mer om det när det är testat!

Länksamling
Film från Channel 9
Ladda ner Scriptet här

Skriptskaparnas bloggar
http://blogs.msdn.com/b/cjohnson/archive/2010/10/28/announcing-sharepoint-easy-setup-for-developers.aspx

http://blogs.msdn.com/b/pstubbs/archive/2010/10/27/sharepoint-2010-easy-setup-script.aspx

Tim Scharinger
2011-05-04

Powershell med tysk precision

Master Powershell ebookDe som har missat Powershell, läser nog andra sorts bloggar än denna. Så rak på sak: det finns en lovande ebook om Powershell, skriven av Tobias Weltner. Ska absolut läsa den. Ni som har läst, vad tycker ni om den?

Master-PowerShell | With Dr. Tobias Weltner i html

Вула Чăвашла

VulaCV - Чăвашла вулаттаракан сайт

Discovering SharePoint

And going crazy doing it

Bram de Jager - Coder, Speaker, Author

Office 365, SharePoint and Azure

SharePoint Dragons

Nikander & Margriet on SharePoint

Cameron Dwyer

Office 365, SharePoint, Azure, OnePlace Solutions & Life's Other Little Wonders

paul.tavares

Me and My doings!

Share SharePoint Points !

By Mohit Vashishtha

Jimmy Janlén "Den Scrummande Konsulten"

Erfarenheter, synpunkter och raljerande om Scrum från Jimmy Janlén

Aryan Nava

DevOps, Cloud and Blockchain Consultant

SPJoel

SharePoint for everyone

SharePointRyan

Ryan Dennis is a SharePoint Solution Architect with a passion for SharePoint and PowerShell

SharePoint 2020

The Vision for a Future of Clarity

Aharoni in Unicode

Treacle tarts for great justice

... And All That JS

JavaScript, Web Apps and SharePoint

blksthl

Mostly what I know about SharePoint - CommunicoCuspis

SharePointDiver

SharePoint på ren svenska