howartp
Members-
Posts
3,884 -
Joined
Content Type
Forums
News
20th
EduGeek EDIT Conference
Blogs
Everything posted by howartp
-
I've just come across a completely free open-source one which seems to do everything we need. Jorani an open source Leave and Overtime Management System There's a demo at Login - Jorani Set up users, auth by LDAP, assign line manager, assign HR staff, email notification of requests, one-click accept/deny within the email, assign leave entitlement, calendars per workgroup/department/whole school etc. I've downloaded to install next week and have a go. Peter
-
What part of our HR software (that you probably don't know which we use) includes a web-based or application-based interface to allow staff to request annual leave, then allow their line manager to authorise or decline it before populating it straight into a master overview so that the HR staff can see who is in when? Peter
-
To be honest so could I, but it's yet another piece of internal software to maintain - I seem to spend half my days tweaking things in my own software instead of doing anything productive.
-
Hi, I'm just wondering if anyone here uses any Annual Leave software at their school? I started looking at a few this time last year but then the whole school's budget was slashed from outside so I immediately shelved it; I'd like to start looking again either for this September or sometime during the year. Peter
-
We use GoDaddy and I'm not aware of any issues with their certs - but just a question for everyone: I seem to think some Apple devices don't trust GoDaddy unless you install the certificate - am I making this up, or is it something historic that has changed, or...? We do install the whole chain when setting up SSL on the services we're using it for. Peter
-
Sorry, I've just realised that your 'NAS' and 'Storage server' aren't the same thing; I mis-read the initial post. Your options therefore become: 1) Put Veeam on it's own VM and point it at a SMB/CIFS share on the NAS 2) Put Veeam on the Storage server and point it at a SMB/CIFS share on the NAS I guess it depends on the spec of each as to your preference here. Peter
-
I think you have three options: 1) Put Veeam on it's own VM and point it at a SMB/CIFS share on the NAS 2) Put Veeam on it's own VM and install the Veeam proxy on the NAS. 3) Put Veeam directly on the NAS. I think I'd go for 2) or 3) depending on the spec of the NAS and it's OS, but I don't have experience in this area as my backups are all local storage on the Veeam physical server. Peter
-
Are you completely splitting into two schools with two Heads, two SLTs etc... or are you one set of managements running two schools? I don't now the SIMS/Capita answer, just asking prompting questions to help others who might know the answer. Peter
-
It is indeed - I found vague reference to 'History of changes' in the Attendance handbook after I posted but it didn't tell me what or where; I keep forgetting that Attendance is called Lesson Monitor, so I didn't spot it when looking around SIMS. Cheers. Peter
-
Hi, I've been asked to see if there's an audit log of who is editing attendance marks? A member of staff enters attendance marks for a specific student but some of them are seemingly being removed - she has taken a screenshot of the entered marks, so she knows they were entered, but the student has later reported that the mark is missing - so I need to track down which member of staff is removing the marks after they've been entered. I know there's all sorts of history and auditing in SIMS, but I don't know where all of it is. Can anyone advise? Peter
-
I'll have to come back to you on that.
-
Success migrating Logo Electro (etc) from server 2003
howartp replied to howartp's topic in Educational Software
I'll pm you both in a moment. My teachers found a problem after we came back which means I've not been 100% successful, but I'm sure the bit that isn't working is resolvable, I just haven't had time during term-time to fix it. Three of us might also get to the fix quicker by combining experience as well. Edit: Well I would if I could find where on earth I saved it - I'll come back to you tomorrow! Peter -
[Powershell] Does anyone have a script which .....
howartp replied to halbaradkenafin's topic in Scripts
Just finished this one recently and ran it live last night. Imports parents that have registered for our Parent Portal from CSV (that originally comes from SIMS each night) into AD then emails them their password. They have to contact me separately for their username if they haven't been told what it will be when they filled in the paperwork. All accounts expire on the 2nd of $nextmonth - this expiry is re-set again every night. If a parent has left / become unlinked, they won't be in the CSV, so they won't get updated - and will therefore expire. Any live parents will always be updated to next-month by the time we get there. Any clashes or duplicates get emailed to me to sort out. write-host "Importing GetPassword.ps1" . "\\server\share\GetPassword.ps1" $csv = Import-Csv \\server\share\Parents2AD.csv $csv $Expiry = ((Get-Date -day 01).AddMonths(1).AddDays(1)) $Expiry = Get-Date $Expiry -Format D write-host "Account Expiries will be set to: " $Expiry Import-Module ActiveDirectory function trimit($inStr) { return ($inStr -replace(' ','') -replace('-','') -replace('-','')) } write-host "Looping through CSV" $csv | ForEach { $DisplayName = trimit($_.givenName + "." + $_.sn) #$DisplayName if ($_.sAMAccountName -eq " ") { $AcName = trimit($_.givenName + '.' + $_.sn) } else { $AcName = $_.sAMAccountName } if ($AcName.Length -gt 20) { $AcName = $AcName.Substring(0,20) } #$AcName $PassWord = Create-RandomPassword #$PassWord $Email = $_.mail #$Email $testcount = (Get-ADUser -filter {name -eq $AcName}).count if ($testcount -lt 1) { write-host "Creating user:" $AcName " - " $DisplayName New-ADUser -Name $AcName -DisplayName $DisplayName -GivenName $_.givenName -Surname $_.sn -SamAccountName $AcName -UserPrincipalName $AcName -EmailAddress $_.mail -Path "OU=ParentUsers,DC=scraven,DC=internal" -PasswordNeverExpires $True -AccountPassword (ConvertTo-SecureString $PassWord -AsPlainText -force) -Enabled $True -AccountExpirationDate $Expiry Send-MailMessage -SmtpServer "192.168.x.x" -From "[email protected]" -To $Email -Subject "South Craven Parent Account" -Body $("Dear Parent/Carer,`r`n`r`nYour South Craven parent account has been created.`r`n`r`nYour password is: $PassWord`r`n`r`nTo obtain your username, please reply to this email.`r`n`r`nWe recommend you use our Self Service portal to a) change your password to something you know, and b) set some security questions so you can automatically reset your password if you forget it in the future.`r`n`r`nYou can find our Self Service portal at: http://selfservice.southcraven.org.`r`n`r`nPlease login with your username and the password above and follow the prompts to enroll.`r`n`r`nIf you have any problems or queries, please contact the IT Office on [email protected] or 01535 632861.`r`n`r`nIT Support.") } else { $UserMail = (Get-ADUser $AcName -Properties EmailAddress | select EmailAddress).EmailAddress #$UserMail if ($UserMail -eq $Email) { #write-host "Record exists and matches ($Email)" #Therefore just update expiry Set-ADUser $AcName -AccountExpirationDate $Expiry } else { write-host "Username $AcName exists but doesn't match ($UserMail <> $Email)" #Therefore send a warning email to ITSupport Send-MailMessage -SmtpServer "192.168.x.x" -From "[email protected]" -To $("[email protected]") -Subject "Duplicate Parent Account" -Body $("Duplicate parent account found! `r`n`r`nUsername: $AcName`r`nCurrent Email: $UserMail`r`nNew Email: $Email`r`n`r`nPlease check whether this is a changed email address or a duplicate account.`r`n`r`nIT Support.") } } } It makes use of this password script which I nabbed from somewhere. I've just removed I, L, O, 1 and 0's from it. function Create-RandomPassword ( [int] $minLength = 8, [int] $maxLength = 8, [bool] $useSymbols = $false, [bool] $asSecureString = $false ) { [system.Security.Cryptography.RNGCryptoServiceProvider] $random = new-object System.Security.Cryptography.RNGCryptoServiceProvider # Get an array of all characters that can be used in the password [string] $choice = Get-CharacterChoice -useSymbols $useSymbols $randomPassword = $null if (($minLength -le $maxLength) -and ($minLength -ge 6)) { # Allocate a byte array of dimension 1 $randomNumber = new-object byte[] 1 if ($minLength -eq $maxLength) { [int] $length = $minLength } else { # Calculate a random length between minLength and maxLength $random.GetBytes($randomNumber) [int] $length = $minLength + $randomNumber[0] % ($maxLength - $minLength + 1) } # Allocate a byte array of dimension $length $randomSequence = new-object byte[] $length $hasUCase = $hasLCase = $hasNum = $false while(!$hasUCase -or !$hasLCase -or !$hasNum) { # Generate random sequence of bytes $random.GetBytes($randomSequence) # Ensure that there is at least one number, uppercase # character and lowercase character in the sequence. $hasUCase = $hasLCase = $hasNum = $false foreach($b in $randomSequence) { [char]$char = $choice[$b % $choice.Length] if ($char -ge 'A' -and $char -le 'Z') { $hasUCase = $true } if ($char -ge 'a' -and $char -le 'z') { $hasLCase = $true } if ($char -ge '0' -and $char -le '9') { $hasNum = $true } } } if ($asSecureString) { $randomPassword = new-object System.Security.SecureString } else { [string] $randomPassword = '' } # Assign the password from the sequence of random bytes foreach($b in $randomSequence) { [char]$char = $choice[$b % $choice.Length] if ($asSecureString) { $randomPassword.AppendChar($char) } else { $randomPassword += $char } } } return $randomPassword } # Outputs an array of all the characters that the generated password # can be made up of. function Get-CharacterChoice ( [bool] $useSymbols = $true ) { if ($useSymbols) { [string] $choice = '!"#$%&''()*+,-./' } else { [string] $choice = '' } $choice += '23456789' if ($useSymbols) { $choice += ':;<=>?@' } $choice += 'ABCDEFGHJKMNPQRSTUVWXYZ' if ($useSymbols) { $choice += '[\]^_`' } $choice += 'abcdefghjkmnpqrstuvwxyz' if ($useSymbols) { $choice += '{|}~' } return $choice } -
Apart from the 'Full Staff' meetings on training days, our pattern is that the week after every 'Staff' meeting, there always follows a 'Support Staff' meeting where we get the cut-down version of the former meeting. Everyone who is 'Support Staff' knows they are (and that includes IT) - everyone else goes to the former.
-
Hi. Purely be fluke I was reading another thread yesterday from a couple of years ago, trying to achieve the same. http://www.edugeek.net/forums/enterprise-software/154756-papercut-script.html I'll be doing similar today/tomorrow if you're still stuck. (edit: just noticed it was only last week, not years ago - I was reading old scripts at the same time!)
-
I've just emailed Neil directly and asked him to pop by. Peter
-
I used to use KRCS but having got fed up with our account manager advising us wrong (that's the polite way of putting it) I have cancelled the PO and moved to XMA. Peter
-
We're inside Google HQ - Your chance to ask questions...
howartp replied to Haptic's topic in O/S Deployment
1) Hooray 2) Didn't Classroom launch in U.S. first? -
We're inside Google HQ - Your chance to ask questions...
howartp replied to Haptic's topic in O/S Deployment
GAFE already has our students in groups, which allows sharing files in Drive with a class. When in Google Classroom, why can't you invite those existing groups to be students in the class? You either have to invite individual students, or share the class code to them. Also, is it going to be possible to mark Classroom assignments with Grades, not /100 marks. -
Wow - I wasn't expecting the code to be re-written so quickly, so I worked out a slightly different logic in my scripts then had one of the admin team go through and put in 70 UDF entries manually (instead of the 1800!) I'll keep an eye on it because I'm still not quite happy with how it's working. EDIT: I mean with how my logic is working, not your software. Peter
-
Hi, Does anyone have an ImagePrograf wide format printer in their school? If so, what model, and do you (or your finance team) know what sort of cost different types of document might cost - say a typical line-drawing siteplan, a text & image advert/poster, and a full colour photo? I know this is a piece-of-string question, but any help appreciated. Also, where about in the country are you? Peter
-
We stated photography course at Easter and Art have printed everything to our (5 year old) MFDs. She's moaned several times a week about the MFDs jamming, but not once about the quality. Sharp are saying their machines aren't designed for full page coverage which is what's jamming them - Konica (coming July) assure me there's are designed for 400% coverage (ie 100% of each colour toner on a page) without jamming - so Art are going to stick to the MFDs; no pun intended.
-
I'm pretty sure Ergo Computing do height-adjustable desks. Peter
-
[Powershell] Does anyone have a script which .....
howartp replied to halbaradkenafin's topic in Scripts
I should have said, I take no claim for writing it - the core of the class was stolen from elsewhere. I just wrote the bits at the bottom that make use of the functions defined above. In answer to your question, that is defining the parameters that the function accepts. When you use auto-complete or intellisense, it will show you those as possible values you can provide to the routine. Peter -
[Powershell] Does anyone have a script which .....
howartp replied to halbaradkenafin's topic in Scripts
This script is what I run nightly to email any staff whose password is due to expire within 5 days. You get an email saying how many days are left, and explaining how to change it in school or from home. Peter PwdExpiry_Edugeek.txt
