色播开心网,五月丁香综合缴情六月小说,亚洲啪啪综合av一区,色欲色香天天天综合网站免费

歡迎訪問(wèn)博易創(chuàng)科技官網(wǎng),專(zhuān)注研發(fā)數(shù)碼打印機(jī)20年!
全國(guó)咨詢熱線:400-8316492
聯(lián)系我們
400-8316492

手機(jī):13823737137

郵箱:3485053954@qq.com

QQ:3485053954

地址:深圳市龍崗區(qū)橫坪公路89號(hào)數(shù)字硅谷E棟4樓

桌面運(yùn)維工具之打印機(jī)驅(qū)動(dòng)安裝

時(shí)間:2025-02-14 02:29:30 作者:147小編 點(diǎn)擊: 次

undefined
undefined
undefined
undefined
undefined

undefined

 

1.前言

桌面運(yùn)維朋友經(jīng)常會(huì)處理打印機(jī)驅(qū)動(dòng)安裝這類(lèi)工單,手動(dòng)安裝打印機(jī)驅(qū)動(dòng)一般包括以下過(guò)程

1.按照打印機(jī)型號(hào)網(wǎng)上查詢對(duì)應(yīng)打印機(jī)驅(qū)動(dòng)

2.運(yùn)用cmd命令進(jìn)入管理員界面

3.將打印機(jī)驅(qū)動(dòng)添加到window系統(tǒng)中

人工安裝需要經(jīng)過(guò)三個(gè)過(guò)程,操作繁瑣,效率較低。基于此,咱們研發(fā)一個(gè)自動(dòng)化安裝打印機(jī)驅(qū)動(dòng)的程序,讓用戶能夠自動(dòng)安裝打印機(jī)驅(qū)動(dòng),以此減少打印機(jī)驅(qū)動(dòng)安裝工單,加強(qiáng)運(yùn)維效率。

2.技術(shù)實(shí)現(xiàn)

咱們能夠運(yùn)用代碼的方式實(shí)現(xiàn)人工操作的三個(gè)過(guò)程這兒,咱們程序上實(shí)現(xiàn)和這三個(gè)過(guò)程類(lèi)似。

1.后臺(tái)管理系統(tǒng)統(tǒng)一守護(hù)打印機(jī)驅(qū)動(dòng)

2.運(yùn)用程序提權(quán),自動(dòng)進(jìn)入管理員環(huán)境

3.運(yùn)用Devcon程序執(zhí)行打印機(jī)驅(qū)動(dòng)安裝命令

后續(xù)的所有示例代碼以C#為例。

2.1.后臺(tái)管理系統(tǒng)

咱們研發(fā)一個(gè)后臺(tái)管理系統(tǒng),統(tǒng)一守護(hù)打印機(jī)驅(qū)動(dòng),這般能夠減少重復(fù)查詢打印機(jī)驅(qū)動(dòng)的工作,提高效率。

系統(tǒng)界面如下:

經(jīng)過(guò)這個(gè)頁(yè)面守護(hù)打印機(jī)型號(hào)、硬件ID和驅(qū)動(dòng)等關(guān)聯(lián)信息。

任何設(shè)備的硬件ID都是獨(dú)一的,咱們能夠經(jīng)過(guò)程序識(shí)別打印機(jī)的硬件ID,而后按照硬件ID查找到驅(qū)動(dòng)下載。

這兒咱們運(yùn)用window的Win32_PnPEntity來(lái)獲取硬件的關(guān)聯(lián)信息,其結(jié)構(gòu)如下:

[Dynamic, Provider("CIMWin32"), UUID("{FE28FD98-C875-11d2-B352-00104BC97924}"), AMENDMENT] class Win32_PnPEntity : CIM_LogicalDevice { uint16 Availability; string Caption; string ClassGuid; string CompatibleID[]; uint32 ConfigManagerErrorCode; boolean ConfigManagerUserConfig; string CreationClassName; string Description; string DeviceID; boolean ErrorCleared; string ErrorDescription; string HardwareID[]; datetime InstallDate; uint32 LastErrorCode; string Manufacturer; string Name; string PNPClass; string PNPDeviceID; uint16 PowerManagementCapabilities[]; boolean PowerManagementSupported; boolean Present; string Service; string Status; uint16 StatusInfo; string SystemCreationClassName; string SystemName; };

其中Name暗示硬件名叫作,HardwareID暗示硬件id。

打印機(jī)硬件ID識(shí)別部分代碼如下:

namespace JwPrinterManage.Helper { internal class USBUtilTest { public static List<USBDeviceInfo> GetAllPrinterUsbList() { List<USBDeviceInfo> list = newList<USBDeviceInfo>(); ManagementObjectCollection collection;using (var searcher = new ManagementObjectSearcher(@"Select * From Win32_PnPEntity")) collection = searcher.Get();foreach (ManagementObject device in collection) { string name = Convert.ToString(device["Name"]); stringdeviceId = Convert.ToString(device["DeviceID"]); string[] HardwareIDArr = (string[])device["HardwareID"]; if (HardwareIDArr == null || HardwareIDArr.Length == 0) { continue; }foreach (var curHardwareId in HardwareIDArr) { if (curHardwareId.Contains("USBPRINT")) { list.Add(newUSBDeviceInfo(curHardwareId, name)); } } } collection.Dispose();return list; } } }

以上代碼能夠獲取到計(jì)算機(jī)的所有硬件名叫作、設(shè)備ID以及硬件ID,經(jīng)過(guò)辦法,咱們能夠快速獲取打印機(jī)的硬件ID,而后按照硬件ID從后臺(tái)系統(tǒng)中查詢驅(qū)動(dòng)并下載到用戶本地。

2.2.程序提權(quán)

安裝打印機(jī)驅(qū)動(dòng),程序需要擁有管理員權(quán)限,這兒咱們需要經(jīng)過(guò)cmd命令給程序提權(quán),保準(zhǔn)程序擁有管理員權(quán)限。

其原理是運(yùn)用管理員賬號(hào)和秘碼執(zhí)行cmd運(yùn)行程序,這般程序就擁有管理員權(quán)限。

部分核心代碼如下:

namespace JwPrinterManage.Helper { internal class AdminUtilsTest { // 運(yùn)用特定賬號(hào)和秘碼運(yùn)行程序 private static void run(string userName, string pass, string exePath) { Process process = new Process(); stringstr = pass; SecureString secureString =new SecureString(); foreach (char c instr) secureString.AppendChar(c); process.StartInfo.UserName = userName; process.StartInfo.Password = secureString; process.StartInfo.FileName = exePath; process.StartInfo.UseShellExecute =false; process.Start(); } } }

2.3.運(yùn)用Devcon安裝驅(qū)動(dòng)

2.3.1.Devcon.exe簡(jiǎn)介

DevCon (Devcon.exe)(即設(shè)備掌控臺(tái))是一種命令行工具,用于表示相關(guān)運(yùn)行 Windows 的計(jì)算機(jī)上的設(shè)備的仔細(xì)信息。 能夠運(yùn)用 DevCon 啟用、禁用、安裝、配置以及刪除設(shè)備。

重點(diǎn)語(yǔ)法如下:

devcon [/r] command [arguments]

重點(diǎn)命令如下:

?DevCon Enable

?DevCon Disable

?DevCon Update

?DevCon UpdateNI

?DevCon Install

?DevCon Remove

?DevCon Rescan

?DevCon Restart

?DevCon Reboot

?DevCon SetHwID

?DevCon ClassFilter

?DevCon Dp_add

?DevCon Dp_delete

這兒咱們仔細(xì)介紹這些命令,感興趣的朋友能夠查看官方文檔: Devcon命令文檔。

2.3.2.Devcon命令安裝驅(qū)動(dòng)

咱們能夠運(yùn)用update命令來(lái)安裝打印機(jī)驅(qū)動(dòng)程序,devcon update命令能夠安裝任意驅(qū)動(dòng)程序包,詳細(xì)如下:

devcon update INFfile HardwareID

其中INFfile暗示打印機(jī)驅(qū)動(dòng)的INF文件,HardwareID暗示打印機(jī)的硬件ID。

當(dāng)顯現(xiàn)如下圖所示的結(jié)果時(shí),暗示打印機(jī)驅(qū)動(dòng)安裝成功。

3.總結(jié)

本文重點(diǎn)介紹打印機(jī)驅(qū)動(dòng)自動(dòng)化安裝的一個(gè)基本實(shí)現(xiàn)思路,經(jīng)過(guò)運(yùn)維工具,咱們能夠實(shí)現(xiàn)部分桌面工單自動(dòng)化,幫忙運(yùn)維同事加強(qiáng)工作效率。同期,本文介紹了經(jīng)過(guò)Win32_PnPEntity獲取window硬件信息以及經(jīng)過(guò)Devcon命令安裝驅(qū)動(dòng)的辦法,這兩個(gè)辦法不僅限于打印機(jī)驅(qū)動(dòng)安裝的應(yīng)用,其實(shí)質(zhì)應(yīng)用場(chǎng)景比較廣泛,大眾能夠經(jīng)過(guò)這些辦法研發(fā)自動(dòng)化工具,幫忙加強(qiáng)運(yùn)維工作效率。

  • 免責(zé)聲明:部分文章信息來(lái)源于網(wǎng)絡(luò)以及網(wǎng)友投稿,本網(wǎng)站只負(fù)責(zé)對(duì)文章進(jìn)行整理、排版、編輯,是出于傳遞更多信息之目的,并不意味著贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真
  • 實(shí)性,如本站文章和轉(zhuǎn)稿涉及版權(quán)等問(wèn)題,請(qǐng)作者在及時(shí)聯(lián)系本站,我們會(huì)盡快刪除處理問(wèn)答,若不聯(lián)系則默認(rèn)允許本站轉(zhuǎn)載。
  • 上一篇:56家企業(yè)來(lái)招人!坪地2023年第42期招聘信息!
  • 下一篇:打印機(jī)提示驅(qū)動(dòng)程序沒(méi)法運(yùn)用?