Script d'ouverture de session en tant qu'admin

Le Forum Windows Server 2003
Scanner Windows pour détecter les erreurs de registre

Ce que nous vous conseillons :

1. Lisez les réponses ci-dessous où vous trouverez des conseils et de l'aide de la part des autres utilisateurs.

2. Avant de faire des modifications sur votre système ou d'installer des logiciels, nous vous recommandons
    fortement de cliquer ici pour scanner Windows afin de détecter les erreurs de registre.



Messagepar mikl974 » 13 Fév 2006, 13:50

Je voudrais faire un script d'ouverture de session qui modifie le champ "Description de l'ordinateur" par le nom et le prénom de l'utilisateur qui a ouvert sa session. Je recupere le nom et le prenom grace aux champ nom et prenom de l'annuaire Active Directory.

Mon probleme est que pour modifier le champ "Description de l'ordinateur", l'utilisateur qui a ouvert une session doit avoir des droits d'administrateur.

Quels sont les solutions possibles pour pouvoir executer ce script d'ouverture de session pour un utilisateur de base (sans droits)?

Voici la partie du script qui plante

Code: Tout sélectionner
Const wbemFlagReturnImmediately = &h10
Const wbemFlagForwardOnly = &h20

   Set objWMIService = GetObject("winmgmts:\" & ordinateur & "rootCIMV2")
   Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_OperatingSystem", "WQL", _
                                          wbemFlagReturnImmediately + wbemFlagForwardOnly)

    For Each objItem In colItems
    objItem.Description=nom&" "&prenom
     objItem.Put_
     
   Next

ps: la variable ordinateur contient le nom de l'ordinateur, nom -> le nom de l'utilisateur, et prenom -> le prenom de l'utilisateur

L'erreur (Accés refusé) se produit a la ligne "objItem.Put_"

Voila! Si quelqu'un a une idée... :D

Merci d'avance!
mikl974
 

Messagepar davica » 20 Fév 2006, 18:57

salut,

tu as essayer avec la commande runas ?
davica
 

Messagepar JoShuA » 20 Fév 2006, 22:42

De mémoire la commande runas ne permet pas d'automatiser la saisie du mot de passe
Avatar de l’utilisateur
JoShuA
Modérateur
 
Messages: 7246
Inscrit le: 02 Jan 2002, 15:37
Localisation: IdF

Messagepar mikl974 » 21 Fév 2006, 06:38

oui la commande runas ne permet pas de spécifié le mot de passe. On doit le taper lors de l'éxécution du script. De plus pour récupérer le nom d'utilisateur, j'utilise la variable d'environnement %username%, a la commande runas, cette variable contiendra le nom d'utilisateur du runas... Je cherche toujours une solution.....
mikl974
 

Messagepar JoShuA » 21 Fév 2006, 09:51

essaye ceci

Code: Tout sélectionner
'Start of Script
'VBRUNAS.VBS
'v1.2 March 2001
'Jeffery Hicks
'jhicks@quilogy.com http://www.quilogy.com
'USAGE: cscript|wscript VBRUNAS.VBS Username Password Command
'DESC: A RUNAS replacement to take password at a command prompt.
'NOTES: This is meant to be used for local access. If you want to run a command
'across the network as another user, you must add the /NETONLY switch to the RUNAS
'command.

' *********************************************************************************
' * THIS PROGRAM IS OFFERED AS IS AND MAY BE FREELY MODIFIED OR ALTERED AS *
' * NECESSARY TO MEET YOUR NEEDS. THE AUTHOR MAKES NO GUARANTEES OR WARRANTIES, *
' * EXPRESS, IMPLIED OR OF ANY OTHER KIND TO THIS CODE OR ANY USER MODIFICATIONS. *
' * DO NOT USE IN A PRODUCTION ENVIRONMENT UNTIL YOU HAVE TESTED IN A SECURED LAB *
' * ENVIRONMENT. USE AT YOUR OWN RISK. *
' *********************************************************************************

On Error Resume Next
dim WshShell,oArgs,FSO

set oArgs=wscript.Arguments

if InStr(oArgs(0),"?")<>0 then
wscript.echo VBCRLF & "? HELP ?" & VBCRLF
Usage
end if

if oArgs.Count <3 then
wscript.echo VBCRLF & "! Usage Error !" & VBCRLF
Usage
end if

sUser=oArgs(0)
sPass=oArgs(1)&VBCRLF
sCmd=oArgs(2)

set WshShell = CreateObject("WScript.Shell")
set WshEnv = WshShell.Environment("Process")
WinPath = WshEnv("SystemRoot")&"System32runas.exe"
set FSO = CreateObject("Scripting.FileSystemObject")

if FSO.FileExists(winpath) then
'wscript.echo winpath & " " & "verified"
else
wscript.echo "!! ERROR !!" & VBCRLF & "Can't find or verify " & winpath &"." & VBCRLF & "You must be running Windows 2000 for this script to work."
set WshShell=Nothing
set WshEnv=Nothing
set oArgs=Nothing
set FSO=Nothing
wscript.quit
end if

rc=WshShell.Run("runas /user:" & sUser & " " & CHR(34) & sCmd & CHR(34), 2, FALSE)
Wscript.Sleep 30 'need to give time for window to open.
WshShell.AppActivate(WinPath) 'make sure we grab the right window to send password to
WshShell.SendKeys sPass 'send the password to the waiting window.

set WshShell=Nothing
set oArgs=Nothing
set WshEnv=Nothing
set FSO=Nothing

wscript.quit

'************************
'* Usage Subroutine *
'************************
Sub Usage()
On Error Resume Next
msg="Usage: cscript|wscript vbrunas.vbs Username Password Command" & VBCRLF & VBCRLF & "You should use the full path where necessary and put long file names or commands" & VBCRLF & "with parameters in quotes" & VBCRLF & VBCRLF &"For example:" & VBCRLF &" cscript vbrunas.vbs quilogyjhicks luckydog e:scriptsadmin.vbs" & VBCRLF & VBCRLF &" cscript vbrunas.vbs quilogyjhicks luckydog " & CHR(34) &"e:program filesscriptsadmin.vbs 1stParameter 2ndParameter" & CHR(34)& VBCRLF & VBCRLF & VBCLRF & "cscript vbrunas.vbs /?|-? will display this message."

wscript.echo msg

wscript.quit

end sub
'End of Script
Avatar de l’utilisateur
JoShuA
Modérateur
 
Messages: 7246
Inscrit le: 02 Jan 2002, 15:37
Localisation: IdF


Retour vers Windows Server 2003

Qui est en ligne ?

Utilisateurs parcourant actuellement ce forum : Aucun utilisateur inscrit et 2 invités

  •  Liens commerciaux