Local Group Members

View Local Group Members

Are you looking for a GUI (Graphic user Interface) tool to display the list of members added in local groups i.e Administrators, Remote Desktop Users etc… you can extract all the members details remotely with this utility. you don’t need to install this application, just download it and run the application

Here is a tool to list all members of local groups which can be use for different purposes i.e to compare two computers group members or to validate the same on a list of computers.

Step 1. Create a file having computers name or IP addresses and save it somewhere on your desktop.

Tool_View

Load_Computer_ListStep 2. Open this utility and click on load computer list, this will ask for a file location which you have created on your desktop in step no.1


Computer_List
Step 3. All computers shall be listed after reading from file, Make sure all computers are listed properly.


Running_Status
A status can be seen in the group, Count which shows total number of computers listed, Processed shows how many computers have been completed and Running shows the current computer from where the information is collecting.

Remote_AccessStep 4. if you are running this tool from domain admin account then you don’t need to put remote credentials, This only required when your current login credentials are different than the remote computer credentials.

Start_Collecting_dataStep 5. Click on start button to collect (Roles, Features) info.

A list will be prepared with computer name,  Group Name/User Name as shown in below figure, you may sort this list by just clicking on the header name.GroupMembers

Export_CSVStep 6. Above list can be exported in CSV format in case of filtering data in excel sheet.

Note: This tool require .Net Framework at least 2.0 on the same computer.

List GroupMembers (39.0 KiB)

Shutdown

Shutdown is an alternative utility to logoff/shutdown/restart your computer, it helps specially on windows 8/windows 2012 OS where shutting down a system require extra efforts, you can download and run this utility directly from the folder or can keep a shortcut in your taskbar for easy use.

Enable the .NET Framework 3.5 in Control Panel require for this utility to work.

You can enable the .NET Framework 3.5 yourself through Control Panel. This option requires an Internet connection.
Press the Windows key Windows logo on your keyboard, type Windows Features, and press Enter. This brings up the Turn Windows features on or off dialog box. Alternately, open Control Panel, click on the Programs items, and then click on “Turn Windows features on or off” under Programs and Features.

Select the .NET Framework 3.5 (includes .NET 2.0 and 3.0) check box, press OK, and reboot your computer if prompted

Shutdown

Shutdown (29.5 KiB)

View Installed Roles Features

View Installed Roles Features of Local/Remote Computer

Are you looking for a GUI (Graphic user Interface) tool to display roles/features of local and remote computer? then you are at the right place. you don’t need to install this application, just download it and run the application

Here is a tool to list all roles/features of local as well as remote computer which can be use for different purposes i.e to compare two computers roles/features or to validate the same on a list of computers.

Step 1. Create a file having computers name or IP addresses and save it somewhere on your desktop.

Tool_View

Load_Computer_ListStep 2. Open this utility and click on load computer list, this will ask for a file location which you have created on your desktop in step no.1


Computer_List
Step 3. All computers shall be listed after reading from file, Make sure all computers are listed properly.


Running_Status
A status can be seen in the group, Count which shows total number of computers listed, Processed shows how many computers have been completed and Running shows the current computer from where the information is collecting.

Remote_AccessStep 4. if you are running this tool from domain admin account then you don’t need to put remote credentials, This only required when your current login credentials are different than the remote computer credentials.

Start_Collecting_dataStep 5. Click on start button to collect (Roles, Features) info.

A list will be prepared with computer name, server roles/features as shown in below figure, you may sort this list by just clicking on the header name.Server_role_Features

Export_CSVStep 6. Above list can be exported in CSV format in case of filtering data in excel sheet.

Note: This tool require .Net Framework at least 2.0 on the same computer.

List ServerRoles (38.5 KiB)

view running process of remote computer

View Running Process of Remote Computer

Are you looking for a GUI (Graphic user Interface) tool to display running process of local and remote computer? then you are at the right place. you don’t need to install this application, just download it and run the application

Here is a tool to list all running process of local as well as remote computer which can be use for different purposes i.e to compare two computers process or to validate if process is running on a list of computers.

Step 1. Create a file having computers name or IP addresses and save it somewhere on your desktop.

Tool_View

Load_Computer_ListStep 2. Open this utility and click on load computer list, this will ask for a file location which you have created on your desktop in step no.1


Computer_List
Step 3. All computers shall be listed after reading from file, Make sure all computers are listed properly.


Running_Status
A status can be seen in the group, Count which shows total number of computers listed, Processed shows how many computers have been completed and Running shows the current computer from where the information is collecting.

Remote_AccessStep 4. if you are running this tool from domain admin account then you don’t need to put remote credentials, This only required when your current login credentials are different than the remote computer credentials.

Start_Collecting_dataStep 5. Click on start button to collect (PID, Process, Working set, Page Falult, Threads) info.

A list will be prepared with computer name, PID, Process Name, process execution path, Working set, Page faults, Threads as shown in below figure, you may sort this list by just clicking on the header name.Process_list

Export_CSVStep 6. Above list can be exported in CSV format in case of filtering data in excel sheet.

Note: This tool require .Net Framework at least 2.0 on the same computer.

List Process (39.0 KiB)

View Installed Hotfix of Remote Computer

View Installed Hotfix of Remote Computer

Are you looking for a GUI (Graphic user Interface) tool to display installed hotfix of local and remote computer? then you are at the right place. you don’t need to install this application, just download it and run the application

Here is a tool to list all installed hotfix of local as well as remote computer which can be use for different purposes i.e to compare two computers patches or to validate if patch is installed in a list of computers.

Step 1. Create a file having computers name or IP addresses and save it somewhere on your desktop.

Tool_View

Load_Computer_ListStep 2. Open this utility and click on load computer list, this will ask for a file location which you have created on your desktop in step no.1


Computer_List
Step 3. All computers shall be listed after reading from file, Make sure all computers are listed properly.


Running_Status
A status can be seen in the group, Count which shows total number of computers listed, Processed shows how many computers have been completed and Running shows the current computer from where the information is collecting.

Remote_AccessStep 4. if you are running this tool from domain admin account then you don’t need to put remote credentials, This only required when your current login credentials are different than the remote computer credentials.

Start_Collecting_dataStep 5. Click on start button to collect (Patch,Update, Hotfix & SP) info.

A list will be prepared with computer name, hotfix id, Installed by and installed on date as shown in below figure, you may sort this list by just clicking on the header name.

HotFix_list

Export_CSVStep 6. Above list can be exported in CSV format in case of filtering data in excel sheet.

Note: This tool require a .Net Framework 2.0 on the same computer.

List HotFix (38.5 KiB)

Netstat Process Name

Netstat process name

Sometime we face computer internet slowness issue or upload/download slowness and wants to figure out the applications which all are running in background and consuming network bandwidth here is script netstat process name created in powershell.

Netstat is a command which provide statistics of the protocol TCP/UDP with local IP address and foreign IP address including port numbers but it doesn’t provide the process name which actually running in task manager and connected to internet. However this can be identified through PID which can be extracted from netstat command and individually identify the PID from task manager but this is very lengthy procedure because you don’t even know how much connections are established the another way is to run with elevated command prompt which is sometime not possible in client environment/remote support.

Here I have created one powershell script to get Network Statistics through Netstat process name to display in one windows rather than finding each process id in task manager.

Two ways to  run below script.
1. copy below script and paste directly on powershell command prompt press enter to see the output.

2. Copy below script in notepad and save it with the extension .ps1 at location c:\temp, open powershell command prompt go temp folder location with a command cd c:\temp and type the file name having extension .ps1 and press enter to see the output.

$netstat = netstat -aon | Select-String -Pattern “(TCP|UDP)”
$ProcessList = Get-Process
foreach ($line in $netstat)
{
$SpltArry = $line -split ” “
$PD = $spltArry[$spltarry.length 1]
$pn = $ProcessList | Where-Object {$_.id -eq $pd } | select processname
$SpltArry[$SpltArry.length 1] = $PD + ” “ + $PN.processname
$SpltArry -join ” “
}

Output of the script is shown in this figure.

Netstat Process Name

Disk Usage Warning Email

This script will send a disk usage warning email to the configured email address, once free space threshold met  and also it will move those files to another location/computer/server when Delete Threshold met so the space can be created at source location, need to configure it with computer schedule tasks to run at specified time.

#——————————————–
# Application Settings
#——————————————–

$FreeSpaceThreshold_Percent = 70
$DeleteThreshold_Percent = 75
$TXTLocation = “c:\temp1”
$TXTFileName = “SizeCheck.txt”
$DaysToKeep = 500
$FolderOnCDrive = “c:\temp”
$FolderOnServer = “c:\temp1”

#——————————————–
# SMTP Server Settings
#——————————————–

# $SMTP = SMTP Server Name or IP Address.
# $To = Email Id to whom Email need to be send.
# $From = From email id.
# $Subject = Subject Line.
# $Body = Email Text.

$SMTP = “Exchange-Server”
$To = “info@winteltools.com”
$From = “Generic Email ID”
$Password = “Generic Password”
$SMTPPort = 25

$FilesDeleted_Subject = “Files moved to Network Location”
$Warning_Subject = “Warning Server Drive Space”

$FilesDeleted_BodyText = “This is to Notify”
$Warning_BodyText = “FYI”

#——————————————–

$Drive = gwmi win32_logicaldisk | where-object {($_.drivetype -eq “3”) -and ($_.deviceid -eq “C:”)}
$DriveSize = “{0:N2}” -f ($Drive.size/1GB)
$Freespace = “{0:N2}” -f ($Drive.FreeSpace/1GB)
$FreespacePercent = [int] (($Drive.FreeSpace * 100) / $Drive.size)

$DriveInfo = “Drive Size is $DriveSize GB `r`n”
$DriveInfo += “Free Space is $Freespace GB `r`n”
$DriveInfo += “$FreespacePercent% `r`n”

$FilesMoved = “File Name `t`t Modified Date `r`n”
$FilesMoved += “__________________________________________________`r`n”
if ($FreespacePercent -lt $DeleteThreshold_Percent)
{
try {
$AllFiles = Get-ChildItem $FolderOnCDrive
foreach ($file in $Allfiles)
{
$ModifiedDate = Get-Date $file.lastwritetime
$TodayDate = Get-Date
$TS = New-TimeSpan -Start $ModifiedDate -End $TodayDate
if ($TS.days -gt $DaysToKeep )
{
$Source = $FolderOnCDrive + “\” + $file
$Destination = $FolderOnServer + “\” + $file
$job = Start-Job {Copy-Item $args[0] $args[1] -ErrorAction stop } -ArgumentList $Source,$Destination
$Ret = Wait-Job $job
#Remove-Item $Source
$FilesMoved += “$file `t`t $ModifiedDate `r`n”
}
}
} catch { $CopyError += $_.Exception.Message }
#send-MailMessage -SmtpServer $SMTP -To $To -From $From -Subject $Subject -Body $Body -BodyAsHtml -Priority high
}
elseif ($FreespacePercent -lt $FreeSpaceThreshold_Percent)
{

#Send Warning Email
$Warning_Subject += ” $FreespacePercent%”
$Warning_BodyText += $DriveInfo
#send-MailMessage -SmtpServer $SMTP -To $To -From $From -Subject $Warning_Subject -Body $Warning_BodyText -BodyAsHtml -Priority high -credential (new-object System.Net.NetworkCredential(“user”,”pass”,”domain”))
}
$FileLoc = $TXTLocation + “\” + $TXTFileName
$FilesMoved | Out-File $FileLoc

Get-Utilization

Get-Utilization of System Resources

Once i was working in client environment where i notice lot of alerts received for CPU & Physical memory usage and started working on those alerts as usual by taking RDP session of each server then opening task manager to have a look at performance tab, one idea was running in my mind to have a script in place to check the utilization through some command like get-utilization.

I found number of alerts were fake or maybe it was CPU spike for 5-10 minutes but it were mine alerts therefore it was mine responsibility to check each server, then one day i got time and decided to create one script to analyse system resources remotely rather than login to each server, yes there is an alternate using windows performance tools but it takes so much of time to add remote server counters and monitor.

Here is a custom function written in below script which can be executed with powershell profile and it will be ready whenever power shell is open you have to run command get-utilization ServerName

This script will check the utilization of computer/server on the basis of some counters including CPU, Total Memory,  Used Memory,  Free Memory, Commited Bytes & Disk Time.

For Remote Computer
Get-Utilization RemoteComputer

#——————————————–
function get-utilization {

if (!$args) {
$p = Get-Counter -counter “\Processor(_total)\% Processor Time”
$CS = gwmi win32_computersystem
$TotMemory = $cs.totalphysicalmemory/(1024*1024)
$MemoryAvailable = get-counter -counter “\Memory\Available MBytes”
$freeMemory = $($MemoryAvailable.countersamples).cookedvalue
$UsedMemory = $TotMemory $freeMemory
$UsedMemoryper = $UsedMemory * 100/ $TotMemory
$FreeMemoryPer = 100 $UsedMemoryper
$DiskTime =$((get-counter -counter “\physicaldisk(_total)\% disk time”).countersamples).cookedvalue
$CommitedBytes = $((get-counter -counter “\memory\% committed bytes in use”).countersamples).cookedvalue
$TotMemoryGB = $cs.totalphysicalmemory / 1GB
}
else
{
$p = Get-Counter -counter “\Processor(_total)\% Processor Time” -ComputerName $args
$CS = gwmi win32_computersystem -ComputerName $args
$TotMemory = $cs.totalphysicalmemory/(1024*1024)
$MemoryAvailable = get-counter -counter “\Memory\Available MBytes” -ComputerName $args
$freeMemory = $($MemoryAvailable.countersamples).cookedvalue
$UsedMemory = $TotMemory $freeMemory
$UsedMemoryper = $UsedMemory * 100/ $TotMemory
$FreeMemoryPer = 100 $UsedMemoryper
$DiskTime = $((get-counter -counter “\physicaldisk(_total)\% disk time” -ComputerName $args ).countersamples).cookedvalue
$CommitedBytes = $((get-counter -counter “\memory\% committed bytes in use” -ComputerName $args ).countersamples).cookedvalue
$TotMemoryGB = $cs.totalphysicalmemory / 1GB
}

$CusTable = new-object -TypeName psobject -Property @{
“CPU %” = “{0:N3}” -f $($p.countersamples).cookedvalue
“Commited Bytes %” = “{0:N2}” -f $CommitedBytes
“Disk Time %” = “{0:N3}” -f $DiskTime
“Used Memory %” = “{0:N2}” -f $UsedMemoryper
“Free Memory %” = “{0:N2}” -f $FreeMemoryPer
“Total Memory” = “{0:N2}” -f $TotMemoryGB
}

$CusTable | select “CPU %”, “Total Memory”, “Commited Bytes %”, “Used Memory %”, “Free Memory %”, “Disk Time %” |Format-Table -AutoSize

}

#——————————————–

Script Output

get-utilization output

NTLDR is missing error on 2003 server

“NTLDR is missing”

This error is coming on windows Server 2003

Follow these steps

1) Use the Windows Server 2003 Bootable CD to restart the computer.
2) At the Welcome to Setup screen, press R to repair the Windows Server 2003 installation.
3) To use the Recovery Console to repair the Windows Server 2003 installation, press C.
4) Type the number that corresponds to the Windows installation that you want to repair, and then press ENTER.
5) Type the Administrator password, and then press ENTER.
6) Check if ntldr or ntdetect.com are at the root of C:
a. If the files aren’t there copy them over from the 2003 CD.
7) Verify that Boot.ini is at the root and isn’t corrupt.
8) From the prompt run these commands:
a. Fixmbr
b. Fixboot C:
10) Reboot server and it should come up.

In some cases boot.ini need to rebuild. If so use this command: bootcfg /rebuild