none
VBS Скрипт с заменой файла user.bmp RRS feed

  • Вопрос

  • Здравствуйте, есть задача поставить всем пользователям логотип компании при входе в Windows Vista, есть скрипт

    Const OverwriteExisting = TRUE

    Set objFSO = CreateObject("Scripting.FileSystemObject")
    objFSO.CopyFile "\\SERVER\all\User\user.bmp" , "c:\programdata\microsoft\user account pictures\user.bmp", OverwriteExisting

    Сам скрипт рабочий проблема в том что при запуске выдает ошибку доступа.
    Не подскажете как мне заменить этот фаил больше чем на 200 компьютерах с помощью скрипта?.
    6 ноября 2009 г. 12:23

Ответы

  • Вопрос снимается, скрипт с политикой работают (ставить на политику компьютера в автозагрузку)

    If WScript.Arguments.length =0 Then
      Set objShell = CreateObject("Shell.Application")
      'Pass a bogus argument with leading blank space, say [ uac]
      objShell.ShellExecute "wscript.exe", Chr(34) & _
      WScript.ScriptFullName & Chr(34) & " uac", "", "runas", 1
    Else

    Const OverwriteExisting = TRUE
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    objFSO.CopyFile "\\server\all\user.bmp" , "c:\programdata\microsoft\user account pictures\user.bmp", OverwriteExisting

    End If

    единственное как быть с переменной средой %programdata% в данном скрипте она не работает, а не на всех машинах Windows установлен в с:
    • Помечено в качестве ответа Vasily GusevModerator 3 декабря 2009 г. 21:11
    6 ноября 2009 г. 14:30
  • Set oShell = CreateObject( "WScript.Shell" )
    programdata=oShell.ExpandEnvironmentStrings("%ProgramData%")
    Wscript.Echo programdata
    • Предложено в качестве ответа panda_fs2 7 ноября 2009 г. 23:30
    • Помечено в качестве ответа Vasily GusevModerator 3 декабря 2009 г. 21:11
    6 ноября 2009 г. 14:56

Все ответы

  • Вопрос снимается, скрипт с политикой работают (ставить на политику компьютера в автозагрузку)

    If WScript.Arguments.length =0 Then
      Set objShell = CreateObject("Shell.Application")
      'Pass a bogus argument with leading blank space, say [ uac]
      objShell.ShellExecute "wscript.exe", Chr(34) & _
      WScript.ScriptFullName & Chr(34) & " uac", "", "runas", 1
    Else

    Const OverwriteExisting = TRUE
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    objFSO.CopyFile "\\server\all\user.bmp" , "c:\programdata\microsoft\user account pictures\user.bmp", OverwriteExisting

    End If

    единственное как быть с переменной средой %programdata% в данном скрипте она не работает, а не на всех машинах Windows установлен в с:
    • Помечено в качестве ответа Vasily GusevModerator 3 декабря 2009 г. 21:11
    6 ноября 2009 г. 14:30
  • Set oShell = CreateObject( "WScript.Shell" )
    programdata=oShell.ExpandEnvironmentStrings("%ProgramData%")
    Wscript.Echo programdata
    • Предложено в качестве ответа panda_fs2 7 ноября 2009 г. 23:30
    • Помечено в качестве ответа Vasily GusevModerator 3 декабря 2009 г. 21:11
    6 ноября 2009 г. 14:56
  • Если речь о доменных компьютерах, то как вариант посмотрите Group Policy Preferences - более удобно чем скрипты.
    Сазонов Илья http://www.itcommunity.ru/blogs/sie-wl/
    6 ноября 2009 г. 15:37
    Модератор