forked from DSIT/documentation-dsit
First Commit
This commit is contained in:
commit
e23855ce27
10
Services/Gestion des arrivées-départs/README.md
Normal file
10
Services/Gestion des arrivées-départs/README.md
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
# Gestion des arrivées/départs au GENES (hors ENSAI)
|
||||||
|
|
||||||
|
## Elèves
|
||||||
|
|
||||||
|
```mermaid
|
||||||
|
graph TD
|
||||||
|
start("Eleve Admis") --> inscription
|
||||||
|
inscription --> dd
|
||||||
|
|
||||||
|
```
|
|
@ -0,0 +1,22 @@
|
||||||
|
$login = $args[0];
|
||||||
|
$email = $args[1];
|
||||||
|
$alias = $args[2];
|
||||||
|
|
||||||
|
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri http://sp-exch01.ensae.fr/PowerShell/ -Authentication Kerberos
|
||||||
|
Import-PSSession $Session -DisableNameChecking -AllowClobber | Out-Null
|
||||||
|
|
||||||
|
try {
|
||||||
|
|
||||||
|
|
||||||
|
Enable-Mailbox -Identity $login -Database "DB01_ELEVES-SP-EXCH01" -Alias $login -PrimarySmtpAddress $email | Out-Null
|
||||||
|
write-host "0"
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
catch {
|
||||||
|
|
||||||
|
|
||||||
|
write-host "1"
|
||||||
|
|
||||||
|
}
|
||||||
|
Remove-PSSession $Session
|
|
@ -0,0 +1,85 @@
|
||||||
|
$login = $args[0];
|
||||||
|
$basehomedirectory = "\\paradis\eleves\";
|
||||||
|
$homedirectory = $basehomedirectory + $login;
|
||||||
|
$domain = "ENSAE\"
|
||||||
|
$user = $domain + $login ;
|
||||||
|
|
||||||
|
if(!(Test-Path -Path $homedirectory )){
|
||||||
|
|
||||||
|
New-Item -Path $homedirectory -ItemType directory | Out-Null
|
||||||
|
|
||||||
|
#Define FileSystemAccessRights:identifies what type of access we are defining, whether it is Full Access, Read, Write, Modify
|
||||||
|
$FileSystemAccessRights = [System.Security.AccessControl.FileSystemRights]"FullControl"
|
||||||
|
|
||||||
|
#define InheritanceFlags:defines how the security propagates to child objects by default
|
||||||
|
#Very important - so that users have ability to create or delete files or folders
|
||||||
|
#in their folders
|
||||||
|
|
||||||
|
$InheritanceFlags = [System.Security.AccessControl.InheritanceFlags]::"ContainerInherit", "ObjectInherit"
|
||||||
|
|
||||||
|
#Define PropagationFlags: specifies which access rights are inherited from the parent folder (users folder).
|
||||||
|
|
||||||
|
$PropagationFlags = [System.Security.AccessControl.PropagationFlags]::None
|
||||||
|
|
||||||
|
#Define AccessControlType:defines if the rule created below will be an 'allow' or 'Deny' rule
|
||||||
|
|
||||||
|
$AccessControl =[System.Security.AccessControl.AccessControlType]::Allow
|
||||||
|
#define a new access rule to apply to users folfers
|
||||||
|
|
||||||
|
$acl1 = New-Object System.Security.AccessControl.FileSystemAccessRule `
|
||||||
|
("Admins du domaine", $FileSystemAccessRights, $InheritanceFlags, $PropagationFlags, $AccessControl)
|
||||||
|
|
||||||
|
$acl2 = New-Object System.Security.AccessControl.FileSystemAccessRule `
|
||||||
|
("Système", $FileSystemAccessRights, $InheritanceFlags, $PropagationFlags, $AccessControl)
|
||||||
|
|
||||||
|
$acl3 = New-Object System.Security.AccessControl.FileSystemAccessRule `
|
||||||
|
($login, $FileSystemAccessRights, $InheritanceFlags, $PropagationFlags, $AccessControl)
|
||||||
|
|
||||||
|
$acl4 = New-Object System.Security.AccessControl.FileSystemAccessRule `
|
||||||
|
("administrationannuai", $FileSystemAccessRights, $InheritanceFlags, $PropagationFlags, $AccessControl)
|
||||||
|
|
||||||
|
#ACL Admins du domaine
|
||||||
|
$rule1 = Get-ACL -path $homedirectory
|
||||||
|
#Add this access rule to the ACL
|
||||||
|
$rule1.SetAccessRule($acl1)
|
||||||
|
#Write the changes to the user folder
|
||||||
|
Set-ACL -path $homedirectory -AclObject $rule1
|
||||||
|
|
||||||
|
#ACL Systeme
|
||||||
|
$rule2 = Get-ACL -path $homedirectory
|
||||||
|
#Add this access rule to the ACL
|
||||||
|
$rule2.SetAccessRule($acl2)
|
||||||
|
#Write the changes to the user folder
|
||||||
|
Set-ACL -path $homedirectory -AclObject $rule2
|
||||||
|
|
||||||
|
#ACL Utilisateur final
|
||||||
|
$rule3 = Get-ACL -path $homedirectory
|
||||||
|
#Add this access rule to the ACL
|
||||||
|
$rule3.SetAccessRule($acl3)
|
||||||
|
#Write the changes to the user folder
|
||||||
|
Set-ACL -path $homedirectory -AclObject $rule3
|
||||||
|
|
||||||
|
#On casse l heritage mais on ne supprime pas les acls heritees
|
||||||
|
$acl = Get-ACL -Path $homedirectory
|
||||||
|
$acl.SetAccessRuleProtection($True, $False)
|
||||||
|
Set-Acl -Path $homedirectory -AclObject $acl
|
||||||
|
|
||||||
|
#On copie le login sur admanager pour gestion des ACLs plus fine
|
||||||
|
$destination = "\\admanager\monitor$\"
|
||||||
|
$pathdestination = $destination + $login
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
New-Item $pathdestination -ItemType file | Out-Null
|
||||||
|
Write-host "0"
|
||||||
|
}
|
||||||
|
|
||||||
|
Catch {
|
||||||
|
|
||||||
|
Write-Error "1"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Write-host "1"
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user