搜尋此網誌

2012年11月14日 星期三

用Command Line安裝印表機,Runas AutoIt

要在user端安裝Printer Server上的印表機,比較沒有權限上的問題,可以Run一些簡單的VB Script即可,Ex:

add one printer ===================
Set WshNetwork10 = CreateObject("WScript.Network")
WshNetwork10.AddWindowsPrinterConnection \\PrinterServer\PRN-Color


Delete All Print==============

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colInstalledPrinters =  objWMIService.ExecQuery _
    ("Select * from Win32_Printer")
For Each objPrinter in colInstalledPrinters
    objPrinter.Delete_
Next

但如果要在User 端直接連到printer(不透過printer server),安裝時需要管理者權限,如果要請user自行安裝因為權限不足,無法安裝,所以腦筋動行RUNAS,雖然可以處理,但管理者密碼會有洩露之虞,此可參考網友文章
set WshShell = CreateObject("WScript.Shell")
WshShell.Run "runas /user:domain\administrator ""c:\test\h.bat"""
WScript.Sleep 1000
WshShell.Sendkeys "password~"
WScript.Sleep 5000

注意administrator後面紅色部份是一個space
使用AutoIt也是一個不錯的選擇 http://www.autoitscript.com/site/

2012年11月7日 星期三

利用psexec將遠端電腦的遠端桌面開啟RDP enable

有時候遠端電腦的RDP被關起來,但我們用想要使用,怎麼辦呢?!
不用跑去遠端設定,可利用psexec將遠端電腦的遠端桌面開啟RDP enable。

做法:
如何得到psexec,略...
在CMD中下指定
psexec -u {username} -p {password} \\{iP-Address} reg add “hklm\system\currentcontrolset\control\terminal server” /f /v fDenyTSConnections /t REG_DWORD /d 0

{username} = Administrator (must be administrator)
{password} = Administrator’s password
{IP-Address} = System IP Address

Note:
To deactivate RDP, just change “0″ to “1″.

如何還是沒有開啟,應是Remote端之firewall問題,所以下指令開啟firewall rule:

psexec \\ {iP-Address} netsh firewall set service remoteadmin enable
psexec \\ {iP-Address} netsh firewall set service remotedesktop enable