[WMI] Script uitvoeren op Remote PC kan netwerk niet bereike

Pagina: 1
Acties:
  • 681 views sinds 30-01-2008
  • Reageer

  • Roel Broersma
  • Registratie: Maart 2000
  • Laatst online: 27-01 21:01
Ik probeer met een WMI/VBscript een proces op een andere PC te starten. Op zich werkt dat.
(bijvoorbeeld remote het defrag.exe proces uitvoeren).

Wanneer ik echter een (remote) proces uitvoer dat netwerk bronnen nodig heeft dan krijg ik een "access denied".
Voorbeeld: Ik probeer remote DriveImageXML (een backup tool) te starten die een backup maakt naar een netwerk share.

Een voorbeeld script om een remote process uit te voeren:
(bron: http://www.microsoft.com/.../qanda/dec06/hey1208.mspx)
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
strComputer = "."

Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2:Win32_Process")
objWMIService.Create "notepad.exe", null, null, intProcessID

Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

Set colMonitoredProcesses = objWMIService.ExecNotificationQuery _
    ("Select * From __InstanceDeletionEvent Within 1 Where TargetInstance ISA 'Win32_Process'")

Do Until i = 1
    Set objLatestProcess = colMonitoredProcesses.NextEvent
    If objLatestProcess.TargetInstance.ProcessID = intProcessID Then
        i = 1
    End If
Loop

Wscript.Echo "Notepad has been terminated."


of kijk voor meer examples op: http://www.computerperfor...ipt/wmi_process_start.htm


- Al een paar dagen ben ik aan het Google'n en proberen..
- Alle impersonate varianten heb ik gehad,
- Ik heb in de Local Security Policy van de Remote machine de "Impersonate a client after authentication" zelfs op "Everyone" gezet (om te testen) en ge-reboot.
- Ik hem in de wmimgmt.msc de security van de /root/cimv2 gechecked en hier zelfs de everyone FULL op gegeven.

Het lijkt met niet echt een WMI probleem maar meer een probleem dat mijn script inlogt op de Remote machine en vervolgens "Network Service" rechten krijgt. Dit account heeft volgens mij nooit rechten om iets op het netwerk te doen.

PS/Voorbeeld: Alle computers staan in een domein. Ik voer het script uit vanaf PC1 (onder domein\administrator) op PC2. Het script probeert bijv. een netwerkbron van NAS1 aan te roepen.

...don't know what should be here...


  • Brahiewahiewa
  • Registratie: Oktober 2001
  • Laatst online: 30-09-2022

Brahiewahiewa

boelkloedig

QnJhaGlld2FoaWV3YQ==


  • Jake Bullet
  • Registratie: Januari 2002
  • Laatst online: 27-01 11:22

Jake Bullet

Wise Scripter

Jet moet nog expliciet toegang vragen voor je share, wat bv kan middels een batchfile.
Maak op de remote machine een batchfile met de volgende inhoud en start deze met je wmiscript.

@echo off
net use x: \\server\share /user:domein/userx password
DriveImageXML

'end batchfile
Nu zou DriveImageXML er wel bij moeten kunnen.

Bovenstaande batchfile kan je natuurlijk genereren vanuit je wmiscript en na gebruik weggooien vanwege het password, 't is maar een voorbeeldje.

  • Roel Broersma
  • Registratie: Maart 2000
  • Laatst online: 27-01 21:01
Jake Bullet schreef op donderdag 27 december 2007 @ 13:16:
Jet moet nog expliciet toegang vragen voor je share, wat bv kan middels een batchfile.
Maak op de remote machine een batchfile met de volgende inhoud en start deze met je wmiscript.

@echo off
net use x: \\server\share /user:domein/userx password
DriveImageXML

'end batchfile
Nu zou DriveImageXML er wel bij moeten kunnen.

Bovenstaande batchfile kan je natuurlijk genereren vanuit je wmiscript en na gebruik weggooien vanwege het password, 't is maar een voorbeeldje.
Ik benader een share, geen Mapped-Drive. Anders zou ik inderdaad de mapped-drive opnieuw moeten aanmaken omdat een mapped-drive een PER-USER setting is en geen machine setting.

Maar ik gebruik dus een Share zoals: \\computernaam\share, dan heeft dit toch geen betrekking op mij ?

...don't know what should be here...


  • Brahiewahiewa
  • Registratie: Oktober 2001
  • Laatst online: 30-09-2022

Brahiewahiewa

boelkloedig

Jawel, even een IPC$ connectie maken:
net use \\server /u:domain\user password

QnJhaGlld2FoaWV3YQ==


  • Qman
  • Registratie: November 2000
  • Laatst online: 31-07-2021

Qman

Tha Lup

Helaas wel! Zoals je zelf al concludeert, het NetworkService account heeft geen rechten op de remote share, dus je zal ervoor moeten zorgen dat je in je script environment die rechten te pakken krijgt... kan op een hele hoop manieren, maar verreweg de makkelijkste is het voorbeeld dat Jake al gaf middels een mapping.

  • Roel Broersma
  • Registratie: Maart 2000
  • Laatst online: 27-01 21:01
Ik ga het nu inderdaad maar als volgt doen (met WMI op een remote PC)

1) Map network drive
2) Run a process which accesses the network drive
2) Disconnect network drive

Met WMI zelf kun je inderdaad geen network drive mappen (hooguit enumerate'n):

While both WSH and WMI let you enumerate mapped network drives (WMI by using the Win32_MappedLogicalDisk class), only WSH enables you to create and delete drive mappings.

(bron: http://www.microsoft.com/...as_wsh_peht.mspx?mfr=true )


Wel blijf ik het raar vinden dat (ook al werkt WMI zelf onder het Network Service account) hij geen credentials overneemt van de user die het aanspreekt (ik doel daarmee op de optie: "Impersonate a client after authentication" in de Administrative Tools -> Local Security Policy )

...don't know what should be here...


  • Brahiewahiewa
  • Registratie: Oktober 2001
  • Laatst online: 30-09-2022

Brahiewahiewa

boelkloedig

http://msdn2.microsoft.co...rary/aa389290(VS.85).aspx legt uit hoe je kunt impersonaten

http://msdn2.microsoft.co...rary/aa389769(VS.85).aspx legt uit wat je kunt qua remote processes

QnJhaGlld2FoaWV3YQ==

Pagina: 1