STtools

1.2.4

Tools for school system admins.  Currently setting groups based on arbitrary CSV files is implemented.

Examples:

# Year level groups for students
# Students are assigned to groups according to their year level based n their SCHOOL_YEAR in CASES
# eg. Year7, Year8, ...
Get-STGroupsFromCSV -csvfile "\\path\to$\STUDENT.csv" -prefix "Year" -username_header "STKEY
Tools for school system admins.  Currently setting groups based on arbitrary CSV files is implemented.

Examples:

# Year level groups for students
# Students are assigned to groups according to their year level based n their SCHOOL_YEAR in CASES
# eg. Year7, Year8, ...
Get-STGroupsFromCSV -csvfile "\\path\to$\STUDENT.csv" -prefix "Year" -username_header "STKEY" -group_header "SCHOOL_YEAR" -stripzeros -filter {$_.STATUS -eq "ACTV"} |ForEach-Object {
   Remove-ADGroupMember -Identity $_.Identity -Members $_.NonMembers -Confirm:$false -PassThru
   Add-ADGroupMember -Identity $_.Identity -Members $_.Members -Confirm:$false -PassThru
}

# Year level groups for staff
# Staff are assigned to groups according to the year levels of classes in their timetabler
# eg. 7teachers, 8teachers ...
Get-STGroupsFromCSV -csvfile "\\path\to\classes\taught.csv" -username_header "Teacher Code" -group_header "Roll Class Code" -postfix teachers -onlynumbers |ForEach-Object {
   Remove-ADGroupMember -Identity $_.Identity -Members $_.NonMembers -Confirm:$false -PassThru
   Add-ADGroupMember -Identity $_.Identity -Members $_.Members -Confirm:$false -PassThru
}

# Staff group
# Staff are assigned to the Staff group according to them being active in CASES
Get-STGroupsFromCSV -csvfile "\\path\to\file\with\staff.csv" -username_header "SFKEY" -group_name "Staff" -filter {$_.STAFF_STATUS -eq "ACTV"} |ForEach-Object {
   Remove-ADGroupMember -Identity $_.Identity -Members $_.NonMembers -Confirm:$false -PassThru
   Add-ADGroupMember -Identity $_.Identity -Members $_.Members -Confirm:$false -PassThru
}

# Class groups for students
# Students are assigned to groups according to classes they have in timetabler
# eg. 07ENG1, 08ENG3, ...
Get-STGroupsFromCSV -csvfile "\\path\to\file\with\classes.csv" -username_header "Student Code" -group_header "Class Code" |ForEach-Object {
   Remove-ADGroupMember -Identity $_.Identity -Members $_.NonMembers -Confirm:$false -PassThru
   Add-ADGroupMember -Identity $_.Identity -Members $_.Members -Confirm:$false -PassThru
}
Show more

Installation Options

Copy and Paste the following command to install this package using PowerShellGet More Info

Install-Module -Name STtools -RequiredVersion 1.2.4

Copy and Paste the following command to install this package using Microsoft.PowerShell.PSResourceGet More Info

Install-PSResource -Name STtools -Version 1.2.4

You can deploy this package directly to Azure Automation. Note that deploying packages with dependencies will deploy all the dependencies to Azure Automation. Learn More

Manually download the .nupkg file to your system's default download location. Note that the file won't be unpacked, and won't include any dependencies. Learn More

Owners

Copyright

(c) 2018 Eric van de Paverd. All rights reserved.

Package Details

Author(s)

  • Eric van de Paverd

Functions

Get-STGroupsFromCSV Set-STOrganizationalUnit New-STUser Set-STUser ConvertFrom-STEduHubST ConvertFrom-STEduHubSF

Dependencies

This module has no dependencies.

FileList

  • STtools.nuspec
  • STtools.format.ps1xml
  • STtools.psd1
  • STtools.psm1
  • .git\COMMIT_EDITMSG
  • .git\config
  • .git\description
  • .git\FETCH_HEAD
  • .git\HEAD
  • .git\index
  • .git\hooks\applypatch-msg.sample
  • .git\hooks\commit-msg.sample
  • .git\hooks\post-update.sample
  • .git\hooks\pre-applypatch.sample
  • .git\hooks\pre-commit.sample
  • .git\hooks\pre-push.sample
  • .git\hooks\pre-rebase.sample
  • .git\hooks\pre-receive.sample
  • .git\hooks\prepare-commit-msg.sample
  • .git\hooks\update.sample
  • .git\info\exclude
  • .git\logs\HEAD
  • .git\logs\refs\heads\master
  • .git\logs\refs\remotes\origin\master
  • .git\objects\03\3af5c6e8fbb878c2be5c988ca8991d6b7bfc64
  • .git\objects\0e\067b16f4ebe54be097cb05a9021848160d874e
  • .git\objects\0e\59d4078b928efa27ffcb4d51e40da6eddd6d9d
  • .git\objects\11\9fc8c8b8b5dbed409f842a937a8a8494c5e149
  • .git\objects\12\4254076f93d3dc90cd91c2497d52c17dc62f93
  • .git\objects\15\f691686075b0e73bebf0c04299a43145d8a877
  • .git\objects\17\c55df8500881dba4a365a74efb2b2f6530ac18
  • .git\objects\19\6beec85d1777783fc8333c3a7a23f1591c179a
  • .git\objects\2a\1b70b7217571aae86253bf8a8f1ad39a944c1c
  • .git\objects\36\5f5a9b664eb42facf8f4f274c515a8287e169a
  • .git\objects\38\7ecf9943abb46509c635a4445632b67435a8e1
  • .git\objects\39\72f2af861ca4b3fadeef6a936bd77961387f8d
  • .git\objects\3a\6a4fd75ed85571ea0c2c5f3e41224f825e1522
  • .git\objects\49\07516cb85e81b6360d90df0c246dcd83900825
  • .git\objects\49\397727c8845da21d0de49a0cfe0403bd61082c
  • .git\objects\61\a171608c00a718aac87aa6bef8cdc25120d910
  • .git\objects\69\c31b16b92e60de16651b4beaa16e2f8f55653f
  • .git\objects\6a\480abdfeb9ac4908deafed07c93bc0ba83c3aa
  • .git\objects\6c\647d4d61da4f7355b19e582732481d0eca3184
  • .git\objects\6f\44d9c94e00e3110b96da6d206315a8281e7930
  • .git\objects\70\de801e5e1b31413eab79380f677eb52cbd4b53
  • .git\objects\73\77deae804c90e3fc8855c4660709fd5897c6c4
  • .git\objects\79\959cdd3450d4def22ff62127d99d671acd7a48
  • .git\objects\80\9d73b58ca326ec387e1d90cc5d4454fee61849
  • .git\objects\85\ed19d35512131b29fb6398fb55222cb49d1074
  • .git\objects\8e\029eb1e300efb558024e195b8ac356b0149b8b
  • .git\objects\94\392fa99d009246326ae54dd66529ae5629ff39
  • .git\objects\95\acb2c1d2b7d7b15f308d5430f9fbc6cc8d3ec9
  • .git\objects\9d\57bed8cd1619b9a82de18362ef665a49eec5df
  • .git\objects\a9\8b59e196d99996e11690c02bcee9875f9353ac
  • .git\objects\ac\5a9a94d344192761bcd354fe3207068d50e3ec
  • .git\objects\b0\b69a84aad842f06a519d76817b414c39ebf3f9
  • .git\objects\b6\f79aa353a6101a499972819649ac2aef5b2429
  • .git\objects\b7\4fc7fdea48cccfdbd353fc3eb9626d2369f870
  • .git\objects\b8\142be75c2dc2f2353c2c99c0afb52ee08eddcf
  • .git\objects\c3\b98c62c694611cbc352a05086d4fa1106bede3
  • .git\objects\c5\d02bdb1fdf5c5a02d95e600c42cabb8ee9eeaf
  • .git\objects\cd\af601418dccaa290d6315560ae4de99b5146dd
  • .git\objects\d3\a07067a6ddd50b531aa100a4a3869730d09e79
  • .git\objects\d4\5d6a7883ff5a03c5c757238940b43310a9b518
  • .git\objects\e0\3a69cd3d3c5b8e23f70e4737e83f0a5aea2948
  • .git\objects\e2\4b7139315da00a5f162ea068d065c3d70e501d
  • .git\objects\e4\8fdc455f93e7db6de1b50000ea0b95e3189f16
  • .git\objects\eb\ee616edeee77081a681f2e98ca207e2dd43032
  • .git\objects\f0\23972c9e6079ce50d2f135ed20fdd4450f6db0
  • .git\objects\f3\5c8d0c6b8f121a48f191fc1fca02dd6e2f115c
  • .git\objects\fe\161a797c1dc4ac7232c95d817e1e6653813a8f
  • .git\refs\heads\master
  • .git\refs\remotes\origin\master
  • .git\refs\tags\1.2

Version History

Version Downloads Last updated
1.3.2 320 11/21/2019
1.3.1 76 5/6/2019
1.3.0 43 2/11/2019
1.2.14 24 2/4/2019
1.2.13 18 2/4/2019
1.2.12 18 1/30/2019
1.2.11 53 10/1/2018
1.2.10 29 9/10/2018
1.2.9 21 9/10/2018
1.2.8 26 8/31/2018
1.2.7 28 8/17/2018
1.2.6 21 8/13/2018
1.2.5 22 7/30/2018
1.2.4 (current version) 19 7/30/2018
1.2.3 24 7/19/2018
1.2.2 18 7/16/2018
1.2.1 39 3/26/2018
1.2 19 3/19/2018
1.1 17 3/19/2018
1.0 32 2/19/2018
Show less