Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

View mccbryan3's full-sized avatar
🎃
Working from home

Bryan McClellan mccbryan3

🎃
Working from home
View GitHub Profile
param (
[Parameter(Mandatory=$true)]
[string]$UserName
)
$uidNumber = [int](Get-ADUser -LDAPFilter "(uidNumber=*)" -Properties uidNumber | Sort-Object -Descending -Property uidNumber)[0].uidNumber + 1
$user = Get-ADUser $UserName -Properties uidNumber
if(($user) -and (-not $user.uidNumber)) {
"Unix enabling user: $($user.Name) with uidNumber: $uidNUmber"
@mccbryan3
mccbryan3 / jscript_wmi_drive_info.js
Last active October 30, 2019 15:27
Run this on a machine to get LogicalDIsks info for all LogicalDIsks that are Partitoned
var computer = "."
var wmi = GetObject("winmgmts://" + computer + "/root/CIMv2")
var lv = wmi.ExecQuery("SELECT * FROM Win32_LogicalDiskToPartition")
i=0
for (var e = new Enumerator(lv); !e.atEnd(); e.moveNext())
{
var z = e.item()
driveLetter = z.Dependent.split("=")[z.Dependent.split("=").length - 1].replace(/\"/g,"")
WScript.Echo("DriveLetter: " + driveLetter)
partition = z.Antecedent.split("=")[z.Antecedent.split("=").length - 1].replace(/\"/g,"")
arr_groups = new Array()
System.log("Name Starts With: " + nameStartsWith)
System.log("Running active Directory Search")
var groups = ActiveDirectory.search("UserGroup", nameStartsWith)
for (var i in groups) {
System.log("building group array : " + groups[i].name)
arr_groups.push(groups[i].name)
}
return arr_groups
arr_groups = new Array()
System.log(nameStartsWith)
System.log("Running active Directory Search")
var groups = ActiveDirectory.search("UserGroup", nameStartsWith)
var arr_ExceptionList = exceptionList.split(",")
for (var i in groups) {
if(arr_ExceptionList.indexOf(groups[i].name) == -1) {
arr_groups.push(groups[i].name)
@mccbryan3
mccbryan3 / openmanage-compute.py
Last active February 25, 2020 12:18
Dynamic inventory script for Ansible using the OME API to find device Type of 1000
#!/usr/bin/env python
# Copyright: (c) 2018, Keiran Steele
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
import os
import sys
import argparse
try:
curl https://mirror.openshift.com/pub/openshift-v4/dependencies/rhcos/4.2/4.2.0/rhcos-4.2.0-x86_64-vmware.ova -o rhcos-4.2.0-x86_64-vmware.ova
govc import.ova -name=rhcos-4.2.0-x86_64-vmware ./rhcos-4.2.0-x86_64-vmware.ova
export GOVC_URL='vsphere.server.local
export GOVC_USERNAME='admin@vsphere.local'
export GOVC_PASSWORD='password
export GOVC_INSECURE=1
export GOVC_NETWORK='NETWORK'
@mccbryan3
mccbryan3 / find-vmhost-lun-no-datastore.ps1
Last active May 12, 2020 14:38
This script will locate all luns on hosts that are not currently datastores and set output
try{
$luns = get-vmhost | Get-Datastore | Get-ScsiLun -ErrorAction SilentlyContinue
# $luns.CanonicalName
} catch {
"Error getting lun info for one or more luns"
}
$array = @()
Get-VMHost | Get-ScsiLun | ?{$_.CanonicalName -notlike "mpx.*"} | %{
if(($luns.CanonicalName -notcontains $_.CanonicalName) -and ($array -notcontains $_.CanonicalName)) {
$array += $_.CanonicalName
@mccbryan3
mccbryan3 / format-svc-output-csv
Last active May 14, 2020 19:18
Take the SVC unformatted output for host to vdisk and use a name,capacity,FC_id vdisk list in anothe file to build the report.
$basepath = 'C:\Storage-Migration'
$content = gc "$basepath\mc\mcsvc01vdisks.txt"
gc "$basepath\mc\mcsvc01vdisksbyhost.txt" | %{
$line = $_
if($line -match "^\d+") {
$match = [regex]::Matches($line, "\S*(?>\s+)")
$vol_match = $content | sls -Pattern $(($match[4].value).Trim())
try{
if($match) {
$vol_size = [regex]::Match($vol_match,'(?<=,)[\w\.\w]+(?=,[m\d])')
@mccbryan3
mccbryan3 / vro-get.vm-and-sdk-vm-name-exact.js
Last active May 16, 2020 18:49
This will take a VM input and search all vcenters added to vro and load the VC:Vm and VC:SdkConnection into output variables
var reg = new RegExp("^"+ strVmName + "$", 'ig');
for each(vm in VcPlugin.getAllVirtualMachines(null,"xpath:name='" + strVmName + "'")) {
if(vm.name.match(reg)) {
vcenterSdk = vm.sdkConnection
vmOut = vm
System.log(vmOut.summary)
System.log(vcenterSdk)
}
}
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: psp:vmware-system-privileged
roleRef:
kind: ClusterRole
name: psp:vmware-system-privileged
apiGroup: rbac.authorization.k8s.io
subjects:
- kind: ServiceAccount