AirPlayer執行權限解決方案

對岸的蘋果錄屏大師不用錢又好用,對於需要使用AirPlay的地方算是首選。但是對於各單位網管人員來說就不是這樣了。他需要開啟Administrators等級的管理者權限。

我之前是一台一台加入本機管理者……超級智障。但我實在研究不出可以針對特定電腦將特定使用者加入本機管理者的方法,受限制群組在我這邊的狀況並不是一個很適當的做法;使用GPO中Login Script或是Startup Script似乎又有權限不足的問題,使用 net localgroup /add 都是沒反應。

後來查到這篇文章,可以讓命令提示字元系統管理員身分執行。並使用讓Runas自動輸入密碼的VBS。達到讓只具備user權限的使用者也能正常開啟AirPlayer。把下面的code存成VBS就可以執行成功。

Dim WshShell
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run "runas /user:[網域]\[具管理員權限帳號] ""cmd /c start 資料夾\AirPlayer.exe"""
WScript.Sleep 1000
WshShell.Sendkeys "[管理員帳號密碼]~"
WScript.Quit()

為了避免讓使用者取得管理員帳號密碼,可以考慮加密VBS。過往的方式似乎不太可行,現在我是參考這篇文章,使用VBS去進行加密。將下面的code存成VBS,再把要加密的VBS拖到他上面就會自動加密成VBE檔案。

Option Explicit 
 
dim oEncoder, oFilesToEncode, file, sDest 
dim sFileOut, oFile, oEncFile, oFSO, i 
dim oStream, sSourceFile 
 
set oFilesToEncode = WScript.Arguments 
set oEncoder = CreateObject("Scripting.Encoder") 
For i = 0 to oFilesToEncode.Count - 1 
    set oFSO = CreateObject("Scripting.FileSystemObject") 
    file = oFilesToEncode(i) 
    set oFile = oFSO.GetFile(file) 
    Set oStream = oFile.OpenAsTextStream(1) 
    sSourceFile=oStream.ReadAll 
    oStream.Close 
    sDest = oEncoder.EncodeScriptFile(".vbs",sSourceFile,0,"") 
    sFileOut = Left(file, Len(file) - 3) & "vbe" 
    Set oEncFile = oFSO.CreateTextFile(sFileOut) 
    oEncFile.Write sDest 
    oEncFile.Close 
Next

另外為了美觀,我把加密之後的VBE檔案另外弄了個捷徑,把捷徑圖示改成AirPlayer的圖示,對於使用者來說比較直覺。

這些行為做完後把AirPlayer、呼叫執行用的VBE跟.lnk的捷徑三個檔案透過Login Script複製到電腦裡面,捷徑放到桌面去。對於使用者來說就是個無感的環境了。

目前碰到的問題就是VBE輸入密碼會錯誤的部分…這大概是電腦跑太慢。可以考慮VBS那邊sleep睡久一點,但是睡太久總會碰到使用者手滑按到鍵盤,這個可能要自己斟酌設備的狀況。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。