STtools
1.2.10
Tools for school system admins.
Get-STGroupsFromCSV
Creates group accounts based CSV (plus prefix/postfix options to flexibly create group names)
ConvertFrom-STEduHubSF / ConvertFrom-STEduHubST
Converts CASES EduHub format Staff/Student CSV files into objects that can be piped into New-ADUser
Set-STUser
Update user account properties to match the incoming
Get-STGroupsFromCSV
Creates group accounts based CSV (plus prefix/postfix options to flexibly create group names)
ConvertFrom-STEduHubSF / ConvertFrom-STEduHubST
Converts CASES EduHub format Staff/Student CSV files into objects that can be piped into New-ADUser
Set-STUser
Update user account properties to match the incoming
Tools for school system admins.
Get-STGroupsFromCSV
Creates group accounts based CSV (plus prefix/postfix options to flexibly create group names)
ConvertFrom-STEduHubSF / ConvertFrom-STEduHubST
Converts CASES EduHub format Staff/Student CSV files into objects that can be piped into New-ADUser
Set-STUser
Update user account properties to match the incoming ADUser compatible object to ensure things like changed names are updated. Also Creates a home directory path if it does not exist, and gives the user Full Control of that directory.
New-STUser
Wraps New-ADUser, adding complex pseudo-random password generation, home directory creation and permission setting, and an email report
Set-STOrganizationalUnit
Moves users to the OU specified in the userOUs parameter (a Hashtable of OU => @(<ADUser objects>))
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
Get-STGroupsFromCSV
Creates group accounts based CSV (plus prefix/postfix options to flexibly create group names)
ConvertFrom-STEduHubSF / ConvertFrom-STEduHubST
Converts CASES EduHub format Staff/Student CSV files into objects that can be piped into New-ADUser
Set-STUser
Update user account properties to match the incoming ADUser compatible object to ensure things like changed names are updated. Also Creates a home directory path if it does not exist, and gives the user Full Control of that directory.
New-STUser
Wraps New-ADUser, adding complex pseudo-random password generation, home directory creation and permission setting, and an email report
Set-STOrganizationalUnit
Moves users to the OU specified in the userOUs parameter (a Hashtable of OU => @(<ADUser objects>))
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
}
Installation Options
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
Release Notes
changed description in manifest to use here-string
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\ORIG_HEAD
- .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\04\314544b82fc5369fefbae6a1146ff86dd95c18
- .git\objects\0e\067b16f4ebe54be097cb05a9021848160d874e
- .git\objects\0e\59d4078b928efa27ffcb4d51e40da6eddd6d9d
- .git\objects\11\9fc8c8b8b5dbed409f842a937a8a8494c5e149
- .git\objects\12\4254076f93d3dc90cd91c2497d52c17dc62f93
- .git\objects\14\199be4672f7ee001a57afb374e5bd0841b057a
- .git\objects\15\f691686075b0e73bebf0c04299a43145d8a877
- .git\objects\16\2103059ffb935f8c2cdba003117776f192b232
- .git\objects\16\a24ead28af7742343e47673dc298d0db084c8b
- .git\objects\17\c18f775dfbbede686a4788315ebe13d41c947a
- .git\objects\17\c55df8500881dba4a365a74efb2b2f6530ac18
- .git\objects\19\6beec85d1777783fc8333c3a7a23f1591c179a
- .git\objects\1a\10915a9437d0990a5d4e7d52f5e3c439ea6944
- .git\objects\1a\2eac7c94286be9c2d3d921f352321b3c70c8d9
- .git\objects\1b\4f73d3d84a3fce52f3e71df78e1fc2bdd81ade
- .git\objects\1d\050b2af4effced4bf44fb7d1d114fd010a2ebe
- .git\objects\23\c510aba79a73f828bd69adae51cecb1a33f59d
- .git\objects\27\77e5e5551dee7378cc17e53acb03d661c15c5e
- .git\objects\2a\1b70b7217571aae86253bf8a8f1ad39a944c1c
- .git\objects\2f\43c6158e002e58ab30b8e0f4fb45f16f0a3fba
- .git\objects\30\87d9a063a2a0df818bc8c10f9a351fd718c428
- .git\objects\33\35efa7bd80ad14bfc28a33dd5333d321e23fab
- .git\objects\36\4572e905732255ed971a71370446091ed990c3
- .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\49\5609bc317d72da6c56ffe07668357a86fbfc63
- .git\objects\4b\ec85560494edff3e188ca89b836649a72d2d29
- .git\objects\4c\6d0e092523af0e8b3c0c18ea8a59c5b06092de
- .git\objects\5a\aaf43b2a2d8d67e25e7ee0c072f45a67ac911f
- .git\objects\61\a171608c00a718aac87aa6bef8cdc25120d910
- .git\objects\69\7b055f88b912fdee2083e20e0baf3a8a03e787
- .git\objects\69\c31b16b92e60de16651b4beaa16e2f8f55653f
- .git\objects\6a\480abdfeb9ac4908deafed07c93bc0ba83c3aa
- .git\objects\6b\72eb63013426a5fed8114be5e9e1e905e1771f
- .git\objects\6c\647d4d61da4f7355b19e582732481d0eca3184
- .git\objects\6f\44d9c94e00e3110b96da6d206315a8281e7930
- .git\objects\70\de801e5e1b31413eab79380f677eb52cbd4b53
- .git\objects\73\77deae804c90e3fc8855c4660709fd5897c6c4
- .git\objects\79\959cdd3450d4def22ff62127d99d671acd7a48
- .git\objects\7d\65a558903750de2936f2b7346c3ee1ff06c795
- .git\objects\7e\5e22a0a2aee312f0523a4c9099635ef88082b7
- .git\objects\7f\ba7edd257878459e25cafa4622febb8be18d83
- .git\objects\80\9d73b58ca326ec387e1d90cc5d4454fee61849
- .git\objects\85\ed19d35512131b29fb6398fb55222cb49d1074
- .git\objects\8d\d320a22ccc37408ccb83daec5d65d750cde0b0
- .git\objects\8e\029eb1e300efb558024e195b8ac356b0149b8b
- .git\objects\94\392fa99d009246326ae54dd66529ae5629ff39
- .git\objects\95\677f705660fb7fc56267ac04911d876c05ce69
- .git\objects\95\acb2c1d2b7d7b15f308d5430f9fbc6cc8d3ec9
- .git\objects\96\e213e92c3322256b396ef3683e63c4c54cd5e9
- .git\objects\9d\57bed8cd1619b9a82de18362ef665a49eec5df
- .git\objects\9e\eb337895b089fd5c87e29b1b6eb8c1a9eeee3e
- .git\objects\a0\b967cd8759690118fff565242ab3ae349e68f8
- .git\objects\a5\ae8290776121fd38870d4d0d63a8fc4e90b0ec
- .git\objects\a7\2f5627e7f2eda92830e933164057bd54616f73
- .git\objects\a9\8b59e196d99996e11690c02bcee9875f9353ac
- .git\objects\a9\e80005ce6c7495e6a36583ed802e19713f94a1
- .git\objects\ac\5a9a94d344192761bcd354fe3207068d50e3ec
- .git\objects\b0\b69a84aad842f06a519d76817b414c39ebf3f9
- .git\objects\b6\f79aa353a6101a499972819649ac2aef5b2429
- .git\objects\b7\4fc7fdea48cccfdbd353fc3eb9626d2369f870
- .git\objects\b8\142be75c2dc2f2353c2c99c0afb52ee08eddcf
- .git\objects\be\0518b048811a7de7d4dc6d7ae2036a27201a51
- .git\objects\bf\a5b1040c08a02682d0465b51752031e8c35b28
- .git\objects\c3\b98c62c694611cbc352a05086d4fa1106bede3
- .git\objects\c5\74e1202b72abac6be3df02d2835bfed726281a
- .git\objects\c5\d02bdb1fdf5c5a02d95e600c42cabb8ee9eeaf
- .git\objects\cd\af601418dccaa290d6315560ae4de99b5146dd
- .git\objects\ce\a9975ebef423bd3f35a4dc0fac96db3d0da9c3
- .git\objects\d0\f470d2a5847948dcaf6737717780e34ebb8ade
- .git\objects\d3\a07067a6ddd50b531aa100a4a3869730d09e79
- .git\objects\d4\305fbbfe41866d47e859a3869c942978633331
- .git\objects\d4\5d6a7883ff5a03c5c757238940b43310a9b518
- .git\objects\dd\f9d499a92103beef2658995b2848b955aae847
- .git\objects\e0\3a69cd3d3c5b8e23f70e4737e83f0a5aea2948
- .git\objects\e2\4b7139315da00a5f162ea068d065c3d70e501d
- .git\objects\e4\589a7053bcafb64c2c397746f2fc916645393c
- .git\objects\e4\8fdc455f93e7db6de1b50000ea0b95e3189f16
- .git\objects\eb\ee616edeee77081a681f2e98ca207e2dd43032
- .git\objects\ec\3b6d430d5adec5056c38c491cb53656f2b27eb
- .git\objects\f0\23972c9e6079ce50d2f135ed20fdd4450f6db0
- .git\objects\f3\5c8d0c6b8f121a48f191fc1fca02dd6e2f115c
- .git\objects\f4\387783b78073513a0b39450a8dfc5037211067
- .git\objects\f6\43dae7b0cebe6dd90c8e20a749011c357d0a03
- .git\objects\f6\4d0882fca2b85f0abe81ddb621ec3b4377e5ba
- .git\objects\f9\b2aa380e6b146260ba827f7e963b61dcdd07a8
- .git\objects\fb\5fbbd4565fd12587ec4a5b24b6d2d856f3d58b
- .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 | 327 | 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 (current version) | 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 | 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 |