From e17f7e6ba384ec2775735b7a8f59251a67a72c0e Mon Sep 17 00:00:00 2001 From: Zachary Gorman Date: Wed, 24 Jul 2024 15:37:27 -0700 Subject: [PATCH] Refactored main, currently broke job system but there is a plan to rework the job system --- Private/Get-Devices.ps1 | 3 + Private/Get-Hostname.ps1 | 16 +- Private/PCRename.ps1 | 8 +- Private/UserProfileBackup.ps1 | 2 +- Public/Get-PC.ps1 | 748 ++++++++++++++++------------------ 5 files changed, 374 insertions(+), 403 deletions(-) diff --git a/Private/Get-Devices.ps1 b/Private/Get-Devices.ps1 index 118c319..528010b 100644 --- a/Private/Get-Devices.ps1 +++ b/Private/Get-Devices.ps1 @@ -78,6 +78,9 @@ function Get-Devices { $item.PSObject.TypeNames.Insert(0,'GetPC.Devices') $out += $item } + $item = [PSCustomObject]@{ } + $item.PSObject.TypeNames.Insert(0,'GetPC.Devices') + $out += $item Write-Output $out } diff --git a/Private/Get-Hostname.ps1 b/Private/Get-Hostname.ps1 index caed4e1..55b7d8d 100644 --- a/Private/Get-Hostname.ps1 +++ b/Private/Get-Hostname.ps1 @@ -1,24 +1,30 @@ function Get-Hostname ([string]$name) { + $errMsg = '' if ($name.Length -eq 5) { $res = Get-AssetConversion $name - if ($res) { return $res } + if ($res) { return $res,'' } + else { $errMsg += "$name Asset Tag not in SMBIOS or CMDB. "} } # Regex to match IP Address brought to you by https://stackoverflow.com/a/36760050 if ($name -match "^((25[0-5]|(2[0-4]|1\d|[1-9]|)\d)\.?\b){4}$") { $res = Resolve-DnsName $name if ($res -and $res.NameHost -and ($res.NameHost -match "([^.]*)\.int\.samhealth\.net")) { - return $Matches[1] + return $Matches[1],'' + } else { + $errMsg += "$name IP Address couldn't be resolved to hostname" } } if ($name.Length -eq 7) { $res = Get-ServiceTagConversion $name - if ($res) { return $res } + if ($res) { return $res,'' } + else { $errMsg += "$name Service Tag not found in SCCM"} } # Regex to match MAC Address brought to you by https://stackoverflow.com/a/4260512 if ($name -match "^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$") { $res = Get-SCCM_PCFromMAC $name - if ($res) { return $res } + if ($res) { return $res,'' } + else { $errMsg += "$name MAC Address not found in SCCM"} } - return $name + return $name, $errMsg } \ No newline at end of file diff --git a/Private/PCRename.ps1 b/Private/PCRename.ps1 index d074edb..ef37772 100644 --- a/Private/PCRename.ps1 +++ b/Private/PCRename.ps1 @@ -8,8 +8,12 @@ Write-Host "Current Hostname: $ComputerName" $NewHostName = Read-Host "New Hostname" - Rename-Computer -ComputerName $ComputerName -NewName $NewHostName -DomainCredential $DomainUser -force -Restart - Write-Host "Renamed PC, successful. Restarting PC... Old Hostname: $ComputerName, New Hostname: $NewHostName" -ForegroundColor Green + $res = Rename-Computer -ComputerName $ComputerName -NewName $NewHostName -DomainCredential $DomainUser -force -Restart -PassThru + if ($res.HasSucceeded) { + Write-Host "Renamed PC, successful. Restarting PC... Old Hostname: $ComputerName, New Hostname: $NewHostName" -ForegroundColor Green + } else { + Write-Host "Failed to rename PC. Check user credentials" -ForegroundColor Red + } }else{ diff --git a/Private/UserProfileBackup.ps1 b/Private/UserProfileBackup.ps1 index fcec9cb..4d0e693 100644 --- a/Private/UserProfileBackup.ps1 +++ b/Private/UserProfileBackup.ps1 @@ -136,7 +136,7 @@ } elseif ($site -eq $numSites) { $BackupDestination = Read-Host "Enter a PC asset, hostname, or custom path" # Will attempt to convert to Hostname if possible, doesn't change if not - $BackupDestination = Get-Hostname $BackupDestination + $BackupDestination,$null = Get-Hostname $BackupDestination # Treat as hostname and see if it's reachable if (Test-Connection -ComputerName $BackupDestination -Count 1) { # If so, get the filesystem path diff --git a/Public/Get-PC.ps1 b/Public/Get-PC.ps1 index 154f3cf..c92dd83 100644 --- a/Public/Get-PC.ps1 +++ b/Public/Get-PC.ps1 @@ -4,7 +4,7 @@ #region Module Import Block -$ErrorActionPreference = 'SilentlyContinue' +#$ErrorActionPreference = 'SilentlyContinue' #DevStage can take either Dev or Prod as values $devStage = 'Dev' #Locations for dev build and prod build @@ -53,7 +53,6 @@ Function Get-PC { -PCReboot | reboots computer -PCRename | renames computer -RemoteDesktopApp | remote into computer using RDP - -RequestLauncher | starts request launcher -ResetRepository | remotely resets repository -Resources | more details about system resources -PrinterPurge | removes printer from all online computers @@ -104,7 +103,6 @@ Function Get-PC { [Switch]$PCRename, [Switch]$Quiet, [Switch]$RemoteDesktopApp, - [Switch]$RequestLauncher, [Switch]$Resources, [Switch]$ResetRepository, [Switch]$PrinterPurge, @@ -127,445 +125,405 @@ Function Get-PC { break } - <#$charA = $ComputerName.ToCharArray() - if($charA -contains '*'){ - if($charA -lt 4){ - Write-Host "Wildcard searches need to be at least 4 characters long" -ForegroundColor Red - return - } - Write-Host "Starting CMDB Wildcard Search..." - $searchResults = Search-CMDB -hostname $ComputerName.Replace('*','') | Sort-Object -Property Hostname - - Write-Output $searchResults - if($TableView){ - $searchResults | Out-GridView -Title 'Get-PC Wildcard Search' - } - return + # Stuff only run once + if ($Update) { + #updates get pc + Update-GetPC + return } - #> + + if ($PatchNotes) { + $scriptparent = (get-item $PSScriptRoot ).parent.FullName + Write-Host "`n" + Get-Content $scriptparent\patchnotes.txt + break + } + $getPCComputers = @() #List of computers that will get a batch query $outPutArray = @() #For use near the end of the script to output to users screen in a specified format $PCID = 1 #This is a helper variable for the progress bar - if ($Jobsprinters) { - #runs the printer query as a set of jobs - $outPutArray = Get-PCBatchJob($ComputerName) -printers - Write-Output $outPutArray - - } - - if (!$Jobsprinters) { - # Stuff only run once - if ($Update) { - #updates get pc - Update-GetPC - return + $NumberofComputers = $ComputerName.Count + foreach ($comp in $ComputerName) { + #Pulls user data from AD + if ($SHSUser) { + $user = Get-SHSUser $comp + $outPutArray += $user + continue } - $NumberofComputers = $ComputerName.Count - foreach ($comp in $ComputerName) { - - if ($PatchNotes) { - $scriptparent = (get-item $PSScriptRoot ).parent.FullName - Write-Host "`n" - Get-Content $scriptparent\patchnotes.txt - break - } - - #Pulls user data from AD - if ($SHSUser) { - $user = Get-SHSUser $comp - $outPutArray += $user - continue - } + $oldcomp = $comp + $comp,$msg = Get-Hostname $comp + if ($msg) { + Write-Host "`n$msg" -ForegroundColor Red - $oldcomp = $comp - $comp = Get-Hostname $comp - if (($oldcomp -eq $comp) -and (($comp.length -eq 5 -and !$SHSPrinter) -or ($comp.length -eq 7))) { - if ($comp.length -eq 5 -and !$SHSPrinter) { - $msg = "$comp Asset Tag not in SMBIOS or CMDB" - Write-Host "`n$msg" -ForegroundColor Red - } - elseif ($comp.length -eq 7) { - $msg = "$comp Service Tag not found in SCCM" - Write-Host "`n$msg" -ForegroundColor Red - } - - $props = [Ordered]@{ - Hostname = "$msg" - Status = "" - 'Current User' = "" - 'Last User(s)' = "" - 'IP | MAC' = "" - Model = "" - 'OS' = "" - 'OS Build' = "" - 'BIOS Ver' = "" - Encryption = "" - 'Free Space' = "" - RAM = "" - 'SSO Client' = "" - 'Kiosk Role' = "" - 'Citrix Ver' = "" - 'Asset Tag' = "" - 'Service Tag' = "" - 'Last Reboot' = "" - 'TPM Status' = "" - 'MBAM GPO' = "" - Printers = "" - } - $obj = New-Object -TypeName PSObject -Property $props - - $outPutArray += $obj - - continue + $props = [Ordered]@{ + Hostname = "$msg" + Status = "" + 'Current User' = "" + 'Last User(s)' = "" + 'IP | MAC' = "" + Model = "" + 'OS' = "" + 'OS Build' = "" + 'BIOS Ver' = "" + Encryption = "" + 'Free Space' = "" + RAM = "" + 'SSO Client' = "" + 'Kiosk Role' = "" + 'Citrix Ver' = "" + 'Asset Tag' = "" + 'Service Tag' = "" + 'Last Reboot' = "" + 'TPM Status' = "" + 'MBAM GPO' = "" + Printers = "" } + $obj = New-Object -TypeName PSObject -Property $props + + $outPutArray += $obj + + continue + } - #DREW SUCKS + #DREW SUCKS - #Pulls basic SNMP Data from printer $comp - if ($SHSPrinter) { - Write-Progress -Activity "Querying Printers" -Status "$comp ($PCID/$NumberofComputers)" -PercentComplete (($PCID / $NumberofComputers) * 100) - $printer = Get-SHSPrinter $comp - $outPutArray += $printer - $PCID++ - continue + #Pulls basic SNMP Data from printer $comp + if ($SHSPrinter) { + Write-Progress -Activity "Querying Printers" -Status "$comp ($PCID/$NumberofComputers)" -PercentComplete (($PCID / $NumberofComputers) * 100) + $printer = Get-SHSPrinter $comp + $outPutArray += $printer + $PCID++ + continue + } + + if ($SHSPrinterWeb) { + $printer = Get-SHSPrinter $comp + Write-Output $printer + Start-SHSPrinterWeb $printer + break + } + + #Grabs all hostnames that have the requested printer installed on it + if ($HostnamesByPrinter) { + $printers = HostnamesByPrinter $comp + $out = @() + foreach ($printer in $printers) { + if ($printer -notlike '*EPIC*') { + $out += $printer + } } - if ($SHSPrinterWeb) { - $printer = Get-SHSPrinter $comp - Write-Output $printer - Start-SHSPrinterWeb $printer - break - } - - #Grabs all hostnames that have the requested printer installed on it - if ($HostnamesByPrinter) { - $printers = HostnamesByPrinter $comp - $out = @() - foreach ($printer in $printers) { - if ($printer -notlike '*EPIC*') { - $out += $printer - } - } - - if ($TableView) { - $out | Out-GridView -Title "Workstations Associated with $comp" - } - else { - Write-Output $out - } - break - } - - if ($PrinterPurge) { - Invoke-PrinterPurge $comp - continue - } - - #Launches the request launcher script which containts landesk request template scripts - if ($RequestLauncher) { - Invoke-Expression \\int.samhealth.net\files\team\SHSISDesktopSolutions\Powershell\RequestLauncher\RequestLauncher.lnk - break - } - - #Generates an available printer hostname. Useful for supplying a new hostname in new printer requests - if ($NextPrinterName) { - Find-NextPrinterName $comp - break - } - - if ($Wake) { - Invoke-Wake $comp - continue - } - - #PING HERE - All commands after here either require the computer to be online or need to know - #------------------------------------------------------------------------------------------------------------------------------------------------------------------# - $Connection = Test-Connection -ComputerName $comp -Count 1 - Write-Progress -Activity "Connecting to computers" -Status "$comp ($PCID/$NumberofComputers)" -PercentComplete (($PCID / $NumberofComputers) * 100) - - if ($Connection) { - $compStatus = 'Online' + if ($TableView) { + $out | Out-GridView -Title "Workstations Associated with $comp" } else { - $compStatus = 'Offline' + Write-Output $out } + continue + } - #grabs some basic usb info from the wmi - if ($Usb) { - if ($compStatus -ne 'Online') { - Write-Warning "$comp is $compStatus unable to proccess command" - break - } - Get-USB $comp + if ($PrinterPurge) { + Invoke-PrinterPurge $comp + continue + } + + #Generates an available printer hostname. Useful for supplying a new hostname in new printer requests + if ($NextPrinterName) { + Find-NextPrinterName $comp + break + } + + if ($Wake) { + Invoke-Wake $comp + continue + } + + #PING HERE - All commands after here either require the computer to be online or need to know + #------------------------------------------------------------------------------------------------------------------------------------------------------------------# + $Connection = Test-Connection -ComputerName $comp -Count 1 + Write-Progress -Activity "Connecting to computers" -Status "$comp ($PCID/$NumberofComputers)" -PercentComplete (($PCID / $NumberofComputers) * 100) + + if ($Connection) { + $compStatus = 'Online' + } + else { + $compStatus = 'Offline' + } + + #grabs some basic usb info from the wmi + if ($Usb) { + if ($compStatus -ne 'Online') { + Write-Warning "$comp is $compStatus unable to proccess command" break } - - #grabs info on attached monitors and usb devices - if ($Devices) { - ProgressBar -CurrentPC $comp -NumberofComputers $NumberofComputers -Percent $PCID -CurrentLocationText 'Devices' -CurrentPCNumber $PCID - $PCID++ - - if ($compStatus -ne 'Online') { - Write-Warning "$comp is $compStatus skipping monitor query" - } - - $out = Get-Devices $comp $compStatus - if ($null -eq $out) { - Write-Warning "Unable to get device info for $comp" - continue - } - - $outPutArray += $out + Get-USB $comp + break + } + + #grabs info on attached monitors and usb devices + if ($Devices) { + ProgressBar -CurrentPC $comp -NumberofComputers $NumberofComputers -Percent $PCID -CurrentLocationText 'Devices' -CurrentPCNumber $PCID + $PCID++ + + if ($compStatus -ne 'Online') { + Write-Warning "$comp is $compStatus skipping monitor query" + } + + $out = Get-Devices $comp $compStatus + if ($null -eq $out) { + Write-Warning "Unable to get device info for $comp" continue } - #Pulls the event log for the past x days - if ($EventLog) { - - if ($compStatus -ne 'Online') { - Write-Warning "$comp is $compStatus unable to proccess command" - break - } - - Get-PCEventLog $comp - break - } - - #Will remove selected users profile from C:\Users\ and cleans the registry of their profile - if ($WinProfileRebuild) { - - if ($compStatus -ne 'Online') { - Write-Warning "$comp is $compStatus unable to proccess command" - break - } - - Get-WinProfileRebuild $comp - break - } - - if ($ResetRepository) { - - if ($compStatus -ne 'Online') { - Write-Warning "$comp is $compStatus unable to proccess command" - break - } - - Get-ResetRepository $comp - break - } - - #Backs up user profile to specified destination - if ($UserProfileBackup) { - - if ($compStatus -ne 'Online') { - Write-Warning "$comp is $compStatus unable to proccess command" - break - } - - Get-UserProfileBackup $comp - break - } - - #Remotely renames and restarts the computer. - if ($PCRename) { - - if ($compStatus -ne 'Online') { - Write-Warning "$comp is $compStatus unable to proccess command" - break - } - - Get-PCRename $comp + $outPutArray += $out + continue + } + + #Pulls the event log for the past x days + if ($EventLog) { + + if ($compStatus -ne 'Online') { + Write-Warning "$comp is $compStatus unable to proccess command" break } - #removes temp, cache files, and inactive user profiles - if ($PCCleanup) { - - if ($compStatus -ne 'Online') { - Write-Warning "$comp is $compStatus unable to proccess command" - break - } + Get-PCEventLog $comp + break + } - Get-PCCleanup $comp - Get-PCProfileCleanup $comp - break - } - - #Will reboot the users selected PC - if ($PCReboot) { - if ($compStatus -ne 'Online') { - Write-Warning "$comp is $compStatus unable to proccess command" - break - } - - Get-PCReboot $comp - break + #Will remove selected users profile from C:\Users\ and cleans the registry of their profile + if ($WinProfileRebuild) { + + if ($compStatus -ne 'Online') { + Write-Warning "$comp is $compStatus unable to proccess command" + break } - #Pulls brief overview of system resources - if ($Resources) { - if ($compStatus -ne 'Online') { - Write-Warning "$comp is $compStatus unable to proccess command" - continue - } - get-resources $comp + Get-WinProfileRebuild $comp + break + } + + if ($ResetRepository) { + + if ($compStatus -ne 'Online') { + Write-Warning "$comp is $compStatus unable to proccess command" continue } + + Get-ResetRepository $comp + continue + } + + #Backs up user profile to specified destination + if ($UserProfileBackup) { - #Pulls a list of installed programs from SCCM. May not be up to date if changes were made after the last sccm scan - if ($Apps) { - Get-Apps $comp $TableView + if ($compStatus -ne 'Online') { + Write-Warning "$comp is $compStatus unable to proccess command" + break + } + + Get-UserProfileBackup $comp + break + } + + #Remotely renames and restarts the computer. + if ($PCRename) { + + if ($compStatus -ne 'Online') { + Write-Warning "$comp is $compStatus unable to proccess command" + break + } + + Get-PCRename $comp + break + } + + #removes temp, cache files, and inactive user profiles + if ($PCCleanup) { + + if ($compStatus -ne 'Online') { + Write-Warning "$comp is $compStatus unable to proccess command" + break + } + + Get-PCCleanup $comp + Get-PCProfileCleanup $comp + break + } + + #Will reboot the users selected PC + if ($PCReboot) { + if ($compStatus -ne 'Online') { + Write-Warning "$comp is $compStatus unable to proccess command" + break + } + + Get-PCReboot $comp + break + } + + #Pulls brief overview of system resources + if ($Resources) { + if ($compStatus -ne 'Online') { + Write-Warning "$comp is $compStatus unable to proccess command" + continue + } + get-resources $comp + continue + } + + #Pulls a list of installed programs from SCCM and Get-Package + if ($Apps) { + Get-Apps $comp $TableView + continue + } + + if ($AppDiff) { + Get-AppDiff $comp $TableView + continue + } + + if ($UninstallProgram) { + Invoke-UninstallProgram $comp + break + } + + if ($GPUpdate) { + + if ($compStatus -ne 'Online') { + Write-Warning "$comp is $compStatus unable to proccess command" + break + } + + Get-GPUpdate $comp + break + } + + #Will not notify the user that another user is about to remote onto their PC + if ($Bypass) { + + if ($compStatus -ne 'Online') { + Write-Warning "$comp is $compStatus unable to proccess command" + break + } + + Get-Bypass $comp + } + + #Removes any indicator that another user is remoted onto their PC (like the green bar) + if ($Quiet) { + + if ($compStatus -ne 'Online') { + Write-Warning "$comp is $compStatus unable to proccess command" + break + } + + Invoke-Quiet $comp + } + + #Runs Remote Viewer, Thick Client Only + if ($ViewerRemote) { + + if ($compStatus -ne 'Online') { + Write-Warning "$comp is $compStatus unable to proccess command" + break + } + + Get-ViewerRemote $comp + break + } + + #Runs Remote Desktop Connection Application + if ($RemoteDesktopApp) { + + if ($compStatus -ne 'Online') { + Write-Warning "$comp is $compStatus unable to proccess command" + break + } + + Get-RemoteDesktopApp $comp + break + } + + #Same as C$ into a workstation + if ($FileSystem) { + + if ($compStatus -ne 'Online') { + Write-Warning "$comp is $compStatus unable to proccess command" continue } - if ($AppDiff) { - Get-AppDiff $comp $TableView - continue - } - - if ($UninstallProgram) { - Invoke-UninstallProgram $comp - break - } - - if ($GPUpdate) { - - if ($compStatus -ne 'Online') { - Write-Warning "$comp is $compStatus unable to proccess command" - break - } - - Get-GPUpdate $comp - break - } - - #Will not notify the user that another user is about to remote onto their PC - if ($Bypass) { - - if ($compStatus -ne 'Online') { - Write-Warning "$comp is $compStatus unable to proccess command" - break - } - - Get-Bypass $comp - } - - #Removes any indicator that another user is remoted onto their PC (like the green bar) - if ($Quiet) { - - if ($compStatus -ne 'Online') { - Write-Warning "$comp is $compStatus unable to proccess command" - break - } - - Invoke-Quiet $comp - } - - #Runs Remote Viewer, Thick Client Only - if ($ViewerRemote) { - - if ($compStatus -ne 'Online') { - Write-Warning "$comp is $compStatus unable to proccess command" - break - } - - Get-ViewerRemote $comp - continue - } + Get-FileSystem $comp + continue + } + + #Will log off the current logged in user for the designated PC + #Adapted from Josh Gobens Logoff Script + if ($LogOffUser) { - #Runs Remote Desktop Connection Application - if ($RemoteDesktopApp) { - - if ($compStatus -ne 'Online') { - Write-Warning "$comp is $compStatus unable to proccess command" - break - } - - Get-RemoteDesktopApp $comp + if ($compStatus -ne 'Online') { + Write-Warning "$comp is $compStatus unable to proccess command" break } - #Same as C$ into a workstation - if ($FileSystem) { - - if ($compStatus -ne 'Online') { - Write-Warning "$comp is $compStatus unable to proccess command" - continue - } + Get-LogOffUser $comp + break + } - Get-FileSystem $comp - continue - } - - #Will log off the current logged in user for the designated PC - #Adapted from Josh Gobens Logoff Script - if ($LogOffUser) { - - if ($compStatus -ne 'Online') { - Write-Warning "$comp is $compStatus unable to proccess command" - break - } - - Get-LogOffUser $comp - break - } + if ($InstallNet35) { + Get-InstallNet35 $comp + continue + } - if ($InstallNet35) { - Get-InstallNet35 $comp - continue - } - - #Checks if there is a WinRM service error - #TODO Re-evaluate where we want the WSNetwork test - #$WSNetworkTest = Test-WSMan -ComputerName $comp - #-or ($null -eq $WSNetworkTest) + #Checks if there is a WinRM service error + #TODO Re-evaluate where we want the WSNetwork test + #$WSNetworkTest = Test-WSMan -ComputerName $comp + #-or ($null -eq $WSNetworkTest) + + #checks to see if the computer is in AD or the disabled computers OU and warns the user + if (get-module -ListAvailable -Name 'ActiveDirectory') { + Write-Progress -Activity "Looking up computer in AD" -Status "$comp ($PCID/$NumberofComputers)" -PercentComplete (($PCID / $NumberofComputers) * 100) + try { $adTest = ((Get-ADComputer $comp).DistinguishedName -match "Disabled Computers") } catch { $adTest = $true } - #checks to see if the computer is in AD or the disabled computers OU and warns the user - if (get-module -ListAvailable -Name 'ActiveDirectory') { - Write-Progress -Activity "Looking up computer in AD" -Status "$comp ($PCID/$NumberofComputers)" -PercentComplete (($PCID / $NumberofComputers) * 100) - try { $adTest = ((Get-ADComputer $comp).DistinguishedName -match "Disabled Computers") } catch { $adTest = $true } + if ($adTest) { + Write-Warning "$comp is either disabled or off the domain" + } + Write-Progress -Activity "Looking up computer in AD" -Completed + } + + #Direct SCCM Queries + if ( $SCCM ) { + $result = Get-SCCMQuery $comp $NumberofComputers $PCID + $PCID++ + $outPutArray += $result + } + else { + + #Checks if local computer + if ($comp -eq $env:COMPUTERNAME) { - if ($adTest) { - Write-Warning "$comp is either disabled or off the domain" - } - Write-Progress -Activity "Looking up computer in AD" -Completed - } - - #Direct SCCM Queries - if ( $SCCM ) { - $result = Get-SCCMQuery $comp $NumberofComputers $PCID - $PCID++ + $result = Get-PCLocal $comp $NumberofComputers $PCID + #$PCID++ + #$result = get-PCremoteCleaned $comp $Connection $NumberofComputers $PCID $outPutArray += $result + #$getPCComputers += $comp } else { + #$result = Get-PCRemote $comp $NumberofComputers $PCID + #$result = get-PCremoteCleaned $comp $Connection $NumberofComputers $PCID + #$PCID++ + #$outPutArray += $result + #Write-Output $result + $getPCComputers += $comp - #Checks if local computer - if ($comp -eq $env:COMPUTERNAME) { - - $result = Get-PCLocal $comp $NumberofComputers $PCID - #$PCID++ - #$result = get-PCremoteCleaned $comp $Connection $NumberofComputers $PCID - $outPutArray += $result - #$getPCComputers += $comp - } - else { - #$result = Get-PCRemote $comp $NumberofComputers $PCID - #$result = get-PCremoteCleaned $comp $Connection $NumberofComputers $PCID - #$PCID++ - #$outPutArray += $result - #Write-Output $result - $getPCComputers += $comp - - } - } - - if ($Orion) { - break - } - + } + } + + if ($Orion) { + break } }