Monday, March 23, 2015

force a machine password change


nltest.exe /sc_change_pwd:mydomain.corp.mycompany.com


now with more info...
http://blogs.msdn.com/b/sudhakan/archive/2010/01/07/experimenting-with-windows-machine-account-passwords-and-vm-snapshots.aspx

Friday, March 20, 2015

Audt Drive Mappings - Group Policy Objects with Powershell

We have bunch of GPOs that perform drive mappings
Unfortunately another team normal does the site work.

so after a little while with servers moving all over the place servers disappear but GPO still had mappings and groups . RAGE

so a bit of powershell to check all the paths

diving into the get-gpo was interesting.

got stumped on test-path when access is denied for a little while until worked out the errorvariable was the way around it.

http://pastebin.com/VvgZpWnA

Friday, March 13, 2015

powershell html table color

Came across some code to change arrays into some nice html code.
has the ability to colour code cells.

#
# $finalrepinfo is array
#
$html = $finalRepInfo|ConvertTo-Html -Fragment
 
$xml = [xml]$html

$attr = $xml.CreateAttribute("id")
$attr.Value='diskTbl'
$xml.table.Attributes.Append($attr)


$rows=$xml.table.selectNodes('//tr')
for($i=1;$i -lt $rows.count; $i++){
    $value=$rows.Item($i).LastChild.'#text'
    if($value -ne $null){
       $attr=$xml.CreateAttribute('style')
       $attr.Value='background-color: red;'
       [void]$rows.Item($i).Attributes.Append($attr)
    }
  
    else {
       $value
       $attr=$xml.CreateAttribute('style')
       $attr.Value='background-color: green;'
       [void]$rows.Item($i).Attributes.Append($attr)
    }
}

#embed a CSS stylesheet in the html header
$html=$xml.OuterXml|Out-String
$style='<style type=text/css>#diskTbl { background-color: white; }
td, th { border:1px solid black; border-collapse:collapse; }
th { color:white; background-color:black; }
table, tr, td, th { padding: 2px; margin: 0px } table { margin-left:50px; }</style>'

ConvertTo-Html -head $style -body $html -Title "Replication Report"|Out-File ReplicationReport.htm


Friday, March 6, 2015

Microsoft Forefront Eventlog | Powershell

thru complex number of reasons... need to monitor forefront via eventlogs - dont have centralised reporting.

1.could of setup alerts on each box to email when a virus detections
2.powershell to check eventlogs and do stuff with it.

had issue with eventlog culture on non powershell4 box.

#
# Virus Detections Last 1 days
#

$LogEntries =@()
$daysAgo = (get-date) - (new-timespan -day 1)

# BugFix for PS3 and anything other than en-us
$orgCulture = Get-Culture
[System.Threading.Thread]::CurrentThread.CurrentCulture = New-Object "System.Globalization.CultureInfo" "en-US"

#
# Target
#
$ou='OU=MOE Servers,DC=lc,DC=local'
$computers=Get-ADComputer -Filter * -SearchBase $ou


foreach ($server in $computers) {
$report=Get-WinEvent -FilterHashtable @{logname='system'; id=1006; ProviderName='FCSAM';StartTime=$daysAgo} -computername $server.dnshostname -ErrorAction SilentlyContinue

    if ($report){
    foreach ($panda in $report){
        $Obj = New-Object -TypeName PsObject
        $Obj | Add-Member -membertype noteproperty -name Server -value ($server.DNSHostName)
        $Obj | Add-Member -membertype noteproperty -name TimeCreated -value ($panda.timecreated)

            foreach ($jeff in (($panda.message).Split("`r"))){
            if ($jeff -match "Name:"){$output=$jeff}
            if ($jeff -match "Severity:"){$output+=$jeff}
             }
        $Obj | Add-Member -membertype noteproperty -name Message -value ($output.Trim())
        $LogEntries += $Obj
    }
#Clear 
$report=$null
$output=$null
}

}

#
# Switch back to Aus
#
[System.Threading.Thread]::CurrentThread.CurrentCulture = New-Object "System.Globalization.CultureInfo" "en-AU"

$LogEntries | sort timecreated -Descending

#
# then do stuff like export to webserver or..
#

Wednesday, December 10, 2014

Elevate'd Privilege - ACLs of Folders - Backup operator

Using PSCX powershell module to give backup operator rights (also might need to do a file server level)
ipmo pscx
$priv=get-privilege
$priv.Enable("SeRestorePrivilege")
$priv.Enable("SeBackupPrivilege")
$priv.Enable("SeSecurityPrivilege")
$priv.Enable("SeTakeOwnershipPrivilege")
set-privilege $priv;
$report=$null
$Report=@()
$InputFile = "C:\temp\Folders.txt"
$OutputFile = "C:\temp\FolderPermissions.csv"
$FolderList = Get-Content $InputFile

ForEach ($Folder in $FolderList)
{
# Get access list items of the folder
$Permissions = (Get-Acl -Path $Folder).Access | 
# Add the path property and assign its value, -PassThru so the object is assigned to $Permissions
forEach-Object { $_ | Add-Member -MemberType NoteProperty -Name Path -Value $Folder -PassThru }

$Report += $Permissions
}

$Report | Select-Object path,IdentityReference,FileSystemRights,IsInherited | Export-CSV $OutputFile -NoTypeInformation 
thanks to whoever's code source I used... so much internet so little time.

Saturday, December 6, 2014

802.1x vs Symantec Endpoint

Recently I have been on a BYOD/ Enterprise mobility project.
As part of this project we are deploying CISCO ISE.

at first network engineer could not work out why the authentication box was missing need to start the wire, so my problem

Could not get the SOE\MOE device to authenticate against the switch. Basically the prompt for auth would never happen. Stock devices were okay.

Pretty sure it was Symantec EndPoint

Symantec couldn't understand the different between Symantec NAC and CISCO ISE. Sigh. I repeated myself about 20 times.
All I got was articles about Symantec NAC.
When Symantec looked at the policies they didnt check what policy was being used on the device. (I am not AV Engineer)

The default firewall policies has a bunch of exceptions at a very low level to allow the 802.1x requests. Once I added these into the policy.. everything worked. :)

clumsy, an utility for simulating broken network for Windows Vista / Windows 7 and above

http://jagt.github.io/clumsy/index.html

Leveraging the awesome WinDivert library, clumsy stops living network packets and capture them, lag/drop/tamper/.. the packets on demand, then send them away. Whether you want to track down weird bugs related to broken network, or evaluate your application on poor connections, clumsy will come in handy


from :http://trentent.blogspot.com.au/2014/11/best-windows-network-bandwidth.html