好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > 使用PowerShell .Net獲取電腦中的UUID

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

熱門標簽:地圖標注軟件免費下載 網(wǎng)絡(luò)電話外呼系統(tǒng)上海 臨沂智能電話機器人加盟 百應(yīng)電話機器人外呼系統(tǒng) 蘇州如何辦理400電話 聯(lián)通官網(wǎng)400電話辦理 西寧呼叫中心外呼系統(tǒng)線路商 400電話辦理怎么樣 外呼電話機器人成本

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

組成

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

UUID由以下幾部分的組合:

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

(2)時鐘序列。

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

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

-------以上內(nèi)容摘自《百度百科》

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

需要引用:System.Management;

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

然后,讓我們部門所有同事在各自的電腦上運行了一次,發(fā)現(xiàn)結(jié)果如下:

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

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

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

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

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

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

private static string GetUUID()
{
try
{
string uuid = string.Empty;
using (PowerShell PowerShellInstance = PowerShell.Create())
{
PowerShellInstance.AddScript("(get-wmiobject Win32_ComputerSystemProduct).UUID"); //OK
CollectionPSObject> PSOutput = PowerShellInstance.Invoke();
foreach (PSObject outputItem in PSOutput)
{
if (outputItem != null)
{
uuid += outputItem.BaseObject.ToString();
}
}
}
return uuid;
}
catch
{
return string.Empty;
}
}

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

private static string GetAsyncUUID()
{
try
{
string uuid = string.Empty;
using (PowerShell PowerShellInstance = PowerShell.Create())
{
PowerShellInstance.AddScript("(get-wmiobject Win32_ComputerSystemProduct).UUID"); //OK
PSDataCollectionPSObject> outputCollection = new PSDataCollectionPSObject>();
outputCollection.DataAdded += outputCollection_DataAdded;
PowerShellInstance.Streams.Error.DataAdded += Error_DataAdded;
IAsyncResult result = PowerShellInstance.BeginInvokePSObject, PSObject>(null, outputCollection);
while (result.IsCompleted == false)
{
Console.WriteLine("Waiting for pipeline to finish...");
Thread.Sleep(1000);
// While里面可以寫上執(zhí)行等待中的一些事情
}
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.");
}

以上代碼運行之后,經(jīng)過測試之后,部門沒有重復(fù)的。

結(jié)果如下:

 

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

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

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

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

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

您可能感興趣的文章:
  • PowerShell中使用.NET將程序集加入全局程序集緩存
  • Powershell中可以使用的.Net實用靜態(tài)方法
  • PowerShell入門教程之訪問.Net程序集、COM和WMI實例
  • Powershell小技巧之查看安裝的.Net framework版本信息
  • PowerShell中調(diào)用.NET對象的靜態(tài)方法、靜態(tài)屬性和類方法、類屬性例子
  • PowerShell中查看當前版本、Windows版本、.NET版本信息的代碼
  • 一個ASP.Net下的WebShell實例
  • PowerShell 定時執(zhí)行.Net(C#)程序的方法
  • ASP.NET下使用WScript.Shell執(zhí)行命令
  • 如何使用 Shell 腳本執(zhí)行 .NET Core 應(yīng)用

標簽:中衛(wèi) 聊城 海西 慶陽 清遠 甘肅 臨夏

巨人網(wǎng)絡(luò)通訊聲明:本文標題《使用PowerShell .Net獲取電腦中的UUID》,本文關(guān)鍵詞  使用,PowerShell,.Net,獲取,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《使用PowerShell .Net獲取電腦中的UUID》相關(guān)的同類信息!
  • 本頁收集關(guān)于使用PowerShell .Net獲取電腦中的UUID的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 国产在线视频99| 久久久久久久久精品免费高清上线| 美琪美腿白丝交小说| 免费观看欧美一区二区三区| 玉浦团| 国产精品日韩在线观看| 西西G0G0人体大尺大胆高清| 巜女教师~婬辱の教室2| 在线A级毛片免费观看| 日本大尺度电影巜我要开心| 国外60老妇xxxx| 午夜一级福利| 97国精产品无人区一码二码| 91精品久久人妻一区二区夜夜夜| 国产伦子伦露脸| 欧美特黄A级高清免费大片A片| 19禁啪啪无遮挡免费网站| 欧美美女性生活视频| 边吻边摸下面好爽视频完整版| 性free欧美乌克兰| 护士的小嫩嫩好紧好舒服| 免费观看全黄裸体做爰软件| 欧美18plusvideos好身材| 最新91精品老司机在线| yw.139尤物在线精品视频| 6080yy国产一级毛片| 人人色网| 欧美精产国品一区二区区别| 国产刺激对白国产情侣| 色婷婷亚洲| 免费一级毛片在线播放鱼色| 蜜桃特级做a爰片毛片免费69| 囯产精品久久久蜜桃的用户体验| 吸女人奶头奶水视频| 偃师市| 另类欧美尿交| 欧美激情无码亚洲| 媚色无双小说| 99cao| 《勃起》无删减版| 女同桌把我的精子弄出来了怎么办 |