Pokazywanie postów oznaczonych etykietą powershell. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą powershell. Pokaż wszystkie posty

sobota, 3 stycznia 2015

Chocolatey , czyli.. taki windowsowy 'apt-get' ;-)

Chocolatey to jest manager pakietów, podobny do NuGet'a, ale operujący z poziomu systemu operacyjnego, czyli... taki windowsowy odpowiednik apt-get znanego z syst. Debian/Ubuntu.

Jego instalacja jest banalnie prosta, ponieważ wystarczy za pomocą wiersza poleceń uruchomić skryp powershela:


@powershell -NoProfile -ExecutionPolicy unrestricted -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin

Teraz, posiadając zainstalowane chocolatey, możemy instalować pakiety, korzystając z jego pomocy np., aplikację o nazwie 'vlc' instalujemy wpisując w linii komand:
cinst vlc
Proste i przyjemne? Jak najbardziej, szczególnie, że samo sobie pociągnie wszelkie "zależności", czyli... jeżeli będzie potrzebować dodatkowej biblioteki, to spróbuje ją pobrać (podobnie jak NuGet).

Jedyne na co trzeba uważać, to czy podczas instalacji Chcolatey skorzystało z odpowiedniej zmiennej PATH (patrz kod instalacji), ale gdyby z jakiegoś powodu ta zmienna się nie dopisała, to warto ją ustawić ręcznie.

Linki:
Fajny art. z pcworld.com jak korzytać z chocolatey
Oficjalna strona projektu
Link do githuba

edit:
Windows 10 będzie posiadał swój własny "menager pakietów" o nazwie "OneGet"

czwartek, 14 marca 2013

Powershell a sharepoint

System Windows, podobnie jak system Linux posiada własny odpowiednik konsoli (terminala) administratora, w którym można uruchamiać polecenia oraz skrypty, za pomocą których administrator posiada pełną władzę nad systemem. W systemie Windows, interpreter poleceń wykorzystywany przez konsolę, oraz powiązany z nim język nazywa się Windows_PowerShell.

W teorii "Powershell" zapewnia administratorowi wszystkie dostępne opcje administracyjne, które może on wykonać zarówno z poziomu linii komend, jak i poprzez przygotowane wcześniej skrypty. Pełny i praktyczny poradnik, od czego warto zacząć podczas nauki obsługi "Powershella", można znaleźć jako odpowiedź na jedno z pytań, zamieszczonych na forum stackoverflow.com.

Podczas pisania skryptów, dobrze jest mieć "kolorowanie składni", co zapewni nam Powergui.

Skoro już mamy za sobą wstęp teoretyczny, narzędzie do kolorowania składni (aczkolwiek same skrypty zawsze możemy pisać w notatniku), oraz info, gdzie możemy zdobyć więcej praktycznych informacji o samym PowerShellu możemy przejść do analizowania interesującego nas zagadnienia czyli modyfikacja witryny sharepoint za pomocą skryptu powershell.
Utwórzmy wiec skrypt, który będzie pobierał 3 parametry (adres witryny, nazwę tabeli, nazwę pola), a nast. zmieńmy jedno z jego właściwości, np. wymagalność tego pola.

param
(
      [string] $portalURL = $(Throw "Missing 'portalURL' parameter"), #required parameter
      [string] $listName = $(Throw "Missing 'listName' parameter"), #required parameter
      [string] $fieldName = $(Throw "Missing 'fieldName' parameter") #required parameter
)

#komentarze pisze się z haszem na początku

$web = Get-SPWeb $portalURL;
$list = $web.Lists[$listName];
$field = $list.Fields.GetFieldByInternalName($fieldName);
[bool]$fvalue = $field.Required;

if ($fvalue) {
      $field.Required = 0;
      $field.Update();
      $list.Update();
} else {
      $field.Required = 1;
      $field.Update();
      $list.Update();
}
$web.Dispose();
 Jak widać, skrypt jest bardzo prosty. Na samym początku podajemy parametry, wykorzystywane przez skrypt  oraz określamy ich typ (sekcja 'param'). Nast. pobieramy SpWeba, listę SpList i pole SpField, po czym sprawdzamy jego wartość, a nast. zmieniamy jego wartości i wykonujemy update. Na sam koniec pobranego SPWeb'a musimy disposować. Dla programisty sharepoint ten kod wyda się dziwnie znajomy (tylko delikatnie nieco inna składnia).
To co jest WAŻNE, to aby zapisać skrypt w pliku tekstowym z rozszerzeniem *.ps1.

Wywołanie tego kodu, nast. poprzez: "Start->Microsoft Sharepoint 2010 Products -> Sharepoint 2010 Managment Shell"






A nast. w konsoli odpalamy utworzony przez nas skrypt wg. schematu: .\nazwaSkryptu.ps1 -parametrNr1 "ParametrNr1" -ParametrNr2 "ParametrNr2 -ParametrNr3 "ParametrNr3"

W przypadku większej ilości parametrów, zamiast podawać wszystkie parametry z konsoli, lepiej jest utworzyć osobny plik .csv z parametrami i umieścić go w tym samym katalogu co skrypt, a nast. wczytać jego zawartość wewnątrz skryptu.

P.S. Inny, bardziej zaawansowany przykład wykorzystujący power shell w kontekście sharepointa.