訂閱網誌最新訊息

2007年7月12日 星期四

[VB] 有關 Windows 本機權限

最近公司內部發現了一些資安漏洞,起因是由於 Windows XP 新機裝機時

預設將 Domain Users 加入於本機 Administrators 群組內

這樣作原本是為了方便使用者登入網域時,在本機操作上能夠擁有最大的權限

資訊部門的人員不必為了安裝軟體、印表機…等小事而常往使用者位置跑

但開了方便之門,卻也造成了安全性漏洞,使用者能夠不需經其他使用者開啟分享權限

即能夠以 \\ComputerName\C$ 此方式進入別人電腦硬碟,窺視他人資料
(這也是因為Windows NT 預設硬碟分享的緣故)

為了不讓使用者感覺權限降低了,解決方法不外乎是將 Domain Users 自本機 Administrators 中移除

另外本機 Administrators 只加入擁有此台電腦的使用者 UserAccount,再將 Administrator 帳號停用或更改密碼,雖然治標不治本,但能暫時平息爭論

但要變更此權限設定,一次要改幾百台PC,不是開玩笑的

於是找了一些方法,順便提供給大家,有需要的人可以參考看看:

1.從AD下手,指定 UserAccount 只能登入某些指定的電腦,每個帳號都要設定,只要將 UserAccount 及 ComputerName 對應的 List 以 Script 的方式更新 AD 的設定即可,所有 UserAccount 都只能登入指定的電腦,對網管人員是非常大的負擔。

2.設定 Logon Script ,應用 net localgroup 指令將 Domain Users 自 Administrators 中移除,並將 %USERNAME% 加入 Administrators,使用者無感覺,網管人員亦省了不少事。

3.用程式(如VB)存取 ADSI 對網域中的所有電腦作控制。

2007年7月10日 星期二

[VB] COM 元件如何得知呼叫它的程式名稱?

之前為專案作過一個 COM 元件,可是元件本身因為資安因素,又需要得知呼叫它的程式名稱

於是想了二個解決辦法:(如有其他方法請各位朋友們熱心提供)

1.直接強迫 VB 程式傳入 App 物件,元件中可以利用 App.exeName 或 App.Path 取得相關的程式路徑與名稱,例如:

Dim objCOM as Object

set objCOM = createObject("COM元件")

objCOM.setAppObject(App) '強迫一定要先傳入App物件

objCOM.doSomeThing() '然後才能進行想作的事

2.如果有建立 DataBase Connection,可以 DB Server 回傳的資訊取得連線的程式名稱,以SQL Server 為例:

select program_name from master.dbo.sysprocesses where spid = @@SPID

這樣 DB Server 就會回傳連線的程式名稱了

2007年7月9日 星期一

[VB] 利用 WMI 抓取登入網域某一台電腦使用者帳號

利用 WMI 抓取登入網域某一台電腦使用者帳號,在網管上是一個方便的小工具

在Form 中隨便新增一個 Command Button 即可,但在對方電腦若沒啟動 RPC 服務或開啟防火牆,則會失敗!

程式碼如下,請參考:

Private Sub Command1_Click()

On Error Resume Next

strComputer = "computername.domain"

strComputer = "192.168.1.3"

strLoggedOnUser = ""

strUser = "domain\administrator"

strPassword = "12345678"

Set objSWbemLocator = CreateObject("WbemScripting.SWbemLocator")

Set objSWbemServices = objSWbemLocator.ConnectServer(strComputer, "root\cimv2", strUser, strPassword)

objSWbemServices.Security_.ImpersonationLevel = 3

Set objectSet = objSWbemServices.InstancesOf("Win32_ComputerSystem")

For Each object In objectSet
strLoggedOnUser = object.UserName
Next

If strLoggedOnUser <> "" Then
Debug.Print " 登入電腦:" & strComputer & " 之使用者為:" & strLoggedOnUser
End If
End Sub

CutePDF Writer 最廣泛的檔案交換格式 PDF 產生器

CutePDF Writer 是一個免費的個人知識管理的好工具

只要是你想看的,不管是網頁、文件、多張圖片、加密的文件…等等

基本上都會提供列印的功能,只要能列印,就能夠在你PC上產生PDF檔案

這個軟體和FinePrint、MS Office Document Image Writer、Solid Converter PDF一樣都是虛擬印表機,能夠輸出成最普遍的PDF文件格式

原廠網站連結,馬上下載:

http://www.cutepdf.com/Products/CutePDF/writer.asp

記得要一起下載這二個並安裝
1.CutePDF Writer
2.Ghost Converter

安裝完成後在你PC上新增一台印表機


任何想保存的文件都用這台印表機列印


它會要求你指定儲存檔案的路徑


因為很多文件與網頁對於儲存並不是那麼的方便
有的閱讀軟體是要付費的、有的網頁儲存下來會變得很難用
安裝這個以後就能夠使用免費的PDF閱讀軟體來開啟使用了,夠方便了吧!