Skip to content

Instantly share code, notes, and snippets.

View matt40k's full-sized avatar

Matt Smith matt40k

View GitHub Profile
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@matt40k
matt40k / Deploy-Ssas.ps1
Last active August 9, 2020 16:18
Deploys SSAS packages - for Octopus Deploy
$ErrorActionPreference = 'Stop'
$regKeyFormat = 'HKLM:\Software\Wow6432Node\Microsoft\Microsoft SQL Server\{0}0\Tools\ClientSetup\'
$vsVersions = @( '12' )
function Validate-Argument($name, $value) {
if (!$value) {
throw ('Missing required value for parameter ''{0}''.' -f $name)
}
return $value
}
@matt40k
matt40k / Get-ADGroupMembers.ps1
Created December 13, 2015 23:31
Returns the groups and their members
$filter = "bi_*"
$groups = Get-ADGroup -Filter {name -like $filter}
foreach ($group in $groups)
{
$groupName = $group.Name
$members = Get-ADGroupMember $groupName
foreach ($member in $members)
{
$output = $groupName + "," + $member.name
with mycte as
(
select cast('1900-01-01' as datetime) DateValue
union all
select DateValue + 1
from mycte
where DateValue + 1 < '2050-12-31'
)
select DateValue
from mycte
@matt40k
matt40k / Get-SQLServiceAccounts.ps1
Last active December 4, 2015 12:24
Queries Windows Services for the account used for the Services used by SQL Server
$servers = @("server1","server2","server3","server4")
foreach ($server in $servers)
{
$result = Get-WmiObject win32_service -ComputerName $server | Where-Object {$_.Name -like "MSSQL$*" -or $_.Name -like "SQLAgent$*" -or $_.Name -like "MSOLAP$*" -or $_.Name -eq "SQLBrowser" -or $_.Name -eq "MsDtsServer120" -or $_.Name -eq "SQLWriter"} | Select name, ',', startname
foreach ($srv in $result)
{
$line = $server + ',' + $srv.startname + ',' + $srv.name
Write-Host $line
}
@matt40k
matt40k / Get-ServerDrives.ps1
Created December 2, 2015 16:31
Gets the server drive letters and description
$servers = @("server1","server2","server3","server4")
foreach ($server in $servers)
{
$drives = Get-WmiObject win32_logicaldisk -Computername $server
foreach ($drive in $drives)
{
if ($drive.Name -ne 'D:' -and $drive.Name -ne 'A:')
{
$drv = $server + ',' + $drive.Name + ',' + $drive.VolumeName
@matt40k
matt40k / Get-LocalAdmins.ps1
Last active February 5, 2025 13:05
Get the members of the Local Administrators group
Function Get-LocalGroupMembers
{
param(
[Parameter(ValuefromPipeline=$true)][array]$server = $env:computername,
$GroupName = $null
)
PROCESS {
$finalresult = @()
$computer = [ADSI]"WinNT://$server"
@matt40k
matt40k / GetGeoJSON.sql
Created November 29, 2015 20:57
Turns SQL Server Geography to GeoJSON
CREATE FUNCTION GetGeoJSON (@geo geography)
RETURNS varchar(max)
WITH SCHEMABINDING
/*
* Reference: http://stackoverflow.com/questions/6506720/reformat-sqlgeography-polygons-to-json
*/
AS
BEGIN
DECLARE @Result varchar(max)
SELECT @Result = '{' +