2015-11-18 195 views
3

有人後已經註銷(開始按鈕→註銷)的夜晚,在我想有任務計劃程序自動登錄到Windows 7的用戶帳戶(啓動按鈕→註銷的對面,早上一定時間),這是密碼保護。該機器是64位。我正在這樣做,因此係統(vbs,vba等)可以在用戶出現工作之前準備文件。如何登錄到用戶帳戶?

我非常確定這是可能的,但我無法在網上找到它,所以我想知道它是否真的有可能。

我必須在VBScript中這樣做。

出於安全原因,我需要登錄他關在晚上,但我想的那部分(VBS從SO):

Set = wshell = Wscript.CreateObject(Wscript.Shell") 
wschell.exec("shutdown.exe -L -F") 'logoff and force shutdown programs 

EDIT1: 使用從Sujith一個答案,我試圖設置此。首先,我必須指出,這不是遠程計算機或連接。我試圖讓本地計算機重新登錄到用戶帳戶。

我創建logon.vbs這個VBS代碼:

Set = wshell = Wscript.CreateObject(Wscript.Shell") 
wschell.exec("shutdown.exe -L -F") 'logoff and force shutdown programs 

WScript.Sleep(5000) 

computer = "computername" 
username = "OTHERDOMAIN\user" 
password = "password" 

Set locator = CreateObject("WbemScripting.SWbemLocator") 
Set wmi = locator.ConnectServer(computer, "root\default", username, password) 
wmi.Security_.ImpersonationLevel = 3 

換句話說,我註銷和右後衛(避免任務計劃這樣的事情被簡化)。我也嘗試了很多變化,試圖讓它工作。它使我很好地登錄,但之後沒有任何反應。我必須手動登錄。

我也嘗試了Sujith的答案中提到的任務計劃程序設置,但它從來沒有打開,我可以告訴。

編輯2:或者請告訴我你需要提供答案嗎?

+0

請幫助我!? – mountainclimber

回答

0

創建一個任務調度程序來運行一個vbscript,當用戶通過選擇觸發選項「On disconnect from user session」從他的會話中註銷時,可以觸發該任務&任何用戶。

在觸發器上計劃的vbscript可能具有在機器上進行遠程登錄的代碼。對於代碼,下面的鏈接將幫助你。

connect to Remote server in vb script

Connecting to a Remote Server on a different domain -- how do I enter the username and password?

+0

我退出後無法啓動任務。甚至沒有失敗的任務運行。我會添加信息到我原來的問題。 – mountainclimber

0

我不認爲你想做什麼是可能的。如果您可以先重新啓動,則可以使用Windows內置的「自動登錄」功能解決此問題。

如果是這樣,我有一個替代的解決方案提出了一些建議給你:

註銷用戶在指定的時間


  • 按照說明Assigning Logon Hours。舊文章,但仍然適用於較新的Windows Server操作系統。

    OR

  • 創建註銷所有登錄用戶的腳本,然後創建運行的NT AUTHORITY \ SYSTEM在指定的時間執行該計劃的任務。

自動重啓,並用特定的用戶名登錄/密碼


中創建一個批處理文件,說:「Enable_AutoLogon_and_Reboot.cmd」,並把它放在一個文件夾中,例如「C:\批處理文件中」。內容:

set sUsername=SOMEDOMAIN\Someusername 
set sPassword=somepassword 

:: Enable autologon on next boot 
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon" /v AutoAdminLogon /t REG_SZ /d 1 /f 

:: Set autologon to only log on once 
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon" /v AutoLogonCount /t REG_DWORD /d 1 /f 

:: Set username 
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon" /v DefaultUsername /t REG_SZ /d "%sUsername%" /f 

:: Set password 
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon" /v DefaultPassword /t REG_SZ /d "%sPassword%" /f 

:: Reboot 
shutdown /r /t 0 /f 

在開始時用實際的用戶名和密碼替換變量的值。

創建計劃任務運行的NT AUTHORITY \ SYSTEM(例如每天06:00運行):

schtasks /create /tn "\CustomTasks\Enable AutoLogon and Reboot" /tr "%comspec% /c C:\BatchFiles\Enable_AutoLogon_and_Reboot.cmd" /st 06:00 /sc DAILY /ru "NT AUTHORITY\SYSTEM" /f 
+0

有趣。謝謝。我會對此進行一些思考,但我不認爲重新啓動是一種選擇,因爲這需要用戶保存他們正在處理的所有內容和/或接受他們正在處理的某些文件的當前狀態將保存爲 - 是。 – mountainclimber

+1

如果您使用「shutdown.exe -L -F」在晚上關閉用戶,則您已經強制關閉(-F)任何正在運行的應用程序。 – Drasen