scripts.team-holm.net
Hovedsiden
PowerShell Scripts
Andre_Scripts


Her har jeg lagt inn andre typer scripts. Sånne som jeg ikke helt fikk gruppert.
    Se kommentarene i scriptene for mer informasjon.

ListUsersByDate.ps1
#Atle Holm - 2009
#Lister alle brukere som ble opprettet for mer enn 6 måneder siden.

$LdapFilter = "(&(objectClass=user)(objectCategory=person))"
$Searcher = New-Object DirectoryServices.DirectorySearcher($Null, $LdapFilter)
$Searcher.PageSize = 1000
$sixMonthsAgo = (get-date).AddDays(-120)
$Searcher.FindAll() | Select-Object @{n='Name';e={ $_.Properties["name"][0] }}, `
@{n='WhenCreated';e={ $_.Properties["whencreated"][0] }} `
| % { if ($_.WhenCreated -gt $sixMonthsAgo) { echo $_ }}

SammenLiknBrukere.ps1
##Atle Holm - 2010
#Finner ulikheter i gruppetilhørigheter mellom bruker 1 og 2(sammenlikningsident).

$userOne = Read-Host "Skriv brukernavn til første bruker som skal sammenliknes"
$userTwo = Read-Host "Skriv brukernavn til andre bruker som skal sammenliknes"
$pathN = Read-Host "Skriv inn sti hvor resultatene skal logges"

$log = "$userOne-ulikheterVS-$userTwo.log"
$exists = $false
$endret = $false

$DATEX = Get-Date

Write-Host "Sammenlikner $userOne med $userTwo"

$QADuserOne = Get-QADUser $userOne
$QADuserTwo = Get-QADUser $userTwo

$userOneGroups = $QADuserOne.memberof | % { $_.split(",")[0].substring(3) }
$userTwoGroups = $QADuserTwo.memberof | % { $_.split(",")[0].substring(3) }

#Write-Output "$QADuserOne has the groups:`n $userOneGroups"
#Write-Output "$QADuserTwo has the groups:`n $userTwoGroups"

foreach ($userOneGroup in $userOneGroups) {
   foreach ($userTwoGroup in $userTwoGroups) {
      Write-Output "$userOneGroup sammenliknes med $userTwoGroup"
      if ($userOneGroup -eq $userTwoGroup) {
         $exists = $true
      } 
   }
   if ($exists -ne $true) {
      $userOneGroup >> $pathN\$log      
      $endret = $true
   }
   $exists = $false
}
if ($endret -eq $false) {
   Write-Output "Det ble ikke funnet noen ulikheter mellom $userOne og $userTwo" >> $pathN\$log
}
Write-Host "Se $pathN\$log"

CleanUpPrinterQueues.ps1
#Atle Holm - 2013
#Cancels all print queues in local computer with errors in them:

(Get-WMIObject Win32_Printer -computername . | where-object {$_.Status.toUpper -eq "ERROR" -or $_.PrinterState -eq 1 `
-or $_.PrinterState -eq 7 -or $_.ExtendedDetectedErrorState -eq 11 -or $_.ExtendedDetectedErrorState -eq 12 `
-or $_.ExtendedDetectedErrorState -eq 13 -or $_.ExtendedPrinterStatus -eq 9 -or $_.DetectedErrorState -eq 1 `
-or $_.DetectedErrorState -eq 8 -or $_.DetectedErrorState -eq 11}) `
| %{$name = $_.Name; "Cancelling all jobs on $name"; $_.CancelAllJobs() > $NULL}

Perl
VisualBasic
BASH
Powershell