Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15

Discussione: [VB6]deframmentazione

  1. #1

    [VB6]deframmentazione

    Ho l'esigenza di fare un programma per effettuare la deframmentazione del disco. però devo passargli le credenziali prima una sorta di runas come posso fare?
    La programmazione è una scelta di vita....

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    La deframmentazione in VB6?

    Non mi pare lo strumento adatto ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    e come posso fa?

    ho provato questo
    codice:
    On Error Resume Next
    dim WshShell,FSO
    
    wscript.echo "Sta per partire il programma per la deframmentazione del disco. Attendere che la deframmentazione sia completata, non utilizzare il PC. Per eventuali problema rivolgersi all'heldpesk."
    
    
    sUser="Administrator"	
    sPass="dsdsdsd"&VBCRLF
    sCmd="defrag.exe C: -f -v"
    
    
    
    set WshShell = CreateObject("WScript.Shell")
    set WshEnv = WshShell.Environment("Process")
    WinPath = WshEnv("SystemRoot")&"\System32\runas.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 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 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 quilogy\jhicks luckydog e:\scripts\admin.vbs" & VBCRLF & VBCRLF &" cscript vbrunas.vbs quilogy\jhicks luckydog " & CHR(34) &"e:\program files\scripts\admin.vbs 1stParameter 2ndParameter" & CHR(34)& VBCRLF & VBCRLF & VBCLRF & "cscript vbrunas.vbs /?|-? will display this message."
    
    wscript.echo msg
    
    wscript.quit
    
    end sub
    funziona...solo se lo provo su un'altra macchina non va...mi da errore 80040154...
    La programmazione è una scelta di vita....

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Scusa ... secondo me non ha senso scrivere un programma (o uno script, come quello che mostri) per fare partire la deframmentazione di un disco! Questa e' una operazione piu' "sistemistica" da farsi in particolari condizioni da parte dell'amministratore di sistema direttamente al PC ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Originariamente inviato da Pietro84
    e come posso fa?

    ho provato questo
    codice:
    On Error Resume Next
    dim WshShell,FSO
    
    wscript.echo "Sta per partire il programma per la deframmentazione del disco. Attendere che la deframmentazione sia completata, non utilizzare il PC. Per eventuali problema rivolgersi all'heldpesk."
    
    
    sUser="Administrator"	
    sPass="dsdsdsd"&VBCRLF
    sCmd="defrag.exe C: -f -v"
    
    
    
    set WshShell = CreateObject("WScript.Shell")
    set WshEnv = WshShell.Environment("Process")
    WinPath = WshEnv("SystemRoot")&"\System32\runas.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 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 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 quilogy\jhicks luckydog e:\scripts\admin.vbs" & VBCRLF & VBCRLF &" cscript vbrunas.vbs quilogy\jhicks luckydog " & CHR(34) &"e:\program files\scripts\admin.vbs 1stParameter 2ndParameter" & CHR(34)& VBCRLF & VBCRLF & VBCLRF & "cscript vbrunas.vbs /?|-? will display this message."
    
    wscript.echo msg
    
    wscript.quit
    
    end sub
    funziona...solo se lo provo su un'altra macchina non va...mi da errore 80040154...
    purtroppo ho l'esigenze di far deframmentare il disco agli utenti di dominio.....che non hanno questo privilegio
    La programmazione è una scelta di vita....

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da Pietro84
    purtroppo ho l'esigenze di far deframmentare il disco agli utenti di dominio.....che non hanno questo privilegio
    C'e' qualcosa di sbagliato in questo ragionamento ...

    Intanto, se esiste un dominio Active Directory allora hai il controllo dei PC e puoi operare come amministratore in remoto (con Remote Desktop) per fare la deframmentazione ...

    In secondo luogo, la deframmentazione e' una attivita' che va fatta una volta ogni tanto (ogni 6 mesi va bene ... c'e' chi la fa ogni anno ...) e quindi non vedo perche' farla fare addirittura agli utenti ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Originariamente inviato da oregon
    C'e' qualcosa di sbagliato in questo ragionamento ...

    Intanto, se esiste un dominio Active Directory allora hai il controllo dei PC e puoi operare come amministratore in remoto (con Remote Desktop) per fare la deframmentazione ...

    In secondo luogo, la deframmentazione e' una attivita' che va fatta una volta ogni tanto (ogni 6 mesi va bene ... c'e' chi la fa ogni anno ...) e quindi non vedo perche' farla fare addirittura agli utenti ...
    O.O

    forse non ci siamo capiti lol

    non posso andare in remoto su 1500 macchine e fare la deframmentazione!!!!!!!

    devo far in modo che gli utenti lo faccino quando vogliono loro!!!
    quello script va bene solo che se lo porto su un'altro pc non va e da quell'errore....come posso risolvere quell'errore? c'è qualche dll che devo copiare sui pc etc?
    La programmazione è una scelta di vita....

  8. #8
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    Io lo faccio ogni giorno

  9. #9
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Anch'io gestisco reti con un numero elevato di PC e non mi sognerei mai di dare all'utente il compito di deframmentare i dischi quando vuole lui ...

    Tanto meno gli consegnerei degli script con la password di administrator leggibile ...

    Quell'errore, probabilmente dipende dal fatto che nei PC non e' installato il componente Windows Scripting Host ... dovrai scaricarlo da MS e installarlo prima di far girare lo script in ogni PC ...

    A questo punto, lo potrebbero fare gli stessi tuoi utenti ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  10. #10
    Originariamente inviato da oregon
    Anch'io gestisco reti con un numero elevato di PC e non mi sognerei mai di dare all'utente il compito di deframmentare i dischi quando vuole lui ...

    Tanto meno gli consegnerei degli script con la password di administrator leggibile ...

    Quell'errore, probabilmente dipende dal fatto che nei PC non e' installato il componente Windows Scripting Host ... dovrai scaricarlo da MS e installarlo prima di far girare lo script in ogni PC ...

    A questo punto, lo potrebbero fare gli stessi tuoi utenti ...
    -.-

    è il cliente che mi chiesto questa cosa...cosa ci posso fare io?

    e cmq naturalmente non gli lascio il vbs no..lo trasformo in exe....

    tnx per l'info

    edit: cmq è installato quel componente....tantè che se lo lascio vbs funziona senza problemi....mentre le trasformo in exe mi da quell'errore
    La programmazione è una scelta di vita....

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.