2014-01-30 62 views
4

我想通過Visual Basic在Visual Studio中構建一個應用程序,並且正在提取當前機器的信息。基本上,我想要做的是在Visual Basic中提取Bitlocker的加密狀態,如果C:驅動器是Bitlocked或不是Bitlocked,則輸出。在Visual Basic中檢查Bitlocker加密狀態

我在網上查找了一些可以完成此操作的東西,但是我看到的所有內容都與WMI有關。這也表明WMI需要安裝在你將要使用它的每臺機器上。我只想在機器運行該文件後能夠進入機器並將所有信息輸出到表單中。我現在拉的一切代碼如下:

Public Class ComputerInformation 
    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load 
     TextBoxComputerName.Text = Environment.MachineName 
     TextBoxOSVersion.Text = System.Environment.OSVersion.ToString 
     TextBoxOSFullName.Text = My.Computer.Info.OSFullName 
     TextBoxCurrentUser.Text = System.Environment.UserName 
     TextBox64Bit.Text = System.Environment.Is64BitOperatingSystem 
     TextBoxSystemDirectory.Text = System.Environment.SystemDirectory 
     TextBoxDomain.Text = System.Environment.UserDomainName 
     ' CHECK BITLOCKER STATUS HERE. 
    End Sub 
End Class 

一些幫助,也許一個解釋將不勝感激! 謝謝!

+1

我做了一些搜索並在[FMAPI庫](http:/ /)中找到[DetectEncryptedVolume](http://msdn.microsoft.com/en-us/library/dd239112(VS.85).aspx) /msdn.microsoft.com/en-us/library/dd239122(v=vs.85).aspx)這似乎做你所需要的。您應該能夠在不通過WMI的情況下進行安裝。不幸的是,我對Bitlocker進一步瞭解不夠,但希望這會有所幫助。 –

+0

感謝這個史蒂文。但是,我確實看到代碼是C++,我正在使用Visual Basic編譯我的所有數據!謝謝你! –

+2

從VB.NET可能通過[pinvoke](http://msdn.microsoft.com/en-us/library/aa719104(v = vs.71).aspx)在C++ dll中調用函數。 –

回答

7

是的,您可以通過使用Win32_EncryptableVolume WMI類來進行查詢。 ProtectionStatus屬性告訴你加密是否打開。 WMI確實需要安裝而不是。但是,只有在機器上存在Bitlocker時,Win32_EncryptableVolume類纔可用。

要開始使用,請首先下載WMI Code Creator utility。它可以讓你玩WMI查詢,並自動生成你需要的VB.NET代碼並進行測試。在菜單中,使用代碼語言並選擇「Visual Basic.NET」。從類組合框中選擇Win32_EncyptableVolume並選擇ProtectionStatus屬性。點擊「執行代碼」進行測試。將生成的源代碼複製/粘貼到您的程序中。還要檢查沒有Bitlocker的計算機上的代碼,您需要了解您獲得的例外情況,以便知道Bitlocker根本不存在。

+0

感謝這個解釋漢斯。所以你說,即使我目前的機器上沒有Bitlocker,這個類也不會顯示,我甚至不能在Visual Studio中引用它。因爲我正在將這個應用程序寫入沒有Bitlocker的計算機上。我下載了WMI Code Creator,甚至沒有看到Win32_ExcryptableVolume ...我是否正確?謝謝! –

+1

「引用」一詞不恰當,WMI類不是.NET類。您引用System.Management類。您可以從WMI代碼創建器工具中知道「Win32_EncryptableVolume」只顯示爲一個字符串。您*需要在安裝Bitlocker的計算機上運行它來測試它。 –