Gå til innhold

Kjøre script med adminrettigheter under oppstart


ilpostino

Anbefalte innlegg

Videoannonse
Annonse

står litt i stampe egentlig og skjønne rikke helt hvorfor. Dette fungerer på en maskin (hvor jeg fra før av har admin-rettigheter) men ikke på en annen maskin hvor brukerkontoen er av typen "standardbruker". denne koden skal jo logge seg på admin-kontoen for å endre stasjonsbokstaven.

 

Her er koden til et vbs-script som starter et program:

Option explicit
dim oShell
set oShell= Wscript.CreateObject("WScript.Shell")
oShell.Run "runas /user:Administrator ""change_drive_letter.exe"""
WScript.Sleep 100
'Replace the string yourpassword~ below with
'the password used on your system. Include tilde 
oShell.Sendkeys "passord~"
Wscript.Quit

 

her er et vbs-script jeg gravd frem som skal gjøre nytten. for at det skal kunne bli startet av runas-kommandoen i scriptet over har jeg konvertert det til .exe ved hjelp av AutoIt v3.

Option Explicit

dim objShell, objFs, objDriveCollection, wshSysEnv, strTemp, strSystemRoot, intDriveLetter
Dim objDrive, objFile, strDriveType, strCMD, strVolume, strDrivesDone

Set objShell = WScript.CreateObject("WScript.Shell")
Set objfs = CreateObject("Scripting.FileSystemObject")
Set objDriveCollection = objfs.Drives

Set WshSysEnv = objShell.Environment("PROCESS")
strTemp = WshSysEnv("Temp")
strSystemRoot = WshSysEnv("SystemRoot")

intDriveLetter=88 ' ascii for x
strDrivesDone="" ' Drives that have been remapped. Prevents CDs being changed again after being moved higher up the alphabet

For Each objDrive in objDriveCollection

Select Case objDrive.DriveType
Case 0: strDriveType = "Unknown"
Case 1: strDriveType = "Removable"
Case 2: strDriveType = "Fixed"
Case 3: strDriveType = "Network"
Case 4: strDriveType = "CD-ROM"
Case 5: strDriveType = "RAM Disk"
End Select

if strDriveType = "CD-ROM" AND instr(strDrivesDone,objDrive.DriveLetter)=0 then

' discover volume ID
strCMD = strSystemroot & "\system32\cmd /c mountvol.exe " & objDrive.DriveLetter & ": /L > " & strTemp & "\volume.txt"
objshell.run strCMD,0,true
Set objFile = objfs.OpenTextFile(strTemp & "\volume.txt", 1)
strVolume = ltrim(objFile.ReadLine)
objFile.close

' unmount CD-ROM
strCMD = "mountvol.exe " & objDrive.DriveLetter & ": /d"
objShell.Run strCMD,0,true

' Remount CD-ROM
strCMD = "mountvol.exe " & chr(intDriveLetter) & ": " & strVolume
objShell.Run strCMD,0,true
strDrivesDone=strDrivesDone & chr(intDriveLetter)
intDriveLetter=intDriveLetter+1

end if

Next

 

noen som kan se noen grunner til at dette ikke skulle gå?

Lenke til kommentar

1. Lagre scriptfila på et nettverksshare som er tilgjengelig for alle, hvor alle har lese- og kjørerettigheter

2. Lag et Group Policy Object, hvor du under User Configuration eller Computer Configuration (avhengig av hva du skal gjøre)| Windows Settings | Scripts | Logon legger en peker til fila du oppretta i pkt 1.

3. Etter å ha testa funksjonen, kan du enable denne GPO'en for de OU'ene som skal omfattes av denne endringen.

 

Dette er da et skript som kjøres under pålogging (enten til computer eller user), og kommandoene kjøres da av brukeren System, med tilstrekkelige rettigheter.

 

Bruker denne metoden i forskjellige anledninger, med stort hell.

 

Lykke til.

 

post-10323-1164120622_thumb.jpg

Lenke til kommentar
1. Lagre scriptfila på et nettverksshare som er tilgjengelig for alle, hvor alle har lese- og kjørerettigheter

2. Lag et Group Policy Object, hvor du under User Configuration eller Computer Configuration (avhengig av hva du skal gjøre)| Windows Settings | Scripts | Logon legger en peker til fila du oppretta i pkt 1.

3. Etter å ha testa funksjonen, kan du enable denne GPO'en for de OU'ene som skal omfattes av denne endringen.

 

Dette er da et skript som kjøres under pålogging (enten til computer eller user), og kommandoene kjøres da av brukeren System, med tilstrekkelige rettigheter.

 

Bruker denne metoden i forskjellige anledninger, med stort hell.

 

har eksperimentert litt og tror nok dette er den beste måten. takk for hjelp

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...