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