setEnv.ps1
###Setze Umgebungsvariablen anhand einer Gruppenmitgliedschaft / richard 2017###
#setenv.ps1 -Group AUTODESKGRP -var ADSK_CLM_WPAD_PROXY_CHECK -val TRUE -typ User
#$Zertifikat = dir cert:\ -recurse –codesign
#Set-AuthenticodeSignature C:\scripte\powershell\setEnv.ps1 $Zertifikat
 
param(
[string]$group,
[string]$var,
[string]$val,
[string]$typ
)
 
$strName = $env:username
$strDomain = $env:userdomain
$ErrorActionpreference = "silentlycontinue"
################################################################################
#Hilfsfunktion für Gruppenmitgliedschaftsermittlung über WINNT-Mechanismus
function Get-GroupMembership($DNName, $group)
{
$objgrp = [ADSI]"WinNT://$strDomain/$group,group"
$Members= @($objgrp.psbase.Invoke("Members")) | foreach{([adsi]$_).InvokeGet("Name")}
 
if ($Members -contains $DNName)
{ 
    return $TRUE
}
else {
    return $FALSE
    }
}
####################################################################################
 
$result = get-groupMembership $strName $group
if ($result -eq $TRUE) {
 
    #write-host "Mitglied von $group"
    [Environment]::SetEnvironmentVariable($var, $val, $typ)
    # Get-ChildItem Env:
 
}