Skip to content

Instantly share code, notes, and snippets.

View SweetAsNZ's full-sized avatar
🏠

Tim West SweetAsNZ

🏠
View GitHub Profile
@SweetAsNZ
SweetAsNZ / Rename-PC.ps1
Last active February 2, 2022 17:04
Rename Remote PC
Function Rename-PC{
[CmdletBinding()]
param(
[Parameter(Mandatory=$false)]
[string]$OldPCName,
[Parameter(Mandatory=$false)]
[string]$NewPCName,
)
@SweetAsNZ
SweetAsNZ / Get-ADNoClientSite.ps1
Last active February 2, 2022 17:00
Checks if there are clients in subnets that are not in AD Sites and Services
<#
.SYNOPSIS
Parses the netlogon.log on DC's to find where there are client logins but no AD Sites and Services Subnet.
.DESCRIPTION
'# WIP' Means it is still a Work In Progress
##################################################################
@SweetAsNZ
SweetAsNZ / Get-ADDepartment.ps1
Last active February 5, 2022 21:51
Get AD Departments
# https://social.technet.microsoft.com/Forums/windows/en-US/fb7ceef5-0048-4e80-826e-730cb3744c48/powershell-counting-all-ad-departments?forum=ITCG
# Get a Unique List of Departments from AD
$Output = "C:\SCRIPTS\AD\Department\Department_Count.txt"
if (!(Test-Path -Path $Output) ){
# Create a directory if it doesn't exist based on the $Output minus the file name
New-Item (Split-Path -Path $Output -Parent) -ItemType Directory
}
@SweetAsNZ
SweetAsNZ / Get-Desktops.ps1
Created February 7, 2022 03:03
Get AD Joined Desktops Including Disabled
function Get-Desktops{
# Includes Disabled Desktops
Get-ADComputer -Filter * -Properties Name,OperatingSystem,Enabled -ResultSetSize 1000000 |
Where-Object {($_.OperatingSystem -like "Windows*") -and ($_.OperatingSystem -notlike "Windows Server*")} |
Select-Object Name,Enabled,OperatingSystem | Sort-Object Name
}
@SweetAsNZ
SweetAsNZ / Get-DesktopOS
Created February 7, 2022 03:04
Get All Windows Desktop OS's
function Get-DesktopOS{
[CmdletBinding()]
param(
[Parameter(Mandatory=$true)]
[string]$ComputerName
)
Get-ADComputer -Filter {Name -eq $ComputerName} -Properties Name,OperatingSystem,Enabled -ResultSetSize 1000000 |
@SweetAsNZ
SweetAsNZ / Get-DesktopsOS.ps1
Created February 7, 2022 03:05
Get All Unique Desktop OS's With Numbers of Each
function Get-DesktopsOS {
"`r"
$PCs = Get-ADComputer -Filter * -Properties Name,OperatingSystem,Enabled -ResultSetSize 1000000 |
Where-Object {($_.OperatingSystem -like "Windows*") -and ($_.OperatingSystem -notlike "Windows Server*")} |
Select-Object Name,Enabled,OperatingSystem | Sort-Object Name
$UniquePCs = ($PCs | Where {($_.Enabled -eq $true)}).OperatingSystem | Sort-Object | Get-Unique -AsString
@SweetAsNZ
SweetAsNZ / Get-Servers.ps1
Created February 7, 2022 03:06
Get AD Joined Servers Including Disabled
function Get-Servers {
# Includes Disabled Servers
Get-ADComputer -Filter * -Properties Name,OperatingSystem,Enabled -ResultSetSize 1000000 |
Where-Object {$_.OperatingSystem -like "Windows Server*"} | Select-Object Name,Enabled,OperatingSystem | Sort-Object Name
}
@SweetAsNZ
SweetAsNZ / Get-NonWindowsOS.ps1
Created February 7, 2022 03:07
Get Non-Windows OS's
function Get-NonWindowsOS {
# Includes Disabled Servers and "Hyper-V Server*"
Get-ADComputer -Filter * -Properties Name,OperatingSystem,OperatingSystemVersion,Enabled -ResultSetSize 1000000 |
Where-Object {$_.OperatingSystem -notlike "Windows*"} |
Select-Object Name,Enabled,OperatingSystem,OperatingSystemVersion | Sort-Object Name | FT -AutoSize
# ,OperatingSystemHotfix,OperatingSystemServicePack
}
@SweetAsNZ
SweetAsNZ / Get-ServerOS.ps1
Created February 7, 2022 03:08
Get Servers and their OS
function Get-ServerOS{
[CmdletBinding()]
param(
[Parameter(Mandatory=$true)]
[string]$Server
)
Get-ADComputer -Filter {Name -eq $Server} -Properties Name,OperatingSystem,Enabled -ResultSetSize 1000000 |
Where-Object {$_.OperatingSystem -like "Windows Server*"} | Select-Object Name,Enabled,OperatingSystem |
@SweetAsNZ
SweetAsNZ / Get-ServersOS.ps1
Created February 7, 2022 03:09
Get All Server OS's For AD Joined Enabled Servers
function Get-ServersOS {
Write-Output "Enabled Computer Accounts Only"
$Servers = Get-ADComputer -Filter * -Properties Name,OperatingSystem,Enabled -ResultSetSize 1000000 |
Where-Object {$_.OperatingSystem -like "Windows Server*"} | Select-Object Name,Enabled,OperatingSystem | Sort-Object Name
( $Servers | Where {($_.Enabled -eq $true)} ).OperatingSystem | Sort-Object | Get-Unique -AsString
}