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:
| #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)} |
| #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"} |
| #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) { |
I hereby claim:
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") { |