Skip to content

Instantly share code, notes, and snippets.

View kkamegawa's full-sized avatar

KAMEGAWA Kazushi kkamegawa

View GitHub Profile
@kkamegawa
kkamegawa / gist:4240828
Created December 8, 2012 15:58
Deny Itanium patch in Windows Server 2012's WSUS
$wsus = Get-WsusServer -name localhost -PortNumber 8530
$ia64 = $wsus.GetUpdates() | Where-Object {$_.title.indexof("Itanium") -gt 1 -and $_.title.indexof("x64") -eq -1 -and $_.ArrivalDate -gt [datetime]::Now.AddDays(-7)}
foreach($patch in $ia64) {
Get-WsusUpdate -UpdateId $patch.id.updateid | Deny-WsusUpdate
}
$wsus | Invoke-WsusServerCleanup -CleanupObsoleteUpdates -CleanupUnneededContentFiles -CompressUpdates -DeclineExpiredUpdates
@kkamegawa
kkamegawa / gist:4285724
Last active October 14, 2015 01:18
Remove IIS Log file for IIS 7.0/7.5/8.0 after 7 days.
import-module WebAdministration
$iisroot = 'IIS:\Sites\'
$sites = get-itemproperty $iisroot
foreach($site in $sites.children) {
foreach($webroot in $sites.Children.Keys) {
$WebSite = join-path $iisroot $webroot
$logpath = get-itemproperty $WebSite -name logfile.directory.value
if($logpath -ne $null) {
$logpath = [environment]::ExpandEnvironmentVariables($logpath)
$files = get-childitem $logpath -include "*.log" -recurse
@kkamegawa
kkamegawa / gist:9035191
Created February 16, 2014 14:33
Install-WindowsFeature for TFS
Install-WindowsFeature -name Web-Common-Http,Web-Windows-Auth,Web-Basic-auth,Web-Performance,Web-Dyn-Compression,Web-Net-Ext,Web-Net-Ext45,Web-AppInit,Web-Asp-Net,Web-Asp-Net45,Web-ISAPI-Filter,Web-ISAPI-Ext,Web-WebSockets,Web-Mgmt-Tools,Web-Mgmt-Console,Web-Scripting-Tools,Web-Mgmt-Service,AS-NET-Framework,AS-Web-Support,AS-WAS-Support,FS-FileServer,NET-Framework-Features,NET-Framework-Core,NET-HTTP-Activation,NET-Non-HTTP-Activ,NET-Framework-45-ASPNET,NET-WCF-HTTP-Activation45,NET-WCF-TCP-Activation45,NET-WCF-Pipe-Activation45,ManagementOData,WAS-Process-Model,WAS-NET-Environment,WAS-Config-APIs,WinRM-IIS-Ext,Web-Request-Monitor,Web-Http-Tracing -source d:\sources\sxs
@kkamegawa
kkamegawa / gist:9052606
Created February 17, 2014 15:26
Setting Windows Update timing for PowerShell
$AutoUpdate = new-object -ComObject "Microsoft.Update.AutoUpdate"
# 4 is Scheduled Install
# Be carefull.If you enabled Group Policy when setting NotificationLevel is abort.
$AutoUpdate.Settings.NotificationLevel = 4
# 0 is EveryDay
$AutoUpdate.Settings.ScheduledInstallationDay = 0
# 0 is 0:00 AM
$AutoUpdate.Settings.ScheduledInstallationTime = 0
$AutoUpdate.Settings.save()
@kkamegawa
kkamegawa / gist:7d50a2b4e37be0646d84
Created July 9, 2014 19:43
Enterprise 6.0 Logging
using System.Diagnostics;
using Microsoft.Practices.EnterpriseLibrary.Logging;
using Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners;
namespace LogBlock
{
class Program
{
public void FlatText()
{
@kkamegawa
kkamegawa / gist:5167d205be61d24f46b0
Created July 27, 2014 04:34
SQL Server 2014 command-line install for TFS
setup.exe /ACTION=Install /QS /UpdateEnabled=1 /FEATURES=SQLEngine,FullText,AS,RS,ADV_SSMS /IACCEPTSQLSERVERLICENSETERMS /ERRORREPORTING=1 /INSTANCEDIR="D:\MSSQL" /INSTANCENAME="MSSQLServer" /SQMREPORTING=1 /AGTSVCACCOUNT="domain\account" /AGTSVCPASSWORD="password" /AGTSVCSTARTUPTYPE=Automatic /ASCOLLATION="Japanese_XJIS_100_CI_AS" /ASSVCACCOUNT="domain\account" /ASSVCPASSWORD="password" /ASSYSADMINACCOUNTS="domain\administrator" /BROWSERSVCSTARTUPTYPE=Automatic /SQLCOLLATION="Japanese_XJIS_100_CI_AS" /SQLSVCACCOUNT="domain\account" /SQLSVCPASSWORD="password" /SQLSVCSTARTUPTYPE=Automatic /TCPENABLED=1 /RSSVCACCOUNT="domain\account" /RSSVCPASSWORD="password" /SQLSYSADMINACCOUNTS="domain\administrator"
@kkamegawa
kkamegawa / gist:88ac2220b31be925b44b
Last active August 29, 2015 14:04
PowerShell for Windows patch apply
$patches = get-item $foldername
$process = new-object System.Diagnostics.Process
foreach($patch in $patches){
if($PSVersionTable.PSVersion.Major -ge 4) {
unblock-file $patch
}
if([string]::compare($patch.extension, ".exe", $true) -eq 0) {
$process.StartInfo.Arguments = "/passive /norestart"
$process.StartInfo.FileName = $patch.fullname
}else if([string]::compare($patch.extension, ".msu", $true) -eq 0) {
$fontregistory = 'Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts\'
$fonts = get-item -Path $fontregistory | Select-Object -expandProperty Property
foreach($font in $fonts){
$fontpath = get-ItemProperty -path $fontregistory | select-Object -property $font
#if font path is full path and exist
$FontExist = Test-Path $fontpath.$font
if($FontExist -eq $true){
if($fontpath.$font.EndsWith('.otf', $true, $null) -eq $true){
Write-Host "Your environmet will trouble with MS14-045. See https://support.microsoft.com/kb/2982791"
return
@kkamegawa
kkamegawa / AuthenticationProxySetting.xml
Last active August 29, 2015 14:07
Use Authentication proxy in .NET Program.append this section in exe.config file.
<system.net>
<defaultProxy useDefaultCredentials="true" enabled="true">
<proxy usesystemdefault="True"/>
</defaultProxy>
<settings>
<ipv6 enabled="true"/>
</settings>
</system.net>
@kkamegawa
kkamegawa / Reset-Nic.ps1
Created November 24, 2014 20:20
Reset Network Adapter for Windows 8.1/Windows Server 2012 R2
#Reset Network Adapter for Windows 8.1/Windows Server 2012 R2
Diable-NetAdapter -name "Local Area Network" -confirm:$false
Enable-NetAdapter -name "Local Area Network" -confirm:$false