Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Multithreading 调用线程无法访问此对象,因为其他线程拥有它_Multithreading_Powershell_Printing - Fatal编程技术网

Multithreading 调用线程无法访问此对象,因为其他线程拥有它

Multithreading 调用线程无法访问此对象,因为其他线程拥有它,multithreading,powershell,printing,Multithreading,Powershell,Printing,我正在尝试从PowerShell检索打印队列列表,如下所示。 但是我越来越 调用线程无法访问此对象,因为另一个线程拥有它 这是因为PowerShell无法支持多线程吗? 有没有办法解决这个问题 据我所知,您必须使用-STA(单线程装置)参数启动PowerShell才能使代码正常工作: PowerShell -STA Add-Type -AssemblyName "system.Printing" $f = @([system.Printing.EnumeratedPrintQueueTypes

我正在尝试从PowerShell检索打印队列列表,如下所示。 但是我越来越

调用线程无法访问此对象,因为另一个线程拥有它

这是因为PowerShell无法支持多线程吗?
有没有办法解决这个问题


据我所知,您必须使用-STA(单线程装置)参数启动PowerShell才能使代码正常工作:

PowerShell -STA
Add-Type -AssemblyName  "system.Printing"
$f = @([system.Printing.EnumeratedPrintQueueTypes]::local, [system.Printing.EnumeratedPrintQueueTypes]::shared)
$ps = New-Object system.Printing.localprintserver
$pq = $ps.GetPrintQueues($f)

请下次把你的代码作为文本,而不是屏幕副本,这样其他人就可以不用输入你的代码就可以进行测试了。