国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - ASP.NET教程 - 使用PowerShell .Net獲取電腦中的UUID

使用PowerShell .Net獲取電腦中的UUID

2020-01-20 10:29一碗豆芽湯(VMan) ASP.NET教程

這篇文章主要介紹了使用PowerShell .Net獲取電腦中的UUID 的相關資料,需要的朋友可以參考下

UUID含義是通用唯一識別碼 (Universally Unique Identifier),這 是一個軟件建構的標準,也是被開源軟件基金會 (Open Software Foundation, OSF) 的組織應用在分布式計算環境 (Distributed Computing Environment, DCE) 領域的一部分。

組成

UUID是指在一臺機器上生成的數字,它保證對在同一時空中的所有機器都是唯一的。通常平臺會提供生成的API。按照開放軟件基金會(OSF)制定的標準計算,用到了以太網卡地址、納秒級時間、芯片ID碼和許多可能的數字

UUID由以下幾部分的組合:

(1)當前日期和時間,UUID的第一個部分與時間有關,如果你在生成一個UUID之后,過幾秒又生成一個UUID,則第一個部分不同,其余相同。

(2)時鐘序列。

(3)全局唯一的IEEE機器識別號,如果有網卡,從網卡MAC地址獲得,沒有網卡以其他方式獲得。

UUID的唯一缺陷在于生成的結果串會比較長。關于UUID這個標準使用最普遍的是微軟的GUID(Globals Unique Identifiers)。在ColdFusion中可以用CreateUUID()函數很簡單地生成UUID,其格式為:xxxxxxxx-xxxx- xxxx-xxxxxxxxxxxxxxxx(8-4-4-16),其中每個 x 是 0-9 或 a-f 范圍內的一個十六進制的數字。而標準的UUID格式為:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx (8-4-4-4-12),可以從cflib 下載CreateGUID() UDF進行轉換。

-------以上內容摘自《百度百科》

因為軟件產品中需要與硬件碼進行綁定,就想到了UUID,通過百度,網上搜索了一堆之后,發現大部分的代碼都是如下:

需要引用:System.Management;

?
1
2
3
string processor = "Win32_Processor";//類名
ManagementClass driveClass= new ManagementClass(processor);
Console.WriteLine(driveClass.GetQualifierValue("UUID"));

然后,讓我們部門所有同事在各自的電腦上運行了一次,發現結果如下:

使用PowerShell .Net獲取電腦中的UUID

全部運行的結果都是相同的。(這是為什么呢??到現在我也不知道,但不甘心,繼續搜Google)

----------------------------------------------我是分隔線-----------------------------------------------

功夫不負有心人,后來查資料發現,Windows PowerShell也可以獲取UUID,雖然對于PowerShell我也不熟悉,但核心是能不能解決我的問題?

Windows PowerShell 是一種命令行外殼程序和腳本環境,使命令行用戶和腳本編寫者可以利用 .NET Framework 的強大功能。

它引入了許多非常有用的新概念,從而進一步擴展了您在 Windows 命令提示符和 Windows Script Host 環境中獲得的知識和創建的腳本。

首先,你必須保證操作系統上有PowerShell安裝在您的系統上,另外Vs開發工程中需要引用 System.Management.Automation.dll, 這個dll在我電腦以下路徑里:“ C:\windows\assembly\GAC_MSIL\System.Management.Automation\1.0.0.0__31bf3856ad364e35\”, 本機操作系統:Win7 核心的代碼如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
private static string GetUUID()
{
try
{
string uuid = string.Empty;
using (PowerShell PowerShellInstance = PowerShell.Create())
{
PowerShellInstance.AddScript("(get-wmiobject Win32_ComputerSystemProduct).UUID"); //OK
Collection<PSObject> PSOutput = PowerShellInstance.Invoke();
foreach (PSObject outputItem in PSOutput)
{
if (outputItem != null)
{
uuid += outputItem.BaseObject.ToString();
}
}
}
return uuid;
}
catch
{
return string.Empty;
}
}

其調用其實就是使用PowerShell的Script進行獲取。因為在調用PowerShell時,可能會比較的慢,.net中也提供了異步調用的機制。核心代碼如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
private static string GetAsyncUUID()
{
try
{
string uuid = string.Empty;
using (PowerShell PowerShellInstance = PowerShell.Create())
{
PowerShellInstance.AddScript("(get-wmiobject Win32_ComputerSystemProduct).UUID"); //OK
PSDataCollection<PSObject> outputCollection = new PSDataCollection<PSObject>();
outputCollection.DataAdded += outputCollection_DataAdded;
PowerShellInstance.Streams.Error.DataAdded += Error_DataAdded;
IAsyncResult result = PowerShellInstance.BeginInvoke<PSObject, PSObject>(null, outputCollection);
while (result.IsCompleted == false)
{
Console.WriteLine("Waiting for pipeline to finish...");
Thread.Sleep(1000);
// While里面可以寫上執行等待中的一些事情
}
foreach (PSObject outputItem in outputCollection)
{
if (outputItem != null)
{
uuid += outputItem.BaseObject.ToString();
}
}
}
return uuid;
}
catch
{
return string.Empty;
}
}
static void Error_DataAdded(object sender, DataAddedEventArgs e)
{
Console.WriteLine("An error was written to the Error stream!");
}
static void outputCollection_DataAdded(object sender, DataAddedEventArgs e)
{
Console.WriteLine("Object added to output.");
}

以上代碼運行之后,經過測試之后,部門沒有重復的。

結果如下:

使用PowerShell .Net獲取電腦中的UUID

暫時,從以上測試結果分析來看,這個方法是可行的。但目前仍然有比較擔心的幾個問題:

1、PowerShell在不同的版本里面,調用的方法會不會不一樣?因為做為B/s軟件需要考慮更多的Windows服務器? 比如: (get-wmiobject Win32_ComputerSystemProduct).UUID

2、為了安全,PowerShell會不會被服務器給禁用?

3、因為B/s軟件是需要IIS來運行的,會不會出現權限不足的情況??

以上所述是小編給大家介紹的使用PowerShell .Net獲取電腦中的UUID的相關知識,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产日韩欧美一二三区 | 欧美在线免费观看 | 国产黄a三级三级看三级 | 黄色国产在线视频 | 福利国产 | 日本激情综合网 | 免费成人在线电影 | 国产精品久久久久久久久久免费看 | 日韩精品一区二区在线观看 | 中文字幕二区 | 国产精品视频一二三区 | 久草新免费 | 欧美午夜精品久久久久久蜜 | 欧美日韩国产精品一区二区 | 91精品国产乱码久久久久久 | 成人免费在线观看视频 | 狠狠搞狠狠干 | 国产啊v在线观看 | 亚洲中午字幕 | 午夜久久久 | 亚洲精品一区二区三区四区高清 | 国产精品一区久久 | 国产99在线 | 亚洲 | 久久久久一区 | 日韩欧美国产一区二区 | av一二三区 | 成人h动漫精品一区二区樱花 | 香蕉久久夜色精品国产使用方法 | 亚洲国产成人av好男人在线观看 | 亚洲成人av在线 | 亚洲在线观看免费视频 | 欧洲精品在线视频 | 日韩中文在线 | 99免费视频 | 涩涩综合| 日本中文字幕在线播放 | 国产免费av网站 | 一区二区三区在线视频播放 | 欧美日韩a | 亚洲高清资源 | 欧美激情视频一区二区三区在线播放 |