Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/13.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
Powershell 我的脚本按预期工作了1周后突然停止_Powershell - Fatal编程技术网

Powershell 我的脚本按预期工作了1周后突然停止

Powershell 我的脚本按预期工作了1周后突然停止,powershell,Powershell,我决定尝试创建一个Powershell脚本。删除不在$StandardPrinterList中的打印机。这已经工作了大约一周,但昨天它不再工作了。在检查了几台计算机后,它停止了。在这件事上,如果有任何帮助,我将不胜感激。如果你觉得你也可以就如何更好地完成脚本提供意见,请让我知道 Jon欢迎来到stack overflow!你能分享一下你在脚本执行过程中遇到的错误吗?谢谢你欢迎我并回答我的问题:)我没有错误。它运转良好,但突然停了下来。通常最后运行的是将主机$Left写为“igjenåsjek

我决定尝试创建一个Powershell脚本。删除不在$StandardPrinterList中的打印机。这已经工作了大约一周,但昨天它不再工作了。在检查了几台计算机后,它停止了。在这件事上,如果有任何帮助,我将不胜感激。如果你觉得你也可以就如何更好地完成脚本提供意见,请让我知道




Jon欢迎来到stack overflow!你能分享一下你在脚本执行过程中遇到的错误吗?谢谢你欢迎我并回答我的问题:)我没有错误。它运转良好,但突然停了下来。通常最后运行的是将主机$Left写为“igjenåsjekke”。我现在正在运行脚本,这样我就可以截图,让你在你的问题中分享这个脚本。请它可能会帮助我们。我在图片的问题中添加了一个链接。这张照片正好显示了它昨天停下来时的样子。它会像那样持续几个小时,当我再次运行它时,它会重复同样的操作。昨天我请一位同事运行它,同样的事情发生了。但现在,在运行它之后,它似乎工作得很好。我不知道昨天和现在有什么不同
$Publikum = New-Object Collections.Generic.List[string]
$PublikumOnline = New-Object Collections.Generic.List[string]
$PublikumOffline = New-Object Collections.Generic.List[string]
$PrintListe = New-Object Collections.Generic.List[string]
$PrinterLokal = New-Object Collections.Generic.List[string]
$PrinterLokalFjernes = New-Object Collections.Generic.List[string]
$StandardPrinterListe = New-Object Collections.Generic.List[string]
$StandardPrinterListe = @('Microsoft Print to PDF', 'Send til OneNote 16', 'Microsoft XPS Document Writer', 'Fax','Send to OneNote 16')
$i = 0

foreach($c in Get-ADComputer -Filter {Name -like "*Name*"} -searchbase "Some SearchBase"){
$Publikum.Add($c.Name)
}

foreach($Element in $Publikum){ 
Write-Progress -Activity "Sjekker offline status" -Status "Progress:" -PercentComplete ($i/$Publikum.count*100)
Write-Host $Element
if (Test-Connection -ComputerName $Element  -Quiet) 
{
$PublikumOnline.Add($Element)
}
else
{
$PublikumOffline.Add($Element)
}
$i = $i+1
Write-Host $PublikumOffline.Count  "Offline" -BackgroundColor “Red”
Write-Host $PublikumOnline.Count  "Online" -ForegroundColor “Green”
}

$Left = $PublikumOnline.Count
$i = 0
foreach($Element in $PublikumOnline){ 
$PrintResultat = Invoke-Command -ComputerName $Element -ScriptBlock { 

$Print = @{} 
$Print.LokalPrint = Get-Printer
New-Object psobject -property $Print
}

foreach ($Printer in $PrintResultat.LokalPrint) {
if($Printer.Name -notin $StandardPrinterListe){     
$PrinterLokalFjernes.Add($Printer.Name)
}     
$PrinterLokal.Add($Printer.Name)
}
Write-Output $Element $PrinterLokal
if ($PrinterLokalFjernes) 
  {
  foreach ($FjernePrinter in $PrinterLokalFjernes){
  Write-Host $Element $FjernePrinter -BackgroundColor “Red”
  }
  . 'C:\Users\jonhstor-drift\Documents\Fjerne Lokale skrivere.ps1'
    Fjern-Skriver -Session ([ref]$Element) -Target ([ref]$PrinterLokalFjernes)
  }
  else
  {
 Write-Host $Element "Har ikke pushprint" -ForegroundColor “Green”
  }
 $PrinterLokalFjernes.Clear()
  $PrinterLokal.Clear()
   $i = $i+1
  $Left = $Left - 1
  Write-Host $Left "igjen å sjekke"
  Write-Progress -Activity "Progresjon" -Status "Progress:" -PercentComplete ($i/$PublikumOnline.count*100)
  }

Read-Host -Prompt "Press Enter to exit"
function Fjern-Skriver([ref]$Session, [ref]$Target) {
foreach($Element in $Target.Value){
Invoke-Command -ComputerName $Session.Value  -ScriptBlock { 
C:\Windows\SysWOW64\rundll32.exe printui.dll,PrintUIEntry /n $using:Element /dl
Gpupdate /force
 }
 Write-Host "Har fjernet" $Element "fra maskin" $Session.Value -ForegroundColor “Green”
 }
 }