I hereby claim:
- I am samerde on github.
- I am samerde (https://keybase.io/samerde) on keybase.
- I have a public key ASBP8NkV_nrcIsBjMKXrqNT0sgGzv49uTpqFZkP3RtUANQo
To claim this, I am signing this object:
| $ErrorActionPreference = "Stop" | |
| $apiLatestUrl = 'https://api.github.com/repos/microsoft/winget-cli/releases/latest' | |
| $tempFolder = $env:TEMP | |
| [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 | |
| $WebClient = New-Object System.Net.WebClient | |
| function Update-EnvironmentVariables { | |
| foreach($level in "Machine","User") { |
I hereby claim:
To claim this, I am signing this object:
| #Find Group Policies with Missing Permissions | |
| Function Get-GPMissingPermissionsGPOs | |
| { | |
| $MissingPermissionsGPOArray = New-Object System.Collections.ArrayList | |
| $GPOs = Get-GPO -all | |
| foreach ($GPO in $GPOs) { | |
| If ($GPO.User.Enabled) { | |
| $GPOPermissionForAuthUsers = Get-GPPermission -Guid $GPO.Id -All | select -ExpandProperty Trustee | ? {$_.Name -eq "Authenticated Users"} | |
| $GPOPermissionForDomainComputers = Get-GPPermission -Guid $GPO.Id -All | select -ExpandProperty Trustee | ? {$_.Name -eq "Domain Computers"} | |
| If (!$GPOPermissionForAuthUsers -and !$GPOPermissionForDomainComputers) { |
| #Get Domain Controllers for current domain | |
| $DCs = Get-ADGroupMember "Domain Controllers" | |
| #Initiate the clients array | |
| $Clients = @() | |
| Foreach ($DC in $DCs) { | |
| #Define the netlogon.log path | |
| $NetLogonFilePath = "\\" + $DC.Name + "\C$\Windows\debug\netlogon.log" | |
| #Reading the content of the netlogon.log file | |
| try {$NetLogonFile = Get-Content -Path $NetLogonFilePath -ErrorAction Stop} | |
| catch {"Error reading $NetLogonFilePath"} |
| #Get Installed Roles on each Domain Controller | |
| $DCsInForest = (Get-ADForest).Domains | % {Get-ADDomainController -Filter * -Server $_} | |
| $DCsRolesArray = @() | |
| foreach ($DC in $DCsInForest) { | |
| $DCRoles="" | |
| $Roles = Get-WindowsFeature -ComputerName $DC.HostName | Where-Object {$_.Installed -like "True" -and $_.FeatureType -like "Role"} | Select DisplayName | |
| foreach ($Role in $Roles) { | |
| $DCRoles += $Role.DisplayName +"," | |
| } | |
| try {$DCRoles = $DCRoles.Substring(0,$DCRoles.Length-1)} |
| Add-Type -TypeDefinition @' | |
| using System; | |
| using System.Runtime.InteropServices; | |
| using System.Security.Cryptography.X509Certificates; | |
| public enum DSREG_JOIN_TYPE { | |
| DSREG_UNKNOWN_JOIN = 0, | |
| DSREG_DEVICE_JOIN = 1, | |
| DSREG_WORKPLACE_JOIN = 2 | |
| } |
| <# | |
| Description: Start with a row of numbers from 0-10. In 10 successive rows, automatically generate the following: | |
| - Skip the first index, having one fewer number than the previous row | |
| - Add together the [i] and [i-1] numbers from the previous row to get the value of [i] in the current row | |
| The final output should look like this: | |
| 0 1 2 3 4 5 6 7 8 9 10 | |
| 1 3 5 7 9 11 13 15 17 19 | |
| 4 8 12 16 20 24 28 32 36 |
| # Load | |
| Split-Path $MyInvocation.MyCommand.Path -Parent | Push-Location | |
| Get-ChildItem poco_*.ps1 | %{. $_} | |
| Pop-Location | |
| function Select-Poco | |
| { | |
| Param | |
| ( | |
| [Object[]]$Property = $null, |
| <# | |
| .SYNOPSIS | |
| Script to install Dev Tools on Windows Server (tested on 2022) | |
| .DESCRIPTION | |
| Installs the following from multiple resources: | |
| Microsoft.VCLibs v14.00 (github) | |
| Microsoft.UI v2.8.6 (github) | |
| winget-cli (dynamic version retrieval from api.github.com) | |
| Microsoft.WindowsTerminal (dynamic version retrieval from api.github.com) | |
| Microsoft pwsh.exe vCurrent (winget) |
| <# | |
| Prerequisites: PowerShell version 2 or above. | |
| License: MIT | |
| Author: Michael Klement <[email protected]> | |
| DOWNLOAD, from PowerShell version 3 or above: | |
| irm https://gist.github.com/mklement0/243ea8297e7db0e1c03a67ce4b1e765d/raw/Out-HostColored.ps1 | iex |