Archiwum dla kategorii ‘Power Shell’
2019-08-19
Chociaz FTP nie jest bezpiecznym protokolem to czasami jeszcze gdzie niegdzie sie stosuje. Tym razem chodzilo o wyslanie plikow z serwera Windowsowego na serwer Linux. Idealnie jesli bedzie to zrobione przez PowerShella wlasnie. Oto najwazniejszy kawalek kodu:
|
$localfile = 'c:/temp/filename.txt' $ftp = "ftp://servername/dir1/dir2/" $user = "username" $pass = "password" $destinationFileName = 'filename.txt' $webclient = New-Object System.Net.WebClient $webclient.Credentials = New-Object System.Net.NetworkCredential($user,$pass) $uri = New-Object System.Uri($ftp+$destinationFileName) $webclient.UploadFile($uri, $localfile) |
Niestety w czasie ladownia pliku pojawial sie blad:
|
The remote server returned an error: (553) File name not allowed. |
2019-03-29
Chcesz wydobyć z daty nazwę dnia tygodnia? No problem! Zobacz następujące propozycje:
|
PS C:\> get-date -format "dddd" piątek PS C:\> get-date | select -expand dayofweek Friday PS C:\> (get-date).DayOfWeek Friday PS C:\> (get-date).ToString("dddd") piątek |
Teraz wynik takiego polecenia wystarczy zapisać do zmiennej i gotowe, np.:
|
$dayOfWeek = (get-date).ToString("dddd") |
2019-03-09
W systemie Windows użytkownicy mogą mieć uprawnienia (do plików, drukarek itp) oraz prawa (do wyłączenia komputera, do zalogowania itp). Tutaj przedstawiam dwie funkcje, które pracują z prawami użytkowników. Pierwsza z nich sprawdza, czy użytkownik ma przyznane prawo, a druga nadaje takie prawo. Filozofia obu funkcji jest podobna. Polecenie secedit służy do wyeksportowania informacji o przyznanych […]
2019-02-28
W skryptach PowerShell można korzystać ze zmiennych lokalnych (widocznych wewnątrz funkcji), zmiennych skryptu (widocznych w skrypcie) i zmiennych globalnych (widoczne wszędzie). Popatrz na taki przykład:
|
function Show-Variable() { echo "Inside the function: $MyVar" $MyVar='BLUE' } $MyVar = 'GREEN' echo "Outside the function: $MyVar" Show-Variable echo "Outside the function: $MyVar" |
Jest tutaj funkcja, która wyświetla wartość zmiennej zdefiniowanej początkowo na poziomie skryptu. Pytanie, czy ta zmienna będzie widoczna dla funkcji i czy rzeczywiście uda się ją zmienić?
2019-02-26
Mamy niby proste polecenie:
|
ls -Recurse C:\Users\admin\Documents\| Select-Object Name,CreationTime | Where-Object -FilterScript {($_.CreationTime -lt (Get-Date).AddDays(-2) -and $_.Extension -eq ".txt")} |
Niestety nic nie jest wyświetlane, a na pewno w tym katalogu są pliki TXT utworzone wcześniej niż 2 dni temu. O co chodzi? ls zwraca obiekty, które mają duuużo właściwości, między innymi Name, CreationTime i Extension Potem te obiekty przechodzą do Select, a select to chirurg, który wyciął wszystko oprócz […]
2019-01-28
Zacznijmy od tego co to jest host. Jeśli administrujesz systemami, to pewnie hostem nazywasz komputer: „pingować hosta”, „logować się do hosta” itp. W przypadku powershella host to nie komputer, tylko program jakim łączysz sie do powrshella. Stąd też np polecenie Get-Host zwraca np wersję programu jakim się łączysz do powershella, a $PSVersionTable zwraca wersję powershella […]
2018-12-19
Popatrz na taki skrypt:
|
function doSomething() { param($times) $i = 0 while ($i -lt $times) { echo "$i" $i++ } } doSomething 3 |
Jeśli go uruchomisz, to wszystko działa jak należy. Funkcja jest wywoływana, polecenie echo wyświetla wyniki. Ale wystarczy drobna zmiana: