Skip to content

Instantly share code, notes, and snippets.

View zbalkan's full-sized avatar
💻
back again

Zafer Balkan zbalkan

💻
back again
View GitHub Profile
@zbalkan
zbalkan / .gitconfig
Last active February 29, 2024 17:33
My gitconfig
[user]
name = Zafer Balkan
email = zafer@zaferbalkan.com
username = zbalkan
signingkey = EECD6A2984E3EEE3
[init]
defaultbranch = master
[core]
pager = delta
autocrlf = true
@zbalkan
zbalkan / AddTemplateFolders.PS1
Last active October 17, 2023 06:45
A script that creates user folders on a shared folder -preferably on a file server- according to a prepared schema. No RSAT or AD module is needed. https://www.reddit.com/r/PowerShell/comments/orki1b/a_simple_and_verbose_script_for_home_folder/
#Requires -Version 3
# In this scenario, it is assumed that each user will have a home folder, including 3 sub-folders as a template.
# The tree can be visualized like below:
#
# Home
# |_ user1
# |_ user2
# |_ user3
# |_ user4
@zbalkan
zbalkan / RegistryPolViewer.ps1
Last active October 17, 2023 06:46
Registry.Pol Viewer
#Requires -Modules GPRegistryPolicyParser
#Requires -Version 5
Import-Module -Name GPRegistryPolicyParser -WarningAction Ignore
Add-Type -AssemblyName System.Windows.Forms
$Script:response = [System.Windows.Forms.MessageBox]::Show("Do you want to open current hives?`n`nClick Yes to display current hives on this computer.`nClick No to pick a `'registry.pol`' file to read.", "Open current hives?", [System.Windows.MessageBoxButton]::YesNoCancel, [System.Windows.MessageBoxImage]::Question)
switch ($Script:response)
{
@zbalkan
zbalkan / Printer GPP.ps1
Last active February 25, 2021 12:08
A Powershell script that creates a printer GPP. It reads form a csv file.
# Configuration variables
$PrintServer = ""
$CSVFilePath = "printers.csv"
$XMLFilePath = "printers.xml"
# The code
Import-Module ActiveDirectory
$Domain = (Get-ADDomain).name
@zbalkan
zbalkan / id_rsa.pub
Created February 7, 2021 17:04
public
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDh53gwlEcTH9HXjfJ9ojVFn3WhWHVcH52rkGWpn1nq/jXb2+qhiefS10DpRQDCyCCHOvc0vDgKUbD1bP7Qp97NacccOCMNaU8N120tQe/UrN4MM/5RLjYk2rNwUn3HdERIHUWG3DE9Xa2kGadO3/69aaDGNw9sFk+FwkiwUpi5xhV8WjZf6FRZmlkVpPf3g3id+AH1boNFVUdiR6A3rO3EPXTsJq3Ib8I3e3U6do6OkEOLp0Ot1DdDhIrNm3OsahYyGZ6jiFJTOTbSIsiyNqqmIR/B3QK//6tzBVMz9klaQs08nMBLaywbsyvadPQJzdHMR8hk+d8InvQQh711oZaz zafer@HP
@zbalkan
zbalkan / Copy Local ESXi users and roles.ps1
Last active November 10, 2020 19:43
This script was created when I needed to add some local accounts on ESXi hosts for compliance. It would take time so I only prepared first host. This script gets users, roles and permissions from the source host and creates them on target host. It's possible to enumerate other hosts and apply them, but I tested for possible trying errors one by …
#Hosts
$Source = "Source ESXi Server IP address/Hostname"
$Target = "Target ESXi Server IP address/Hostname"
# Creds
$root = "root"
$rootPassword = "root password"
$admin = "administrator@vsphere.local" # Not used here. It will be needed when enumerating all hosts.
$adminPassword = "administrator password" # Not used here. It will be needed when enumerating all hosts.
# Logging
$LogCommandHealthEvent = $true
$LogCommandLifecycleEvent = $true
# Culture
Set-Culture -CultureInfo en-us
[Console]::InputEncoding = [System.Text.Encoding]::UTF8
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
# Modify Get-History alias, like history command in bash
@zbalkan
zbalkan / Start-WindowsActivation.ps1
Last active December 16, 2023 17:22
It's a drop-in replacement for slmgr.vbs script
#Requires -RunAsAdministrator
#Requires -Version 5
<#
.Synopsis
Activates Windows via KMS
.DESCRIPTION
It's a drop in replacement for slmgr scripts
.EXAMPLE
Start-WindowsActivation -Verbose # Activates the local computer
.EXAMPLE
@zbalkan
zbalkan / Hack.ps1
Last active August 27, 2020 10:58
Add-Type -Assembly System.Windows.Forms
$script:MainForm = New-Object System.Windows.Forms.Form
$script:MainForm.Text = ''
$script:MainForm.Width = 600
$script:MainForm.Height = 400
$script:MainForm.AutoSize = $false
$script:MainForm.TopMost = $true
$script:MainForm.FormBorderStyle = 'None'
$script:MainForm.WindowState = 'Maximized'
$script:MainForm.BackColor = 'Black'
@zbalkan
zbalkan / Send-MailMessage2.ps1
Last active October 9, 2019 13:07
A modified version of Send-MailMessage that utilizes Exchange Server in the domain as SMTP server and `env:USERNAME` as credential
<#
.Synopsis
Sends an email message using existing Exchange Server with user's credential.
.DESCRIPTION
The Send-MailMessage2 cmdlet sends an email message from within Windows PowerShell. It utilizes Autodiscovery feature of Exchange Server.
.EXAMPLE
Send an email from one user to another:
PS C:\>Send-MailMessage2 -To "User01 <user01@example.com>" -Subject "Test mail"