Showing posts with label COM. Show all posts
Showing posts with label COM. Show all posts

Wednesday, 9 November 2011

Open-WordDocument.ps1

  1. <# 
  2. .SYNOPSIS 
  3.     This script opens a word document using PowerShell 
  4. .DESCRIPTION 
  5.     This script re-implments a simple MSDN script to open 
  6.     a word document using VBA. IT Pros using PowerShell 
  7.     might also make use of to create rich documents as 
  8.     output from a script. 
  9. .NOTES 
  10.     File Name  : Open-WordDocument.ps1 
  11.     Author     : Thomas Lee - tfl@psp.co.uk 
  12.     Requires   : PowerShell Version 2.0 
  13. .LINK 
  14.     This script posted to: 
  15.         http://www.pshscripts.blogspot.com 
  16.     MSDN sample posted to: 
  17.         http://msdn.microsoft.com/en-us/library/bb148369%28office.12%29.aspx 
  18. .EXAMPLE 
  19.     Running this sample opens the file c:\foo\doc1.docx in Word. The  
  20.     COM object referring to the document is returned for later use. 
  21.      
  22. #> 
  23.  
  24. # Create Word Object 
  25. $wrd = new-object -com word.application 
  26.  
  27. # Make Word Visible 
  28. $wrd.visible = $true 
  29.  
  30. # Open a document  
  31. $doc = $wrd.documents.open("C:\foo\doc1.docx"

Friday, 24 September 2010

New-Task.ps1

  1. <# 
  2. .SYNOPSIS 
  3.     This script creates a scheduled task object. 
  4. .DESCRIPTION 
  5.     This script re-implements an MSDN sample using PowerShell 
  6. .NOTES 
  7.     File Name  : New-Task.ps1 
  8.     Author     : Thomas Lee - tfl@psp.co.uk 
  9.     Requires   : PowerShell Version 2.0 
  10. .LINK 
  11.     This script posted to: 
  12.         http://www.pshscripts.blogspot.com 
  13.     MSDN sample posted tot: 
  14.         http://msdn.microsoft.com/en-us/library/aa383665%28VS.85%29.aspx 
  15. .EXAMPLE 
  16.     PSH [C:\foo]: .\New-Task.ps1
  17.     Time Now       : 9/24/2010 12:43:47 PM 
  18.     Task startTime : 2010-09-24T12:44:17 
  19.     Task endTime   : 2010-09-24T12:48:47 
  20.     Task definition created. About to submit the task... 
  21.   
  22.   
  23.     Name               : Test TimeTrigger 
  24.     Path               : Test TimeTrigger 
  25.     State              : 3 
  26.     Enabled            : True 
  27.     LastRunTime        : 12/30/1899 12:00:00 AM 
  28.     LastTaskResult     : 1 
  29.     NumberOfMissedRuns : 0 
  30.     NextRunTime        : 9/24/2010 12:44:17 PM 
  31.     Definition         : System.__ComObject 
  32.     Xml                : <?xml version="1.0" encoding="UTF-16"?> 
  33.                          <Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task"
  34.                            <RegistrationInfo> 
  35.                              <Author>Thomas Lee</Author> 
  36.                              <Description>Start notepad at a certain time</Description> 
  37.                            </RegistrationInfo> 
  38.                            <Triggers> 
  39.                              <TimeTrigger id="TimeTriggerId"
  40.                                <StartBoundary>2010-09-24T12:44:17</StartBoundary> 
  41.                                <EndBoundary>2010-09-24T12:48:47</EndBoundary> 
  42.                                <ExecutionTimeLimit>PT5M</ExecutionTimeLimit> 
  43.                                <Enabled>true</Enabled> 
  44.                              </TimeTrigger> 
  45.                            </Triggers> 
  46.                            <Settings> 
  47.                              <IdleSettings> 
  48.                                <Duration>PT10M</Duration> 
  49.                                <WaitTimeout>PT1H</WaitTimeout> 
  50.                                <StopOnIdleEnd>true</StopOnIdleEnd> 
  51.                                <RestartOnIdle>false</RestartOnIdle> 
  52.                              </IdleSettings> 
  53.                              <MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy> 
  54.                              <DisallowStartIfOnBatteries>true</DisallowStartIfOnBatteries> 
  55.                              <StopIfGoingOnBatteries>true</StopIfGoingOnBatteries> 
  56.                              <AllowHardTerminate>true</AllowHardTerminate> 
  57.                              <StartWhenAvailable>true</StartWhenAvailable> 
  58.                              <RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable> 
  59.                              <AllowStartOnDemand>true</AllowStartOnDemand> 
  60.                              <Enabled>true</Enabled> 
  61.                              <Hidden>false</Hidden> 
  62.                              <RunOnlyIfIdle>false</RunOnlyIfIdle> 
  63.                              <WakeToRun>false</WakeToRun> 
  64.                              <ExecutionTimeLimit>PT72H</ExecutionTimeLimit> 
  65.                              <Priority>7</Priority> 
  66.                            </Settings> 
  67.                            <Actions Context="Author"
  68.                              <Exec> 
  69.                                <Command>C:\Windows\System32\notepad.exe</Command> 
  70.                              </Exec> 
  71.                            </Actions> 
  72.                            <Principals> 
  73.                              <Principal id="Author"
  74.                                <UserId>COOKHAM\tfl</UserId> 
  75.                                <LogonType>InteractiveToken</LogonType> 
  76.                              </Principal> 
  77.                            </Principals> 
  78.                          </Task> 
  79.  
  80.     Task submitted. 
  81. #> 
  82. # Helper Function 
  83. function XMLTIME{ 
  84. Param ( $T) 
  85. $csecond = $t.Second.ToString() 
  86. $cminute = $t.minute.ToString() 
  87. $chour = $t.hour.ToString() 
  88. $cday  = $t.day.ToString() 
  89. $cmonth  = $t.month.ToString() 
  90. $cyear = $t.year.ToString() 
  91.  
  92. $date =  $cyear + "-" 
  93. if ($cmonth.Length -eq 1) { $date += "0" + $cmonth + "-"}  
  94. else                      { $date += $cmonth + "-"
  95. if ($cday.length -eq 1)   { $date += "0" + $cday + "T"
  96. else                      { $date += $cday + "T"
  97. if ($chour.length -eq 1)  { $date += "0" + $chour + ":"
  98. else                      { $date += $chour + ":"
  99. if ($cminute.length -eq 1){ $date += "0" + $cminute + ":"
  100. else                      { $date += $cminute + ":"
  101. if ($csecond.length -eq 1){ $date += "0" + $csecond} 
  102. else                      { $date += $csecond} 
  103. # return 
  104. $date 
  105.  
  106. ## Script starts here 
  107.  
  108. # A constant that specifies a time-based trigger. 
  109. $TriggerTypeTime = 1 
  110. # A constant that specifies an executable action. 
  111. $ActionTypeExec = 0    
  112.  
  113. # Create and connect to the service 
  114. $service = New-Object -com schedule.service  
  115. $service.Connect() 
  116.  
  117. # Get a folder to create a task definition in.  
  118. $rootFolder = $service.GetFolder("\") 
  119.  
  120. # The taskDefinition variable is the TaskDefinition object. 
  121. # The flags parameter is 0 because it is not supported. 
  122. $taskDefinition = $service.NewTask(0)  
  123.  
  124. # Define information about the task. 
  125. # Set the registration info for the task by  
  126. # creating the RegistrationInfo object. 
  127. $regInfo = $taskDefinition.RegistrationInfo 
  128. $regInfo.Description = "Start notepad at a certain time" 
  129. $regInfo.Author = "Thomas Lee" 
  130.  
  131. # Set the principal for the task 
  132. $principal = $taskDefinition.Principal 
  133.  
  134. # Set the logon type to interactive logon 
  135. $principal.LogonType = 3 
  136.  
  137. # Set the task setting info for the Task Scheduler by 
  138. # creating a TaskSettings object. 
  139. $settings = $taskDefinition.Settings 
  140. $settings.Enabled = $True 
  141. $settings.StartWhenAvailable = $True 
  142. $settings.Hidden = $False 
  143.  
  144. # Create a time-based trigger. 
  145. $triggers = $taskDefinition.Triggers 
  146. $trigger = $triggers.Create($TriggerTypeTime) 
  147.  
  148. # Trigger variables that define when the trigger is active. 
  149. $time = ([system.datetime]::now).addseconds(30) 
  150. $startTime = XmlTime($time) 
  151.  
  152. $time = ([system.datetime]::now).addminutes(5) 
  153. $endTime = XmlTime($time) 
  154.  
  155. "Time Now       : {0}" -f (Get-Date -display time) 
  156. "Task startTime : {0}" -f $startTime 
  157. "Task endTime   : {0}" -f $endTime 
  158.  
  159. $trigger.StartBoundary = $startTime 
  160. $trigger.EndBoundary = $endTime 
  161. $trigger.ExecutionTimeLimit = "PT5M"    #Five minutes 
  162. $trigger.Id = "TimeTriggerId" 
  163. $trigger.Enabled = $True 
  164.  
  165. # Create the action for the task to execute. 
  166.  
  167. # Add an action to the task to run notepad.exe. 
  168. $Action = $taskDefinition.Actions.Create( $ActionTypeExec ) 
  169. $Action.Path = "C:\Windows\System32\notepad.exe" 
  170.  
  171. "Task definition created. About to submit the task..." 
  172.  
  173. # Register (create) the task. 
  174. $rootFolder.RegisterTaskDefinition("Test TimeTrigger", $taskDefinition, 6,"" ,"" , 3) 
  175.  
  176. # all done! 
  177. "Task submitted." 

Thursday, 18 March 2010

Enable-ICMP.ps1

  1. <# 
  2. .SYNOPSIS 
  3.     This script Enables ICMP on the Standard Firewall profile. 
  4. .DESCRIPTION 
  5.     This script creates a Firewall object then configures it. 
  6. .NOTES 
  7.     File Name  : Enable-ICMP.ps1 
  8.     Author     : Thomas Lee - tfl@psp.co.uk 
  9.     Requires   : PowerShell Version 2.0 
  10. .LINK 
  11.     This script posted to: 
  12.         http://www.pshscripts.blogspot.com 
  13.     MSDN Sample posted at: 
  14.         http:// 
  15. .EXAMPLE 
  16.     PSH [C:\foo]: . 'E:\PowerShellScriptLib\COM\HNetCfg.FwMgr\Enable-ICMP.ps1' 
  17.  
  18.     AllowOutboundDestinationUnreachable : False 
  19.     AllowRedirect                       : False 
  20.     AllowInboundEchoRequest             : False 
  21.     AllowOutboundTimeExceeded           : False 
  22.     AllowOutboundParameterProblem       : False 
  23.     AllowOutboundSourceQuench           : False 
  24.     AllowInboundRouterRequest           : False 
  25.     AllowInboundTimestampRequest        : False 
  26.     AllowInboundMaskRequest             : False 
  27.     AllowOutboundPacketTooBig           : True 
  28.  
  29.     After Script ran: 
  30.     AllowOutboundDestinationUnreachable : False 
  31.     AllowRedirect                       : False 
  32.     AllowInboundEchoRequest             : True 
  33.     AllowOutboundTimeExceeded           : False 
  34.     AllowOutboundParameterProblem       : False 
  35.     AllowOutboundSourceQuench           : False 
  36.     AllowInboundRouterRequest           : False 
  37.     AllowInboundTimestampRequest        : False 
  38.     AllowInboundMaskRequest             : False 
  39.     AllowOutboundPacketTooBig           : True 
  40. #> 
  41.  
  42. ## 
  43. # Start of script 
  44. ## 
  45.  
  46. # Set strict mode 
  47. Set-StrictMode -Version 2.0 
  48.  
  49. # Set Constants 
  50. $NET_FW_PROFILE_DOMAIN   = 0 
  51. $NET_FW_PROFILE_STANDARD = 1 
  52.  
  53. # Create the firewall manager object. 
  54. $fwMgr = New-Object -com HNetCfg.FwMgr 
  55.  
  56. # Get the current profile for the local firewall policy. 
  57. $profile = $fwMgr.LocalPolicy.GetProfileByType($NET_FW_PROFILE_STANDARD
  58.  
  59. # Display current ICMP settings 
  60. $Profile.IcmpSettings 
  61.  
  62. # Now set it to True 
  63. $profile.IcmpSettings.AllowInboundEchoRequest = $True 
  64.  
  65. # Use this line if you want to disable the setting. 
  66. #profile.IcmpSettings.AllowInboundEchoRequest = $FALSE 
  67.  
  68. # Display it again 
  69. "After Script ran: " 
  70. $Profile.IcmpSettings 
  71.  
  72. # End Script 

Wednesday, 17 March 2010

Enable-FirewallPort2.ps1

  1. <# 
  2. .SYNOPSIS 
  3.     This script creates a rule in the Windows Host Firewall. 
  4. .DESCRIPTION 
  5.     This script creates a new firewall rule for 
  6.     port 80 over tcp (i.e. 80). 
  7. .NOTES 
  8.     File Name  : Enable-FirewallPort.ps1 
  9.     Author     : Thomas Lee - tfl@psp.co.uk 
  10.     Requires   : PowerShell Version 2.0 
  11. .LINK 
  12.     This script posted to: 
  13.         http://pshscripts.blogspot.com/2010/03/enable-firewallport2ps1.html 
  14.     MSDN Sample posted at: 
  15.         http://msdn.microsoft.com/en-us/library/aa366423%28VS.85%29.aspx 
  16. .EXAMPLE 
  17.     PSH [C:\foo]: .\Enable-FirewallPort.ps1
  18.     Before Script Runs: 
  19.  
  20.     Name   IpVersion Protocol Port Scope RemoteAddresses Enabled 
  21.     ----   --------- -------- ---- ----- --------------- ------- 
  22.     HTTPS          2        6  443     0 *                  True 
  23.     driver         2        6 8085     0 *                  True 
  24.     driver         2        6 8085     0 *                  True 
  25.   
  26.  
  27.     After Script Runs: 
  28.  
  29.     Name   IpVersion Protocol Port Scope RemoteAddresses Enabled 
  30.     ----   --------- -------- ---- ----- --------------- ------- 
  31.     HTTP           2        6   80     0 *                  True 
  32.     HTTPS          2        6  443     0 *                  True 
  33.     driver         2        6 8085     0 *                  True 
  34.     driver         2        6 8085     0 *                  True 
  35.  
  36. #> 
  37.  
  38. ## 
  39. # Start Script 
  40. ## 
  41.  
  42. # Set Strict Mode  
  43. Set-Strictmode -Version 2.0 
  44. # Set Constants 
  45. $NET_FW_IP_PROTOCOL_UDP = 17 
  46. $NET_FW_IP_PROTOCOL_TCP = 6 
  47.  
  48. # Create the firewall manager object. 
  49. $fwMgr = New-Object -COM HNetCfg.FwMgr 
  50.  
  51. # Get the current profile for the local firewall policy. 
  52. $profile = $fwMgr.LocalPolicy.CurrentProfile 
  53.  
  54. # Display it 
  55. "Before Script Runs:" 
  56. $profile.GloballyOpenPorts | ` 
  57. ft name, ipversion, protocol, port, scope, remoteaddresses, enabled -auto 
  58.  
  59. # Now add Port 80 
  60.  
  61. $port = New-Object -COM HNetCfg.FWOpenPort 
  62. $port.Name = "HTTP" 
  63. $port.Protocol = $NET_FW_IP_PROTOCOL_TCP 
  64. $port.Port = 80 
  65.  
  66. # If using RemoteAddresses, don't use Scope 
  67. # "*" means Scope of Any. Other entries are ignored if this is specified. 
  68. # "LocalSubnet" means Scope of Local Subnet. Can be used with other addresses as well.  
  69. $port.RemoteAddresses = "*" 
  70.  
  71. # Use this line to scope the port to Local Subnet only 
  72. #$port.RemoteAddresses = "LocalSubnet" 
  73.  
  74. #Use this line to scope the port to the specific IP 10.1.1.1, the specific subnet 12.5.0.0, and Local Subnet. Don't put spaces. 
  75. #port.RemoteAddresses = "LocalSubnet,10.1.1.1/255.255.255.255,12.5.0.0/255.255.0.0" 
  76.  
  77. $port.Enabled = $TRUE 
  78.  
  79. #Use this line instead if you want to add the port, but disabled 
  80. #port.Enabled = FALSE 
  81.  
  82. # Now add the port 
  83. $profile.GloballyOpenPorts.Add($port
  84.  
  85. # Print Results 
  86. " After Script Runs:" 
  87. $profile = $fwMgr.LocalPolicy.CurrentProfile 
  88. $profile.GloballyOpenPorts | ` 
  89. ft name, ipversion, protocol, port, scope, remoteaddresses, enabled -auto 
  90. # End of script 

Friday, 5 March 2010

Enable-FWPort.ps1

  1. <# 
  2. .SYNOPSIS 
  3.     This script enables then disables the SMTP port on a local system  
  4. .DESCRIPTION 
  5.     This script first creates a FW object, then creates a port. The 
  6.     script then addes that port to the firewall rules. The script 
  7.     finally removes the port. The script also prints before/after 
  8.     results. 
  9. .NOTES 
  10.     File Name  : Enable-FWPort.ps1 
  11.     Author     : Thomas Lee - tfl@psp.co.uk 
  12.     Requires   : PowerShell Version 2.0 
  13. .LINK 
  14.     This script posted to: 
  15.         http://www.pshscripts.blogspot.com 
  16.     MSDN Sample posted at: 
  17.         http://msdn.microsoft.com/en-us/library/aa366425(VS.85).aspx 
  18. #> 
  19.  
  20. ##  
  21. # Start of Script 
  22. ##  
  23.   
  24. # Define Constants 
  25. $NET_FW_IP_PROTOCOL_UDP = 17 
  26. $NET_FW_IP_PROTOCOL_TCP = 6 
  27. $NET_FW_SCOPE_ALL = 0 
  28.   
  29. # Create FW objecct 
  30. $fwMgr = new-object -com HNetCfg.FwMgr 
  31.   
  32. # Get current profile 
  33. $profile = $fwMgr.LocalPolicy.CurrentProfile 
  34.   
  35. # Display ports open: 
  36. $profile.GloballyOpenPorts | ft name,port,enabled -auto 
  37.   
  38. # Create Port object 
  39. $port = New-Object -com HNetCfg.FWOpenPort 
  40. $port.Name = "SMTP" 
  41. $port.Port = 25 
  42. $port.Protocol = $NET_FW_IP_PROTOCOL_TCP 
  43. $port.Scope = $NET_FW_SCOPE_ALL 
  44.   
  45. # Enable the port 
  46. $port.Enabled = $True 
  47. $profile.GloballyOpenPorts.Add($port
  48.   
  49. # Display results 
  50. $profile.GloballyOpenPorts | ft name,port,enabled -auto 
  51.   
  52. # now remove the port 
  53. $profile.GloballyOpenPorts.remove($port.port,$NET_FW_IP_PROTOCOL_TCP
  54.   
  55. # Display results 
  56. $profile.GloballyOpenPorts | ft name,port,enabled -auto 
  57. # End of script 
Technorati Tags: ,,,

Saturday, 24 October 2009

Get-CARolesOfCaller.ps1

  1. <# 
  2. .SYNOPSIS 
  3.     This script displays the CA roles of the caller 
  4. .DESCRIPTION 
  5.     This script instantiates the CA COM object, gets 
  6.     the allowed roles, and displays them. This script 
  7.     also shows use of Bitwise And operations, typical  
  8.     when using output from API calls.  Based on an earlier
  9.     script by Vadims Podans.
  10. .NOTES 
  11.     File Name  : Get-CARolesofCaller.ps1 
  12.     Author     : Thomas Lee - tfl@psp.co.uk 
  13.     Requires   : PowerShell V2 
  14. .LINK 
  15.     This script posted to: 
  16.         http://pshscripts.blogspot.com/2009/10/get-carolesofcallerps1.html
  17.     MSDN Sample posted at: 
  18.         http://msdn.microsoft.com/en-us/library/aa383243%28VS.85%29.aspx 
  19. .EXAMPLE 
  20.     PSH [C:\foo]: .\Get-CARolesOfCaller.ps1' 
  21.     You have the following rights on this CA: Cookham11\Cookham-CookhamCA 
  22.         CA administrator 
  23.         CA officer 
  24.         CA auditor 
  25.         CA backup 
  26.         Enrollment access 
  27. #> 
  28. # Instantiate the COM object 
  29. $CertAdmin = New-Object -com "CertificateAuthority.Admin.1" 
  30.   
  31. # Now get the roles assigned to me 
  32. $CA = "Cookham11\Cookham-CookhamCA" 
  33. $MyRoles = $CertAdmin.GetMyRoles([string] $CA
  34.  
  35. #Display Granular Rights 
  36. "You have the following rights on this CA: {0}" -f $CA 
  37.  switch ($MyRoles){ 
  38. {$MyRoles -band 1}     {"    CA administrator"
  39. {$MyRoles -band 2}     {"    CA officer"
  40. {$MyRoles -band 4}     {"    CA auditor"
  41. {$MyRoles -band 8}     {"    CA backup"
  42. {$MyRoles -band 256}   {"    CA Read access"
  43. {$MyRoles -band 512}   {"    Enrollment access"
  44. default                {"    No CA Access"

Tuesday, 23 December 2008

Get-FileCount.ps1

  1. # Get-FileCount.ps1 
  2. # Uses shell.application to get a count of files in a folder 
  3. # Thomas Lee - tfl@psp.co.uk 
  4.  
  5. # First get shell object 
  6. $Shell = new-object -com Shell.Application 
  7.  
  8. # Now get folder details and item counts for a folder 
  9. $foldername = "D:\Foo" 
  10. $folder = $shell.namespace($foldername
  11. if (!$folder) { 
  12. "Folder: {0} does not exist" -f $foldername 
  13. return 
  14.  
  15. # Now output the count of folders 
  16. if ($folder) {  
  17.  $folderitems = $folder.items()  
  18.  $count = $folderitems.count  
  19.  
  20.  $folderps1items = $folderitems | where {$_.type -eq "PS1 File"
  21.  $countps1items=$folderps1items.count 
  22.   
  23.  "Folder `"{0}`" contains {1} files"     -f $foldername, $count 
  24.  "Folder `"{0}`" contains {1} PS1 files" -f $foldername, $countps1items 

This script produces the following output:

PSH [D:\foo]: .\shell.application\Get-FileCount.PS1'
Folder "D:\Foo" contains 38 files
Folder "D:\Foo" contains 22 PS1 files

Saturday, 20 December 2008

Get-FirewallDetails.ps1

  1. # Get-FirewallDetails.ps1 
  2. # Gets details of Windows Firewall (on Vista and Server 2008 or later) 
  3. # Runs on the local machine 
  4. # Thomas Lee - tfl@psp.co.uk 
  5.  
  6. # First create COM object for policy profile and get host name 
  7. $profile = (new-object -com HNetCfg.FwMgr).LocalPolicy.CurrentProfile 
  8. $Hostname=hostname 
  9.  
  10. # Is firewall enabled? 
  11. if ($profile.FirewallEnabled) { 
  12. "Firewall is enabled on system {0}" -f $Hostname 
  13. else
  14. "Firewall is NOT enabled on system {0}" -f $Hostname 
  15.  
  16. # Exceptions allowed? 
  17. if ($profile.ExceptionsNotAllowed) {"Exceptions NOT allowed"}  
  18. else {"Exceptions are allowed"
  19.  
  20. # Notifications? 
  21. if ($profile.NotificationsDisabled) {"Notifications are disabled"
  22. else {"Notifications are not disabled"
  23.  
  24. # Display determine global open ports  
  25. $ports = $profile.GloballyOpenPorts  
  26. if (!$ports -or $ports.count -eq 0) { 
  27. "There are no global open ports" 
  28. else
  29. "There are {0} open ports as follows:" -f $ports.count 
  30. $ports 
  31. "" 
  32.  
  33. # Display ICMP settings 
  34. "ICMP Settings:" 
  35. $profile.IcmpSettings 
  36.  
  37. # Display authorised applications 
  38. $apps = $profile.AuthorizedApplications  
  39. # 
  40. if (!$apps) { 
  41. "There are no authorised applications" 
  42. else
  43. "There are {0} global applications as follows:" -f $apps.count 
  44. $apps  
  45.  
  46. # Display authorised services 
  47. $services = $profile.services 
  48. # 
  49. if (!$services) { 
  50. "There are no authorised services" 
  51. else
  52. "There are {0} authorised services as follows:" -f $services.count 
  53. $services 

This script produces the following output:

PS C:\foo> .\Get-FirewallDetails.ps1
Firewall is enabled on system Cookham8
Exceptions are allowed
Notifications are disabled
There are no global open ports

ICMP Settings:
AllowOutboundDestinationUnreachable : False
AllowRedirect                       : False
AllowInboundEchoRequest             : True
AllowOutboundTimeExceeded           : False
AllowOutboundParameterProblem       : False
AllowOutboundSourceQuench           : False
AllowInboundRouterRequest           : False
AllowInboundTimestampRequest        : False
AllowInboundMaskRequest             : False
AllowOutboundPacketTooBig           : True

There are 4 global applications as follows:
Name                 : BitTorrent
ProcessImageFileName : C:\Program Files (x86)\BitTorrent\bittorrent.exe
IpVersion            : 2
Scope                : 0
RemoteAddresses      : *
Enabled              : True

Name                 : DNA
ProcessImageFileName : C:\Program Files (x86)\DNA\btdna.exe
IpVersion            : 2
Scope                : 0
RemoteAddresses      : *
Enabled              : True

Name                 : Microsoft Office OneNote
ProcessImageFileName : C:\Program Files (x86)\Microsoft Office\Office12\ONENOTE.EXE
IpVersion            : 2
Scope                : 0
RemoteAddresses      : *
Enabled              : True

Name                 : Microsoft Office Groove
ProcessImageFileName : C:\Program Files (x86)\Microsoft Office\Office12\GROOVE.EXE
IpVersion            : 2
Scope                : 0
RemoteAddresses      : *
Enabled              : True

There are 3 authorised services as follows:
Name              : File and Printer Sharing
Type              : 0
Customized        : False
IpVersion         : 2
Scope             : 0
RemoteAddresses   : *
Enabled           : True
GloballyOpenPorts : System.__ComObject

Name              : Network Discovery
Type              : 1
Customized        : True
IpVersion         : 2
Scope             : 1
RemoteAddresses   : LocalSubnet
Enabled           : True
GloballyOpenPorts : System.__ComObject

Name              : Remote Desktop
Type              : 2
Customized        : False
IpVersion         : 2
Scope             : 0
RemoteAddresses   : *
Enabled           : False
GloballyOpenPorts : System.__ComObject