Powershell > WinRM > Távoli Powershell Win7-ről Win2k3-ra OpenVPN-en keresztül csökkentett jogú felhasználóval

Feladat:

A távoli gépre bejelentkezés Powershell-lel, OpenVPN-en keresztül, csökkentett jogú felhasználóként.

Megoldás:

Először szerver oldalon elindítottam a winrm szervert, hogy a megfelelő porton hallgasson:

W2k3 PS > Enable-PSRemoting

Kliens oldalon a megbízható helyek közé felvettem a win2k3-at.

Win7 $ winrm set winrm/config/client @{TrustedHosts="10.0.20.13"}

[code]
Client
NetworkDelayms = 5000
URLPrefix = wsman
AllowUnencrypted = false
Auth
Basic = true
Digest = true
Kerberos = true
Negotiate = true
Certificate = true
CredSSP = false
DefaultPorts
HTTP = 5985
HTTPS = 5986
TrustedHosts = 10.0.20.13

[/code]

Mivel OpenVPN-n keresztül megy a kapcsolat, így felesleges a titkosítás.

Win7 $ winrm set winrm/config/client @{AllowUnencrypted = "true"}

Szerver oldalon viszont megengedtem, hogy bármilyen kliens csatlakozzon:

W2k3 $ winrm set winrm/config/client @{TrustedHosts="*"}

Win7 $ winrm id -remote:10.0.20.13

Error....

A teszt természetesen nem sikerült, mint kiderült (vagy valami földöntúli erő) a tűzfal akadályozott. Tehát azt kikapcsoltam.

Win7 PS > Enter-PSSession 10.0.20.13 -cre Administrator

Szerettem volna a csököttjogú foofighter felhasználót is beengedni powershellel, de az alapból nem ment. Így utána kellett néznem, hogy is kell ezt beállítani. A [3]-es linken találtam egy remek help parancsot, ami segített:

Win7 PS > Get-Help about_remote_troubleshooting | more



  HOW TO ENABLE REMOTING FOR NON-ADMINISTRATIVE USERS
  ---------------------------------------------------
      ERROR:  ACCESS IS DENIED

  To establish a PSSession or run a command on a remote computer, the user
  must have permission to use the session configurations on the remote
  computer.

  By default, only members of the Administrators group on a computer have
  permission to use the default session configurations. Therefore, only
  members of the Administrators group can connect to the computer remotely.

  To allow other users to connect to the local computer, give the user
  Execute permissions to the default session configurations on the local
  computer.

  The following command opens a property sheet that lets you change the
  security descriptor of the default Microsoft.PowerShell session
  configuration on the local computer.

      Set-PSSessionConfiguration Microsoft.Powershell -ShowSecurityDescriptorUI

  For more information, see about_Session_Configurations.

W2k3 PS > Set-PSSessionConfiguration Microsoft.Powershell -ShowSecurityDescriptorUI

kiírt pár dolgot, de nem jelent meg a felhasználói felület.

1.1-es powershellben futtattam, gondolom ez volt a probléma, mert a Win7-es 2-es powershellben hiba nélkül futott ez a parancs.

Nekiálltam felrakni az x64-es w2k3-nak való powershell 2-t(WindowsServer2003-KB968930-x64-ENG.exe). Igen ám, de hiányolta a dotNET 2-t. A W2k3-on telepítve volt a dotNET 2 keretrendszer SP2-vel. Ezt leszedtem és felraktam az eredeti dotNET2(NetFx64.exe) rendszert. Így sikerült is felrakni a powershell 2-t, csak az EnterPSSession olyan hibát dobott, amit a google se ismert. Így ráhúztam az SP2-t(NetFx20SP2_x64.exe) és minden el kezdett hirtelen működni.

W2k3 PS > Set-PSSessionConfiguration Microsoft.Powershell -ShowSecurityDescriptorUI

Beállítottam, hogy a foofighter-nak legyen Execute joga. És így már ment a távoli Powershell csököttjogú felhasználóval is.

Tehát:
Win7 PS C:\Users\foofighter> Enter-PSSession 10.0.20.13 -cre foofighter
[10.0.20.13]: PS C:\Documents and Settings\foofighter\My Documents>

Sikeres bejelentkezés.

Érdekesség:

Win7-en:

PS C:\Users\foofighter> $host.version

Major  Minor  Build  Revision
-----  -----  -----  --------
2      0      -1     -1

Enter-PSSession-ben:

[10.0.20.13]: PS H:\home> $host.version

Major  Minor  Build  Revision
-----  -----  -----  --------
1      0      0      0

Távoli asztalon kiadva:


PS C:\Documents and Settings\Administrator> $host.version

Major  Minor  Build  Revision
-----  -----  -----  --------
2      0      -1     -1

Segítségek:
[1] How to Setup PowerShell Remote, http://www.computerperformance.co.uk/powershell/powershell_remote.htm
[2] WinRM teszt két Vista között, http://blog.inf.mit.bme.hu/?p=63
[3] PowerShell remoting between two workgroup machines, http://blogs.msdn.com/b/wmi/archive/2009/07/24/powershell-remoting-betw…

Köszönet:

A hálózati infrastruktúrát hrgy84 biztosította.

Hozzászólások

Valahova az elso kod ele tegyel egy torest, a blog indexnel pont elcseszi a kodot.
--


Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant.