Strony

sobota, 28 sierpnia 2021

PowerShell: wyświetlane 30 ostatnio zapisanych/ zmodyfikowanych plików w folderze i podfolderach

Przykładowa sytuacja.

Na Pulpicie macie dużo folderów w których jest dużo plików. Zapiszecie coś w którymś z tych podfolderów. Nie pamiętacie nazwy, ani folderu w którym plik został umieszczony. 

Wtedy nerwowość szukania zapisanego dokumentu staje odwrotnie proporcjonalnie do pozostałego czasu, czyli im mniej czasu, tym większe zdenerwowanie ;)

W takich sytuacjach może się przydać poniższy "jednolinijkowiec".

Get-ChildItem -Recurse -File | Select-Object -Property FullName, LastWriteTime | Sort-Object LastWriteTime -Descending | Select-Object -First 30

Jeżeli więc chcecie wyświetlić 30 ostatnio zapisanych / zmodyfikowanych plików na Pulpicie i jego podfolderach należy odpalić PowerShella, przejść na Pulpit i wkleić powyższy kod. 

Oczywiście zamiast przechodzenia do folderu i uruchamiania kodu, ścieżkę do przeszukania można podać poprzez parametr -Path dla polecenia Get-ChildItem. Również do tego polecenia można dodać parametr -Hidden, który spowoduje wyświetlanie także ukrytych plików.

Kod uzupełniony o te dwa parametry będzie miał zatem postać:

Get-ChildItem -Path "ścieżka_do_przeszukania" -Recurse -File -Hidden| Select-Object -Property FullName, LastWriteTime | Sort-Object LastWriteTime -Descending | Select-Object -First 30

Całkiem przydatna rzecz, zwłaszcza jeśli do przeanalizowania są dziesiątki folderów z tysiącami plików. 

czwartek, 19 sierpnia 2021

Włączenie na maszynie zdalnej Pulpitu Zdalnego za pomocą PowerShella

Jak włączyć Pulpit Zdalny na maszynie do której nie macie fizycznego dostępu, a jedynie poprzez PowerShella? 

Otóż w sposób jak poniżej (działa na Windows 10).

  • Nawiązanie zdalnego połączenia do komputera, na którym ma zostać uruchomiona opcja dostępu przez Pulpit Zdalny
    Enter-PSSession -ComputerName "nazwa_komputera" -Credential (Get-Credential)
  • Dodanie wpisu w rejestrze zezwalającego na dostęp za pośrednictwem Pulpitu Zdalnego
    Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server' -name "fDenyTSConnections" -value 0
  • Opcjonalnie. Jeżeli dostęp przez Pulpit Zdalny nie działa to prawdopodobnie należy puścić ruch przez firewalla:
    Enable-NetFirewallRule -DisplayGroup "*Pulpit zdalny*"
No i to w zasadzie tyle. Raptem trzy kroki, a ile radości :D