第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在Powershell(V5)類中使用.Net對象

在Powershell(V5)類中使用.Net對象

天涯盡頭無女友 2019-10-21 14:29:03
這是為清晰起見而進(jìn)行的主要編輯??磥砦倚枰π纬伤枷搿R韵率俏矣龅降拇_切代碼。簡要說明:我正在嘗試設(shè)置一個Powershell類,該類將容納不同類型的對象以便于訪問。我在C#中已經(jīng)做過很多次了,所以我認(rèn)為這很簡單。所需的類型是[System.Printing]和WMI對象。最初,我曾嘗試將類直接寫入Powershell配置文件以方便使用,但是當(dāng)我必須在其中對代碼進(jìn)行分類時,我的配置文件無法加載。說它找不到類型名稱“ System.Printing.PrintServer”或任何其他明確列出的類型。失敗之后,我將其移至它自己的特定模塊,然后設(shè)置我的配置文件以在打開時導(dǎo)入該模塊。但是,即使存儲在其自己的模塊中,如果我為任何屬性明確列出.Net類型,整個模塊也無法加載。不管我是否添加或?qū)肓祟愋? dll。特定的問題區(qū)域是這樣的:[string] $ Name [System.Printing.PrintServer] $ Server [System.Printing.PrintQueue] $ Queue [System.Printing.PrintTicket] $ Ticket [System.Management.ManagementObject] $ Unit [bool ] $ IsDefault將其設(shè)置為此時,所有“種類”都可以使用,但是然后我的所有屬性都具有_Object類型,這沒有幫助。[string] $ Name $ Server $ Queue $ Ticket $ Unit $ IsDefaultAdd-Type -AssemblyName System.PrintingAdd-Type -AssemblyName ReachFrameworkClass PrinterObject{    [string]$Name    [System.Printing.PrintServer]$Server    [System.Printing.PrintQueue]$Queue    [System.Printing.PrintTicket]$Ticket    [System.Management.ManagementObject]$Unit    [bool]$IsDefault   PrinterObject([string]$Name)    {        #Add-Type -AssemblyName System.Printing        #Add-Type -AssemblyName ReachFramework        $this.Server = New-Object System.Printing.PrintServer -ArgumentList [System.Printing.PrintSystemDesiredAccess]::AdministrateServer        $this.Queue =  New-Object System.Printing.PrintQueue (($this.Server), ($this.Server.GetPrintQueues() |         Where-Object {$_.Name -match $Name} | Select-Object -ExpandProperty Name))        $this.Ticket = $this.Queue.UserPrintTicket        $this.Unit = Get-WmiObject -Query "SELECT * FROM Win32_Printer WHERE Name LIKE `"%$Name%`""    }    PrinterObject([string]$Name, [bool]$IsNetwork)    {        #Add-Type -AssemblyName System.Printing        #Add-Type -AssemblyName ReachFramework        if($IsNetwork -eq $true) {        $this.Server = New-Object System.Printing.PrintServer ("\\Server")        $this.Queue =  New-Object System.Printing.PrintQueue (($this.Server), ($this.Server.GetPrintQueues() | 
查看完整描述

3 回答

?
斯蒂芬大帝

TA貢獻(xiàn)1827條經(jīng)驗 獲得超8個贊

為了補充 PetSerAl的有用答案:


using assembly 應(yīng)該是正確的解決方案,但是從Windows PowerShell v5.1 / PowerShell Core v6.1開始,尚未在解析時使用它,因為它需要額外的工作來避免在匯編時可能會不希望地執(zhí)行任意代碼已加載。


該問題的實現(xiàn)已在本GitHub問題中得到了開綠燈,并且作為此問題的一部分正在跟蹤必要的工作。


查看完整回答
反對 回復(fù) 2019-10-21
  • 3 回答
  • 0 關(guān)注
  • 550 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號