Supporta il tuo Forum su Patreon!
 
  > Register  
  > Calendar  
  > Members List  
 
  > Supporta il Forum  
  > Today's Posts  
   

Go Back   netgamers.it > Tech & Tech > Developer's Zone

Reply
 
Thread Tools Rate Thread
Old 3rd July 2018, 10:48   #1
Il FaS
65 Kg di cazzimma
 
Il FaS's Avatar
 
Join Date: Nov 2000
Location: Tra 6 Sentieri e 4 Vite
Posts: 40,218
Scriptino in python o in vbs

Salve a tutte,

premettendo che non sono un dev e di scripting ne capisco pochissimo, mi servirebbe un semplice script in python o in vbs che, quando invocato come LOCAL SYSTEM, dia come output l'utente loggato (es: "dominio\user").
Il dominio e' opzionale, va bene anche il nomemacchina oppure anche solo lo username.

Stavo provando con
import getpass
print getpass.getuser()

Ma non va bene.
Funziona se lo invochi con l'utente loggato, ma chiaramente se lo invochi come Local System ti risponde che l'utente e' Local System.

Qualcosa che mi puo' dare una mano?

Grazie
__________________
and i know we can't turn back all the years
time reflected in a shade of gray
but i often wonder what could have been
and i still hold on to yesterday

cit. Adre: Carota appesa a una molla a un soffitto che pigia tasti a caso su una tastiera tedesca
Il FaS is offline   Reply With Quote
Old 3rd July 2018, 11:22   #2
joyrex
2077
 
joyrex's Avatar
 
Join Date: May 2006
Posts: -fe00ff
così?

Code:
import os 

usr = ['{}{}'.format(os.environ['userdomain'], l.split(' ')[0][1:]) for l in os.popen('query user').read().strip().split('\n')[1:]]
print(usr)
(ti restituisce una lista con tutti gli utenti loggati)

edit: ops dimenticavo il dominio
__________________
>>
We are the music makers, And we are the dreamers of dreams,
Wandering by lone sea-breakers, And sitting by desolate streams;—

Last edited by joyrex; 3rd July 2018 at 11:25.
joyrex is offline   Reply With Quote
Old 3rd July 2018, 11:30   #3
Il FaS
65 Kg di cazzimma
 
Il FaS's Avatar
 
Join Date: Nov 2000
Location: Tra 6 Sentieri e 4 Vite
Posts: 40,218
Mica mi funziona, sto testando con python 3.7 32 bit.

Lo import os va, il resto no.

>>> import os
>>>
>>> usr = ['{}{}'.format(os.environ['userdomain'], l.split(' ')[0][1:]) for l in os.popen('query user').read().strip().split('\n')[1:]]
'query' is not recognized as an internal or external command,
operable program or batch file.
>>> print(usr)
[]



Dimenticato un dettaglio, dovrebbe girare su Win10.
__________________
and i know we can't turn back all the years
time reflected in a shade of gray
but i often wonder what could have been
and i still hold on to yesterday

cit. Adre: Carota appesa a una molla a un soffitto che pigia tasti a caso su una tastiera tedesca

Last edited by Il FaS; 3rd July 2018 at 11:35.
Il FaS is offline   Reply With Quote
Old 3rd July 2018, 11:33   #4
joyrex
2077
 
joyrex's Avatar
 
Join Date: May 2006
Posts: -fe00ff
prova a metterlo in un file ed eseguirlo con python file.py

pare non ti stia trovando il comando "query" che è ciò che ho usato per tirare fuori gli utenti loggati, che versione di windows hai?
__________________
>>
We are the music makers, And we are the dreamers of dreams,
Wandering by lone sea-breakers, And sitting by desolate streams;—
joyrex is offline   Reply With Quote
Old 3rd July 2018, 11:45   #5
Il FaS
65 Kg di cazzimma
 
Il FaS's Avatar
 
Join Date: Nov 2000
Location: Tra 6 Sentieri e 4 Vite
Posts: 40,218
Windows10

Anche python file.py da lo stesso errore:

C:\Users\apadovani\AppData\Local\Programs\Python\P ython37-32>python.exe asd.py
'query' is not recognized as an internal or external command,
operable program or batch file.
[]
__________________
and i know we can't turn back all the years
time reflected in a shade of gray
but i often wonder what could have been
and i still hold on to yesterday

cit. Adre: Carota appesa a una molla a un soffitto che pigia tasti a caso su una tastiera tedesca
Il FaS is offline   Reply With Quote
Old 3rd July 2018, 11:50   #6
joyrex
2077
 
joyrex's Avatar
 
Join Date: May 2006
Posts: -fe00ff
prova dal cmd dentro windows/system32
__________________
>>
We are the music makers, And we are the dreamers of dreams,
Wandering by lone sea-breakers, And sitting by desolate streams;—
joyrex is offline   Reply With Quote
Old 3rd July 2018, 12:12   #7
Il FaS
65 Kg di cazzimma
 
Il FaS's Avatar
 
Join Date: Nov 2000
Location: Tra 6 Sentieri e 4 Vite
Posts: 40,218
Mica lo tengo il python dentro system32
__________________
and i know we can't turn back all the years
time reflected in a shade of gray
but i often wonder what could have been
and i still hold on to yesterday

cit. Adre: Carota appesa a una molla a un soffitto che pigia tasti a caso su una tastiera tedesca
Il FaS is offline   Reply With Quote
Old 3rd July 2018, 12:16   #8
joyrex
2077
 
joyrex's Avatar
 
Join Date: May 2006
Posts: -fe00ff
non fa niente, python l'importante è che sia dentro una directory che sta in PATH, ti ho detto di usare cmd dentro system32 solo perché quella versione cmd ha il comando query che tira fuori gli utenti loggati

il concetto è che con getpass.getuser() non tirerai mai fuori nulla se non lanciando dall'utente loggato, devi usare qualcosa di global tipo appunto query
__________________
>>
We are the music makers, And we are the dreamers of dreams,
Wandering by lone sea-breakers, And sitting by desolate streams;—
joyrex is offline   Reply With Quote
Old 3rd July 2018, 13:20   #9
Il FaS
65 Kg di cazzimma
 
Il FaS's Avatar
 
Join Date: Nov 2000
Location: Tra 6 Sentieri e 4 Vite
Posts: 40,218
Questo lo immaginavo, ma purtroppo a parte speculare non riesco a fare altro, non essendo un developer faccio fatica :/

Da solo in cmd, in powershell o in python sono riuscito ad avere l'utente, ma solo se invoco lo script con l'utente stesso.

Il problema che non riesco a risolvere e' tirare fuori l'utente invocando lo script come Local System, che e' condizione per me obbligatoria, perche' questo script verra' invocato da un applicativo che appunto logga come local system.
__________________
and i know we can't turn back all the years
time reflected in a shade of gray
but i often wonder what could have been
and i still hold on to yesterday

cit. Adre: Carota appesa a una molla a un soffitto che pigia tasti a caso su una tastiera tedesca
Il FaS is offline   Reply With Quote
Old 3rd July 2018, 13:26   #10
Inox
F=m*a wins alone.
 
Inox's Avatar
 
Join Date: Jan 2009
Location: Vicenza
Posts: 14,617
Code:
Private Sub Workbook_Open()

    Dim ObjWshNw As Object
    Set ObjWshNw = CreateObject("WScript.Network")
    'All'apertura del workbook scrive l'username attivo al momento
    Worksheets("Integration").Range("AC3").Value = ObjWshNw.UserName

End Sub

per l'username in caso ti servisse su excel
__________________
Engineering & VolleyBall
Violence!, Speed!, Momentum! (cit.)
Inox is online now   Reply With Quote
Old 3rd July 2018, 17:03   #11
joyrex
2077
 
joyrex's Avatar
 
Join Date: May 2006
Posts: -fe00ff
Quote:
Originally Posted by Il FaS View Post
Questo lo immaginavo, ma purtroppo a parte speculare non riesco a fare altro, non essendo un developer faccio fatica :/

Da solo in cmd, in powershell o in python sono riuscito ad avere l'utente, ma solo se invoco lo script con l'utente stesso.

Il problema che non riesco a risolvere e' tirare fuori l'utente invocando lo script come Local System, che e' condizione per me obbligatoria, perche' questo script verra' invocato da un applicativo che appunto logga come local system.
lo script che ti ho dato sopra ti tira fuori l'utente anche se ad eseguirlo è local system (ho provato lanciando un terminale come local system e lanciandolo)

ovviamente poi è difficile capire nel dettaglio non sapendo qual è l'ambiente in cui viene eseguito (ovvero se nell'env dell'applicativo esiste il comando query o meno)




comunque probabilmente ci sarà un modo più intelligente di farlo, è che di windows non capisco assolutamente nulla quindi il mio apporto si ferma qui, sorry
__________________
>>
We are the music makers, And we are the dreamers of dreams,
Wandering by lone sea-breakers, And sitting by desolate streams;—

Last edited by joyrex; 3rd July 2018 at 17:04.
joyrex is offline   Reply With Quote
Old 3rd July 2018, 22:28   #12
Il FaS
65 Kg di cazzimma
 
Il FaS's Avatar
 
Join Date: Nov 2000
Location: Tra 6 Sentieri e 4 Vite
Posts: 40,218
Ma figurati, ci mancherebbe che ti devi pure scusare, ti ringrazio del tentativo e del tempo che ci hai dedicato
__________________
and i know we can't turn back all the years
time reflected in a shade of gray
but i often wonder what could have been
and i still hold on to yesterday

cit. Adre: Carota appesa a una molla a un soffitto che pigia tasti a caso su una tastiera tedesca
Il FaS is offline   Reply With Quote
Old 4th July 2018, 12:56   #13
Kaldais
pew pew!
 
Kaldais's Avatar
 
Join Date: Apr 2002
Posts: 17,973
Windows 10 quindi puoi usare PowerShell, dovrebbe bastare un
Code:
Get-WMIObject -class Win32_ComputerSystem | select username
prova un po'
__________________
e mi chiamerò Teresa / scenderò a far la spesa / me facce crescere ‘e capille e me metto ‘e tacchi a spillo / inviterò gli amici a casa a passare una giornata / senza avere la paura che ci sia una chiamata / e uscire poi per strada e gridare so' normale / e nisciuno me dice niente, nemmeno la stradale
Kaldais is offline   Reply With Quote
Old 4th July 2018, 13:56   #14
Gano
Premium Netgamers
 
Join Date: Sep 2000
Location: Pisa
Posts: 378
Che scarso il Fas...
__________________
Gano
Gano is offline   Reply With Quote
Old 5th July 2018, 12:11   #15
Il FaS
65 Kg di cazzimma
 
Il FaS's Avatar
 
Join Date: Nov 2000
Location: Tra 6 Sentieri e 4 Vite
Posts: 40,218
Quote:
Originally Posted by Gano View Post
Che scarso il Fas...

Dammi un tcpdump e con Wireshark ti troubleshooto tutto il gesucristo, ma di scripting non ne capisco una minchia bollita.

Quote:
Originally Posted by Kaldais View Post
Windows 10 quindi puoi usare PowerShell, dovrebbe bastare un
Code:
Get-WMIObject -class Win32_ComputerSystem | select username
prova un po'
Non funziona.
Nel senso che funziona se apro powershell con l'utente, non funziona se apro powershell come Local System (psexec -s -i powershell con i SysInternals)
__________________
and i know we can't turn back all the years
time reflected in a shade of gray
but i often wonder what could have been
and i still hold on to yesterday

cit. Adre: Carota appesa a una molla a un soffitto che pigia tasti a caso su una tastiera tedesca
Il FaS is offline   Reply With Quote
Reply

Thread Tools
Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 09:59.



Copyright 2017-2024 by netgamers.it