Et lille stykke powershell kode, da jeg havde behov for at holde en "offline" caching dir på C:\ i sync med brugere der have en profile på en maskine.

Såfremt at der ikke er en mappe af samme navn under CompairSource slettes denne på CompairTarget

 

$CompairSource = Get-ChildItem -path C:\users
$CompairTarget = Get-ChildItem -path C:\outlook
 
$DirConpair = Compare-Object -ReferenceObject $CompairSource -DifferenceObject $CompairTarget
 
#$DirConpair | Where-Object {$_.SideIndicator -eq "=>"} 
 
$DirConpair | foreach {
     if($_.SideIndicator -eq "=>") 
            { 
                Write-host "=>"
                    #$_.InputObject | gm
                   remove-item $_.InputObject.FullName -Force -Recurse
                   # $_ | GM
            } 
}
 

Et par powershell commandoer til smide en pc's mac adresse op i ad, praktisk i forhold til f.eks et WOL script

Import-Module ActiveDirectory
$mac="11:22:33:44:55:66"
Set-ADComputer -Identity <computernavn> -add @{'networkAddress'=$mac}

Fjern data lagt i "netwokAddress" attributten

Set-ADComputer -Identity <computernavn> -clear networkAddress

Data kan ses via
get-ADComputer <computernavn> -Properties networkAddress

Men husk at der går lidt tid før det er replikeret rundt i AD.

Lidt Powershell script for at hente (un)install informationer ud af Registry på en windows maskine

I tilfælde af en 32 bit maskine, vil det hele ligge her.

$RegPath="HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"
 foreach ( $key in dir $RegPath ) {(get-itemproperty -path registry::$key).DisplayName}

 På 64 bit maskiner vil det meste ligger herunder, samt lidt I ovenstående også.

$RegPath6432="HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall"
 foreach ( $key in dir $RegPath6432) {(get-itemproperty -path registry::$key) | ft DisplayName, Uninstallstring}

hvis man vil "cd" rundt I registry kan det klares via CD HKCU: eller CD HKLM: for at skifte til at browse I registry.

Et lille Powershell Script til at rydde op i TDCPlay's træls brandings i filer.


Param
(
[parameter(mandatory=$true,HelpMessage="Angiv RootPath til mappe med filer, ok?")][ValidateNotNullOrEmpty()]$RootPath
)

$AllFiles = Get-ChildItem $RootPath -recurse

foreach ($item in $AllFiles) {

$Ext =  $item.Extension
Switch($Ext)
{
".mp3" {
$OldName = $item.FullName
$NewFilePath = $item.DirectoryName.Replace("TDCPLAY_","")
if (( Test-Path $NewFilePath) -ne $true )
{
New-Item $NewFilePath -type directory
}
$NewFileName = $item.name.Replace("TDCPLAY_","")
$New = $NewFilePath + "\" + $NewFileName
Copy-Item $OldName $New
}
".wma"  {$item.Delete}
".m3u"  {$item.Delete}

}

}
}