Пакетный сценарий или сценарий VB для запуска окна входа в Win7 RunAs?

Я ищу пакетную команду или VBscript для выполнения того, что было бы Shift + щелчок правой кнопкой мыши> «Запуск от имени другого пользователя». Появляется окно входа с надписью «Безопасность Windows» в заголовке.

http://i.imgur.com/EDeCCND.jpg

Я искал повсюду и ближе всего, что я нашел, были «runas» из командной строки, и я нашел VBscript, который может выполнять «Запуск от имени администратора». Но мне просто нужен скрипт, который будет запускать окно входа в систему, как на картинке выше, то же самое, что и «Запуск от имени другого пользователя».

Спасибо

Изменить - Некоторые предыстории моей проблемы: у меня есть командный файл, который я использую для установки программного обеспечения на удаленный компьютер через psexec, а также для запуска некоторых скриптов и прочего. Теперь, чтобы успешно запустить мой командный файл, пользователю нужно будет запустить его под учетной записью администратора домена. И я в основном пытаюсь заставить это случиться.

Сначала я попытался заставить UAC работать с помощью этого красивого скрипта ... и это прекрасно работает! К сожалению, я обнаружил, что это не сработает, если локальный администратор войдет в систему и запустит файл (он увидит, что у него уже есть права администратора на локальном компьютере, но у него не будет прав на удаленном компьютере при запуске. psexec).

Я действительно не могу выполнить запуск через пакет, потому что я не знаю, какой администратор домена будет запускать пакет. Я также не хотел бы, чтобы пользователь вводил свои учетные данные в окне командной строки ... И я мог бы просто сказать им сделать shift + щелкнуть правой кнопкой мыши по файлу bat, но я бы хотел избежать этого, если возможно, поскольку пользователи могут быть забывчивыми :)

Я считаю, что решение моей проблемы - это сценарий, который будет делать то же самое, что и Shift + щелчок правой кнопкой мыши> «Запуск от имени другого пользователя».

Любая помощь приветствуется


person stilljammin313    schedule 20.05.2014    source источник


Ответы (2)


Shverb - выводит список или запускает команду проводника (меню, вызываемое правой кнопкой мыши)

Перетащите или используйте в командной строке.

HelpMsg = vbcrlf & "  ShVerb" & vbcrlf & vbcrlf & "  David Candy 2014" & vbcrlf & vbcrlf & "  Lists or runs an explorer verb (right click menu) on a file or folder" & vbcrlf  & vbcrlf & "    ShVerb <filename> [verb]" & vbcrlf & vbcrlf & "  Used without a verb it lists the verbs available for the file or folder" & vbcrlf & vbcrlf
HelpMsg = HelpMsg & "  The program lists most verbs but only ones above the first separator" & vbcrlf & "  of the menu work when used this way" & vbcrlf & vbcrlf 
HelpMsg = HelpMsg & "  The Properties verb can be used. However the program has to keep running" & vbcrlf & "  to hold the properties dialog open. It keeps running by displaying" & vbcrlf & "  a message box." 
Set objShell = CreateObject("Shell.Application")
Set Ag = WScript.Arguments 
set WshShell = WScript.CreateObject("WScript.Shell") 
Set fso = CreateObject("Scripting.FileSystemObject")

    If Ag.count = 0 then 
        wscript.echo "  ShVerb - No file specified"
        wscript.echo HelpMsg 
        wscript.quit
    Else If Ag.count = 1 then 
        If LCase(Replace(Ag(0),"-", "/")) = "/h" or Replace(Ag(0),"-", "/") = "/?" then 
            wscript.echo HelpMsg 
            wscript.quit
        End If
    ElseIf Ag.count > 2 then 
        wscript.echo vbcrlf & "  ShVerb - To many parameters" & vbcrlf & "  Use quotes around filenames and verbs containing spaces"  & vbcrlf
        wscript.echo HelpMsg 
        wscript.quit
    End If

    If fso.DriveExists(Ag(0)) = True then
        Set objFolder = objShell.Namespace(fso.GetFileName(Ag(0)))
'       Set objFolderItem = objFolder.ParseName(fso.GetFileName(Ag(0)))
        Set objFolderItem = objFolder.self
        msgbox ag(0)
    ElseIf fso.FolderExists(Ag(0)) = True then
        Set objFolder = objShell.Namespace(fso.GetParentFolderName(Ag(0)))
        Set objFolderItem = objFolder.ParseName(fso.GetFileName(Ag(0)))
    ElseIf fso.fileExists(Ag(0)) = True then
        Set objFolder = objShell.Namespace(fso.GetParentFolderName(Ag(0)))
        Set objFolderItem = objFolder.ParseName(fso.GetFileName(Ag(0)))
    Else
        wscript.echo "  ShVerb - " & Ag(0) & " not found"
        wscript.echo HelpMsg 
        wscript.quit
    End If

    Set objVerbs = objFolderItem.Verbs

    'If only one argument list verbs for that item

    If Ag.count = 1 then
        For Each cmd in objFolderItem.Verbs
            If len(cmd) <> 0 then CmdList = CmdList & vbcrlf & replace(cmd.name, "&", "") 
        Next
        wscript.echo mid(CmdList, 2)

    'If two arguments do verbs for that item

    ElseIf Ag.count = 2 then
        For Each cmd in objFolderItem.Verbs
            If lcase(replace(cmd, "&", "")) = LCase(Ag(1)) then 
                wscript.echo Cmd.doit 
                Exit For
            End If
        Next
    'Properties is special cased. Script has to stay running for Properties dialog to show.
        If Lcase(Ag(1)) = "properties" then
            WSHShell.AppActivate(ObjFolderItem.Name & " Properties")
            msgbox "This message box has to stay open to keep the " & ObjFolderItem.Name & " Properties dialog open."
        End If  
    End If
End If

также

wmic /node"@%userprofile%\desktop\ComputerName.txt" /user:username /password:password /failfast:on process call create c:\somefile.bat
person user3654095    schedule 20.05.2014
comment
Runas / user:% userdomain% \% username% notepad \ my file.txt \ Admin будет запрошен пароль. Пароли скрыты в командной строке, как и в диалогах. - person user3654095; 20.05.2014
comment
Runas / user:% userdomain% \% username% notepad \ my file.txt \ Это просит пользователя ввести свои учетные данные в строку cmd. Не появляется окно входа в систему, как на картинке. Надеюсь, это имеет смысл - person stilljammin313; 21.05.2014
comment
И за это я благодарен. К сожалению, я даже не могу понять, что делает VBscript, не могу заставить его работать. И для второго я тоже не могу заставить его работать. Возможно, я новичок и мне нужно подробнее изучить эту тему, прежде чем я смогу понять ваш ответ. Еще раз спасибо. - person stilljammin313; 21.05.2014

В него встроена справка. Первые три строки - это файл справки.

  ShVerb

  Lists or runs an explorer verb (right click menu) on a file or folder


    ShVerb <filename> [verb]


  Used without a verb it lists the verbs available for the file or folder


  The program lists most verbs but only ones above the first separator

  of the menu work when used this way


  The Properties verb can be used. However the program has to keep running

  to hold the properties dialog open. It keeps running by displaying

  a message box.

Вам нужно будет запустить его в удаленной системе.

Но два инструмента командной строки позволяют вводить пароли. И, как я показал, вы можете ввести имя пользователя автоматически.

person user3654095    schedule 21.05.2014
comment
Спасибо за ваш ответ. Единственный глагол, который, как я знаю, будет уместным, - это run as, но с UAC он только усиливается. Я не хочу, чтобы имя пользователя подставлялось автоматически. Мне нужен сценарий, который я могу разместить в верхней части моего командного файла, который работает так же, как и пакетный сценарий администратора, который я связал в OP. Единственная разница в том, что вместо того, чтобы поднимать файл bat, я хочу, чтобы он всплывал с полем входа в систему, как я изображал. - person stilljammin313; 22.05.2014