ilpostino Skrevet 17. november 2006 Del Skrevet 17. november 2006 (endret) jeg skal prøve å få rullet ut et script som endrer stasjonsbokstaven lokalt på maskinen. dette skal kjøres som en del av logon på et nettverk. problemet er at brukerkontoene dette blir kjørt på ikke har tilstrekkelig med rettigheter på maskinene til at stasjonsbokstaven blir endret. Såvidt jeg har skjønt kan en bruke følgende kommando i et vbscript til å kjøre som lokal admin: oShell.Run "runas /user:administrator "fil"" såvidt jeg har skjønt brukes denne kommandoen til å starte eksterne filer (andre filer enn scriptet det ligger i). noen som vet om det finnes en tilsvarende kommando som kan kjøres og la scriptet kjøre seg selv som lokal admin? her er resten av koden i scriptet: 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 Endret 17. november 2006 av ilpostino Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå