While trying to create this script I came across a ton of help, Thanks online community’s!!
Download file here
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 | # Execute a SQL File Begin function Execute-SqlFile($file, [string]$Server, [string]$dbName, [hashtable]$variables, [switch]$WindowsAuthentication=$true, [string]$Username, [string]$Password) { $batch = (join-Path (cat env:TEMP) "exec_sql.bat") write-Host Connecting to $Server</code> $output = (join-Path $env:TEMP "output_sql.txt") if (test-Path $batch) { Remove-Item $batch -force } $data = "" if (test-Path $batch) { Remove-Item $batch } $data += "sqlcmd -S $Server" if ($WindowsAuthentication) { $data += ' -E' } else { $data += " -U $Username -P $Password" } if ($dbname) { $data += " -d $dbName" } if ($variables -and $variables.Count -gt 0) { $data += ' -v ' $isFirst = $true foreach($key in $variables.keys) { if (! $isFirst) { $data += ' ' } else { $isFirst=$false } $val = $variables[$key] $data += "$key=" $data += "`"$val`"" } } $data += " -i `"$file`"" $data += " -o `"$output`"" $data | Add-Content $batch -force cmd /c (Resolve-Path $batch) gc $output } # Allows for a Pause Begin function Pause ($Message="Press any key to continue...") { Write-Host -NoNewLine $Message $null = $Host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown") Write-Host "" } # Sets Variables By Asking The Users a Question Begin $Yourfirstname = Read-Host "What is Your First Name? 5 characters Max " $yourrandomnumber = Read-Host "Random Number? Two Digits Max" # Hard Coded Variables Begin $aspen = "aspen-" $dash = "-" $computer = "." # Rename Computer EX: aspen-john-1 Begin $computerobject = (gwmi -Class Win32_ComputerSystem -Namespace "root\cimv2" -ComputerName $computer) $computerobject.rename("$aspen$Yourfirstname$dash$yourrandomnumber") # Get the Conputers Name Begin $comp = get-wmiobject Win32_ComputerSystem # Joings Computer to the Doamin Begin # ("%DomainName%","%Username'sPassword%","%DomainName\Username%",$null,3) $comp.JoinDomainOrWorkGroup("%%%%%","%%%%%","%%%%",$null,3) # Calls another PowerShell Script To Set Permission Begin # ./SetFolderPermission.ps1 -Access %Username% -Permission %PermisionLevel% ./SetFolderPermission.ps1 -Access %DomainName%\%Username% -Permission FullControl # Hard Coded Variables Begin $domain = "%DomainName%" $strComputer = gc env:computername # Sets Variables By Asking The Users a Question Begin $username = Read-Host "What is Your Aspenware domain username without the %DomainName%\" # Adds User to Aministrators Group Begin $computer = [ADSI]("WinNT://" + $strComputer + ",computer") $computer.name $Group = $computer.psbase.children.find("administrators") $Group.name $Group.Add("WinNT://" + $domain + "/" + $username) # Adds User to IIS_WPG Group Begin $domain = "%DomainName%" $strComputer = gc env:computername $username = "svcnj" $computer = [ADSI]("WinNT://" + $strComputer + ",computer") $computer.name $Group = $computer.psbase.children.find("IIS_WPG") $Group.name $Group.Add("WinNT://" + $domain + "/" + $username) # Executes a SQL Script to add User Account to the SQL Server with SYSAdmin Begin Execute-Sqlfile "C:\Documents and Settings\Administrator\svcnjsql.sql" $computer.name # Pause Then Reboots the Server Begin pause $reboot = (gwmi -Class Win32_OperatingSystem) $reboot.psbase.scope.options.enableprivileges = $true $reboot.reboot() |








hello,
Thank you for the great quality of your blog, every time i come here, i’m amazed.
black hattitude.
Another great post.
Thank you for the information, Its good to see such quality posts.
Im subscribing to your blog.
Keep them comming.
Greatings, Interesting, did you plan to continue this article?
Dolly
Greatings, Interesting, did you plan to continue this article?
Worker