Skrypty – przydatne i użyteczne.

Nie lubię takich skryptowych języków ale takie języki często się wykorzystuje w jakiś większych narzędziach typu TeamCity. Najczęściej potrzebujemy jakiś konkretnych rzeczy aby te skrypty zrobiły i czasem szkoda czasu się uczyć wszystkiego tylko skorzystać z gotowego. Poniżej lista potrzebnych mi skryptów, które zostały przesterowane z uwagami, które miałem (teraz jest jeden ale będę to rozszerzał)

Edycja 1 stycznia 2021

Okazało się, że jednak tych skryptów już mam więcej i nie tylko do Powershell-a. Postanowiłem zmienić wpis na ogólny dotyczący skryptów i trzymać tutaj wszystkie, które są użyteczne i chce je zapamiętać.

Skrypt do zamiany zawartości pliku (jednolinijkowy)

((Get-Content -path d:\app.config -Raw) -replace 'poprzednia_wartosc','następna_wartość') | Set-Content -Path d:\app.config

Skrypt zamienia w pliku d:\app.config wszystkie wartości poprzednia_wartosc na następna_wartość. Jest jednolinijkowy więc da się go wcisnąć praktycznie wszędzie.

Skrypt do wywoływania API

Szczegóły są tutaj: https://blogprogramisty.net/powershell-i-wywolania-api/

Skrypt do usunięcia wszystkich połączeń do bazy danych PostgreSQL (jednolinijkowy)

psql -U postgres -c "do $$ DECLARE   r pg_stat_activity%rowtype;						begin   IF (   SELECT exists(SELECT datname FROM pg_catalog.pg_database WHERE lower(datname) = lower('nazwa_bazy_danych'))) THEN  REVOKE CONNECT ON DATABASE nazwa_bazy_danych FROM public;  FOR r IN SELECT  * FROM pg_stat_activity WHERE pg_stat_activity.datname = 'nazwa_bazy_danych'    LOOP 	PERFORM pg_terminate_backend(r.pid);    END LOOP;END IF;end $$"

Działa cały czas i się sprawdzą. Jedna linijka skryptu i możemy mieć pewność, że baza danych się po wykonaniu tego polecenia usunie się na pewno.

Skrypt WAIT w bash windows

Najprostszy sposób na zrobienie czekania w linii poleceń w Windows.

ping -n 120 127.0.0.1 > nul

120 to ilość sekund – można dość dowolnie to edytować. Czyli ten skrypt wykonuje się dokładnie 2 minuty potem się zakończy.

Zatrzymanie i uruchomianie puli w IIS-sie

%windir%\system32\inetsrv\appcmd stop apppool "nazwa_puli"
%windir%\system32\inetsrv\appcmd start apppool "nazwa_puli"

Zatrzymanie i uruchomianie aplikacji w IIS-sie

%windir%\system32\inetsrv\appcmd stop site "nazwa_aplikacji"
%windir%\system32\inetsrv\appcmd start site "nazwa_aplikacji"

Kasowanie WSZYSTKICH plików i WSZYSTKICH folderów i pod folderów i ich plików w PowerShell

Remove-Item d:\temp2\* -Recurse -Force