Monthly Archives: Styczeń 2016

PowerShell remoting

Wymagania dot.  zdalnego połączenia przez PS:

  1. Otwarte porty: WSMan: 5985. Jeżeli połączenie ma się odbywać przez SSL, otwarty również port 5986;
  2. Sieć nie publiczna: Prywatna lub Firmowa;
  3. Uruchomiona usługę WinRM, skonfigurować uruchamianie w auto starcie;
  4. Utworzony Listenera dla adresu IP lub nazwy komputera.

Uruchomienie PS Remoting na komputerach pracujących w domenie:

  1. Konfiguracja auto startu usługi:
    Computer Configurations / Windows Settings / Security Settings / System Services / Windows Remote Management (WS-Management),
  2. Konfiguracja Listenera:
    Computer Configurations / Administrative Templates / Windows Components / Windows Remote Managament (WinRM) / WinRM Service / Allow remote server management through WinRM
    Opcja skonfigurowana na Enable, w miejscu IPv4 filter gwiazdka (*)
  3. Konfiguracja zapory sieciowej:
    Computer Configurations / Windows Settings / Security Settings / Windows Defender Firewall with Advanced Security / Inbound Rules – Wybrać usługę Windows Remote Management (HTTP-In)

Zamiast klikologii można posłużyć się komendami Powershell. Na maszynie, do której mamy się łączyć należy otworzyć PS z podwyższonymi uprawnieniami i wydać następujące komendy:

$Interface_Index = Get-NetConnectionProfile | Select -ExpandProperty InterfaceIndex
Set-NetConnectionProfile -InterfaceIndex $Interface_Index -NetworkCategory Private
Enable-PSRemoting -Force
Restart-Service WinRM

Dodatkowo na komputerze z którego mamy się łączyć do innych maszyn należy uruchomić PS z podwyższonymi uprawnieniami i wydać następującą komendę:

Set-Item wsman:\localhost\client\trustedhosts *

Samo połączenie do zdalnego komputera odbywa się poprzez wydanie polecania:

Enter-PSSession -ComputerName 192.168.5.7 -Credential admin

Możliwe jest wykonanie skryptu lub komendy na wielu komputerach naraz poprzez polecenie:

Invoke-Command -ComputerName 192.168.5.7, 192.168.5.8 -ScriptBlock { Get-ChildItem C:\ } -credential admin_account_name

lub uruchomić skrypt PowerShell:

Invoke-Command -ComputerName 192.168.5.7, 192.168.5.8 -FilePath C:\skrypty\tajemniczy_skrypt.ps1

Źródła:
http://powershell.org/wp/2012/08/06/ebook-secrets-of-powershell-remoting/
http://blogs.technet.com/b/heyscriptingguy/archive/2013/11/29/remoting-week-non-domain-remoting.aspx

Udostępnianie plików w systemie Windows. Nadawanie uprawnień do zasobów sieciowych

Uprawnienia udostępnianych folderów sieciowych mogą być nadawane na poziomie systemu plików NTFS oraz samego folderu. Poniżej przedstawione są najważniejsze cechy tych rozwiązań oraz przykłady. Dobrą praktyką jest nadawanie uprawnień wyłącznie na poziomie NTFS.

 

Uprawnienia NTFS:
– uprawnienia mogą być nadane plikom i folderom,
– uprawnienia mogą być przyznane użytkownikom i grupom,
– uprawnienia są kumulowane, wygrywa uprawnienie mniej restrykcyjne,
– uprawnienie „odmów” zawsze nadpisuje „zezwalaj”

 

Uprawnienia folderów udostępnianych:
– uprawnienia są nadawane tylko folderom udostępnianym,
– uprawnienia są kumulowane, wygrywa uprawnienie mniej restrykcyjne,
– uprawnienie „odmów” zawsze nadpisuje „zezwalaj”

 

Kumulacja uprawnień NTFS i folderów udostępnianych:
– uprawnienia są kumulowane, nadpisuje („wygrywa”) uprawnienie bardziej restrykcyjne

 

Przykłady:

  1. Użytkownik na poziomie NTFS ma uprawnienie „Odczyt” a na poziomie folderu udostępnionego „Pełna kontrola”. Wynikowym uprawnieniem jest zatem „Pełna kontrola”.
  2. Użytkownik na poziomie NTFS ma uprawnienie „Modyfikacja” a na poziomie folderu udostępnionego „Odczyt”. Wynikowym uprawnieniem jest zatem „Odczyt”.
  3. Użytkownik na poziomie NTFS ma uprawnienie „Odczyt” oraz „Pełna kontrola” a na poziomie folderu udostępnionego „Modyfikacja”. Wynikowym uprawnieniem jest zatem „Modyfikacja” (mniej restrykcyjnym uprawnieniem NTFS jest „Pełna kontrola” – nie „Odczyt”, natomiast folder udostępniony ma uprawnienie „Modyfikacja” dlatego uprawnieniem wynikowym jest „Modyfikacja” – uprawnienie bardziej restrykcyjne).