Posts

Showing posts from 2014

SQL - If you don't have permission to logon fix

Purpose: If you don't want to put a SQL db into single user mode, you can try the following to give yourself permission to a SQL instance. The following will open a command prompt as the built in security principal "System" using PSExec. psexec -i -s -d cmd From there open SQL management studio from within that command prompt. ie: c:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\Ssms.exe" I came up with this independently, but a simple google search will show you others have figured it out as well. Should be able to now give yourself permissions to log on now depending on how the SQL was initially configured. If this doesn't work you will have to Start the instance of SQL Server in single-user mode by using either the -m or -f options. Any member of the computer's local Administrators group can then connect to the instance of SQL Server as a member of the sysadmin fixed server role.

http://msdn.microsoft.com/en-us/library…

Powershell: Find all shares on domain using Jobs

Purpose: This script will search AD for all servers and report any shares(includes printers)

This script will do 50 servers at a time
Requires RSAT tools powershell
cls #Find Shares on all Domain computers 50 at a time #www.tonyunger.com cls import-module activedirectory #$Global:Servers = Get-Content "C:\temp\computers.txt" $Global:Servers = Get-ADComputer -Filter {(OperatingSystem -Like "Windows Server*")-and (enabled -eq "true")} -Property SamAccountName | Select -expand Name $Global:ReportPath = "C:\temp\Shares.txt" $scriptblock = { param($server) $pingResult = Test-Connection -count 1 -ErrorAction SilentlyContinue $server | select IPV4Address $Shares = Get-WmiObject Win32_Share -ComputerName $Server | select name $values = @() if($Error){ if( $Error -like "*Access is denied*"){ return ($server+",AccessDenied") } …

Powershell: get free disk space from computers listed in text file. using Job

Purpose: This script will search a list of computers and report their c drives total and free space into a text file that can be imported into excel.

This is my first time using jobs to speed up the process of gathering the info so there could be a better way of doing this but this seems to work just fine.

cls #Get free disk space code from here. #http://www.codeproject.com/Articles/757946/Retrieve-Disk-Space-of-Remote-Computers-using-Powe $Global:Servers = Get-Content "C:\temp\computers.txt" $Global:ReportPath = "C:\temp\freediskspace.txt" $scriptblock = { param($server) $ConvertToGB = (1024 * 1024 * 1024) $pingResult = Test-Connection -count 1 -ErrorAction SilentlyContinue $server | select IPV4Address $disk = Get-WmiObject Win32_LogicalDisk -ComputerName $Server -Filter "DeviceID='C:'" | Select-Object Size,FreeSpace $values = @() if($Error){ if( $Error -like "*Access is denied*"){…

Netapp Busy Lun

Purpose - Find busy lun on a netapp filer running in 7mode

snap list Volume1
Volume Volume1
working...

  %/used       %/total  date          name
----------  ----------  ------------  --------
  0% ( 0%)    0% ( 0%)  Sep 11 16:31  netapp(0135052001)_mirror_computer.336 (snapmirror)
 16% (16%)   14% (14%)  Sep 09 07:42  sqlsnap__computer_09-09-2012_07.30.29__weekly (busy,LUNs)


lun snap usage -s computer sqlsnap__computer_09-09-2012_07.30.29__weekly


You need to delete the following LUNs before deleting the snapshot
        /vol/computer/{dc5a1359-317d-47cd-a408-3dd99ec4059c}.rws

You need to delete the following snapshots before deleting the snapshot
        Snapshot - netapp(0135052001)_mirror_computer.336

PowerShell: One liner get distinguishedname for all user accounts in text file

One liner to get users from a text file and create a report of distinguishedname. You need the activedirectory module imported to run.

import-module activedirectory

gc "C:\temp\serviceaccounts.txt" | Foreach-Object {Get-ADUser -filter {CN -like $_} -Properties *} | select Name, SAMAccountName, distinguishedname | export-csv -path c:\temp\test.csv

Powershell - get all host files on domain.

Purpose: This script will search AD for Window computers and attempted to connect to each one. Then it will read the contents of the host file and write them to a csv file.

Note: This will take a while to run unless someone wants to make it multithreaded.
I just wrote this so there may need to be some bug fixes but in general it seemed to work.

#Read all host files and write to CSV file Import-Module ActiveDirectory $PATH = "c:\temp\hostfiles.csv" $myCol = @() $AllComputers = Get-ADComputer -Filter {OperatingSystem -Like "Windows*"} -Property * | Select -Expand Name foreach ($Computer in $AllComputers){ $i++ Write-Progress -activity "Scanning Machine $Computer " -status "Scanned: $i of $($AllComputers.Count)" -percentComplete (($i / $AllComputers.Count) * 100) Get-Content -Path "\\$Computer\c$\windows\system32\drivers\etc\hosts" | where {!$_.StartsWith("#")} | foreach { …

Powershell: Get list of all services accounts used on Windows servers in domain.

Purpose: This script will search AD for Windows Servers that are enabled and attempted to connect to each server and get a listing of all services and the accounts used to run them.
Note: This will take a while to run unless someone wants to make it multithreaded.
I just wrote this so there may need to be some bug fixes but in general it seemed to work.
Requirements: RSAT tools WMI


Import-Module activedirectory cls $ServicesReport = @() $AllServers = Get-ADComputer -Filter {(OperatingSystem -Like "Windows Server*")-and (enabled -eq "true")} -Property SamAccountName | select -expand Name $i = 0 foreach($Server in $AllServers) { $i++ Write-Host "Working on Server: $Server " $i " of " $AllServers.Count try { if (Test-Connection -ComputerName $Server -Quiet) { $Services = Get-WmiObject win32_service -ComputerName $Server | select Name, @{N="StartupType";E={$_.StartMode}}, @{N="ServiceAccount";E={$_.StartName}}, …

Powershell-DellBatchWarrentylookup

Purpose: This script will read serial numbers from a text file then search dells site for warranty information. The get-dellassetinfo function i found from some forum but don't remember where.


################################### $ComputerSerials = gc "c:\temp\SerialNumbers.txt" ################################### Function Get-DellAssetInfo([string]$ServiceTag){ $Asset=New-WebServiceProxy -Uri 'http://xserv.dell.com/services/AssetService.asmx?WSDL' -UseDefaultCredential $Asset.GetAssetInformation([Guid]::NewGuid(),'AssetService',$ServiceTag); } $myCol = @() foreach ($ComputerSerial in $ComputerSerials) { $results=Get-DellAssetInfo $ComputerSerial $SystemType = $results.AssetHeaderData.SystemType $ServiceLevelDescription = $results.Entitlements.ServiceLevelDescription $SystemModel = $results.AssetHeaderData.SystemModel $Region = $results.AssetHeaderData.Region $StartDate = $results.Entitlements.StartDate.Date | Select -ExpandProperty …

Vmware vSphere Host Client 6.0

VMware Vsphere 6.0 Host Client 6.0 beta If you get this error running the Host Client:

uncaught node.js Error Error: EPERM, open 'c:\Program Files\VMware\HostClient\server\logs\VMware_Hostclient_logs.txt'


Run the client as an administrator

Powershell: Get All AD Group Members

Purpose: This script requires the RSAT tools to work. It connects to AD and gets all groups and users within each group and outputs to a csv file. It can also get single groups and display/exports the results.


################################### #Tony Unger - Get Group members #12/12/2013 #1.0 ################################### Import-Module activedirectory do { cls $response = "N" $ExportPath = "c:\temp\AD_GroupMemberofQuery.csv" $myCol = @() [int]$xMenuChoiceA = 0 while ( $xMenuChoiceA -lt 1 -or $xMenuChoiceA -gt 4 ){ Write-host "Active Directory Group Member Reporting" -foregroundcolor "magenta" Write-host "1. Specifiy a Group" Write-host "2. All Groups" Write-host "3. Quit and exit" [Int]$xMenuChoiceA = read-host "Please enter an option 1 to 3..." } Switch( $xMenuChoiceA ){ 1{$ADGroups = read-host "Please enter the AD group name:"} 2{$ADGroups = Get-ADGroup -filter {GroupCategory -…