Jump to content

ChrisMiles

Members
  • Posts

    410
  • Joined

  • Last visited

Everything posted by ChrisMiles

  1. when you say fdisk and format do you mean wipe, or do you actually mean create a partition and format it ready for use? If you mean wipe then you can try: Darik's Boot And Nuke | Hard Drive Disk Wipe and Data Clearing If you mean to create a partition and format, you can just use a windows 98 boot disk with autoexec.bat using the normal fdisk and format command line progs.
  2. KMS keys are not activation keys as you usually understand them, they are not the keys used to activate your servers and clients (the clients use a generic key which tells them to activate via KMS), they are the keys to activate the KMS server itself. When you set up a KMS server you use the Windows 2008 R2 KMS key to create the KMS server. This key will then activate Windows 2008 R2 servers AND Windows 7 Clients. You do not and indeed cannot add the Windows 7 KMS key to the KMS server. The Windows 7 KMS key is for running a KMS server ON Windows 7 NOT for licensing Windows 7 clients as I said above. Office 2010 KMS requires you download and install the Microsoft Office 2010 KMS Host License Pack onto your existing KMS server, you specify your Office 2010 KMS key during the install and the Office clients will find it automatically. And yes, KMS activated clients do need to check back periodically to verify their licence and the annoying thing about this is if they fail to activate they immediately go into "this copy of windows/office is not genuine" mode.
  3. I fixed this issue on my domain by adding my domain (domain.local) to the trusted sites settings on the computer using the group policy setting: Computer Configuration / Policies / Administrative Templates / Windows Components / Internet Explorer / Internet Control Panel / Security Page / Site to Zone Assignment List
  4. I don't think youll be able to compare them in the way you think. The way I would do it is to split the usernames into 3 columns of year first name and last name in excel and then compare the last name and perhaps the first 3 characters of the first name, this cshould cover most of them, then do the ones that are left manually. This is the main reason why I insist on the usernames using the name from sims, however, to avoid any issues like this, I write each students admission number and UPN to the employeeID and employeeNumber AD user properties when they are created so I can compare them that way without even bothering with names.
  5. SQL should use all the memory and cores by default anyway, most of the optimisation comes from designing the IO subsystems. As for tweaking SQL itself, you should start with adding additional tempdb files of a reasonable but equal size, one for each core assigned to SQL. You should also ensure that the database file growth options are set correctly. I've seen SIMS databases set to 1MB growth which has terrible overhead and causes horrific OS level fragmentation. I'd recommend you set the database to a fixed size with room to spare, set a reasonable growth size (depends on your database size) and use windows defrag while sql is disabled to ensure the database files are contiguous before going live. - Chris
  6. You cant do it without 3rd party software, either something which runs all the time or something which dynamically generates a wallpaper with the writing on. In windows 7 the host name is clearly displayed on the My Computer screen but as for the IP address, its more difficult to find out. What about a shortcut to a script in their start menu which would display the information. So you could say "If you go into your start menu under Maintenance and click Show System Info you will see the hostname and ip address" etc etc.
  7. Try this, it should do what you are after: OWA Tray Monitor
  8. This should do what you want: Option Explicit On Error Resume Next Dim objWMIService Dim strComputer, intMaxSequenceNumber Dim colRestorePoints, objRestorePoint strComputer = "." intMaxSequenceNumber = 0 Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!//" & strComputer & "/root/default") Set colRestorePoints = objWMIService.ExecQuery("SELECT * FROM SystemRestore") If Not colRestorePoints Is Nothing Then For Each objRestorePoint In colRestorePoints If objRestorePoint.SequenceNumber > intMaxSequenceNumber Then intMaxSequenceNumber = objRestorePoint.SequenceNumber End If Next End If If intMaxSequenceNumber <> 0 Then Set colRestorePoints = objWMIService.ExecQuery("SELECT * FROM SystemRestore WHERE SequenceNumber = " & intMaxSequenceNumber) If Not colRestorePoints Is Nothing Then For Each objRestorePoint In colRestorePoints 'MsgBox "Restoring restore point #" & intMaxSequenceNumber objRestorePoint.Restore(intMaxSequenceNumber) Exit For Next End If End If
  9. I have written some software which will decode the document store, it does not use the sims business logic, does not require access to the database and as a result is extremely fast. However, because of the nature of the store and the sensitivity of the data I am not prepared to post a link for it here. If you would like a copy please send me a PM with your school e-mail address and I will mail it over to you. -Chris
  10. Exmerge doesnt support Exchange 2010, Exmerge is for 2003 and lower.
  11. Win32_LogicalMemoryConfiguration doesn't exist in windows 7, i changed it to Win32_PhysicalMemory and tidied it up again, you really should stop pasting web code into it Download a tool called WMI Explorer to see what WMI info you can get. Option Explicit On Error Resume Next Dim objRootDSE, objNetwork, objWMIService, objComputer Dim strComputer, strMake, strModel, strSerialNumber, strMacAddresses, strMemory, intMemory Dim colBIOS, objBIOS Dim colNetworkAdapterConfiguration, objNetworkAdapterConfiguration Dim colComputerSystem, objComputerSystem Dim colPhysicalMemory, objPhysicalMemory Dim adoConnection, adoRecordset strComputer = "." strMemory = "" strMake = "" strModel = "" strSerialNumber = "" strMacAddresses = "" Set objRootDSE = GetObject("LDAP://RootDSE") Set objNetwork = WScript.CreateObject("WScript.Network") Set objWMIService = GetObject("Winmgmts:\\" & strComputer & "\root\cimv2") Set colComputerSystem = objWMIService.ExecQuery("SELECT * FROM Win32_ComputerSystem") If Not colComputerSystem Is Nothing Then For Each objComputerSystem In colComputerSystem strMake = objComputerSystem.Manufacturer strModel = objComputerSystem.Model Next End If Set colBIOS = objWMIService.ExecQuery("Select * From Win32_BIOS") If Not colBIOS Is Nothing Then For Each objBIOS in colBIOS strSerialNumber = objBIOS.SerialNumber Next End If Set colNetworkAdapterConfiguration = objWMIService.ExecQuery("Select * From Win32_NetworkAdapterConfiguration Where IPEnabled = True") strMacAddresses = "" If Not colNetworkAdapterConfiguration Is Nothing Then For Each objNetworkAdapterConfiguration in colNetworkAdapterConfiguration If strMacAddresses <> "" Then strMacAddresses = strMacAddresses & ", " End If strMacAddresses = strMacAddresses & objNetworkAdapterConfiguration.MACAddress Next End If Set colPhysicalMemory = objWMIService.ExecQuery("Select * From Win32_PhysicalMemory") If Not colPhysicalMemory Is Nothing Then intMemory = 0 For Each objPhysicalMemory In colPhysicalMemory intMemory = intMemory + Int(objPhysicalMemory.Capacity) Next strMemory = (intMemory / 1024 / 1024) & " MB" End If Set adoConnection = CreateObject("ADODB.Connection") adoConnection.Provider = "ADsDSOObject" adoConnection.Open "Active Directory Provider" If Err.Number <> 0 Then MsgBox "Connect Error: " & Err.Description WScript.Quit End If Set adoRecordset = adoConnection.Execute(";(&(objectCategory=Computer)(name=" & objNetwork.Computername & "));adspath;subtree") If Err.Number <> 0 Then MsgBox "Query Error: " & Err.Description WScript.Quit End If If Not adoRecordset.EOF Then Set objComputer = GetObject(adoRecordset.Fields(0).Value) objComputer.Put "description", "Make: " & strmake & " Model: " &strModel & " Ram: " & strMemory & " Serial No: " & strSerialNumber & " MAC Addresses: " & strMACAddresses objComputer.SetInfo End If If Err.Number <> 0 Then MsgBox "Write Error: " & Err.Description WScript.Quit End If
  12. Glad you got it sorted, its always a nightmare when things like this happen.
  13. What version do you have? Ours is fairly old network licensing version, perhaps there are some differences. Can't hurt to try though can it?
  14. I just reset the folders to inherit the default permissions from the Program Files folder, but you can, if you want, set individual permissions to the student & teacher folders using your domain groups.
  15. Enabling full control on folders, shares etc seems to be the default position of most software venders I have come across, including everything from random software like successmaker to huge systems like sims. It drives me nuts, its just down to ignorance of how permissions actually work and sheer lazyness. It's the main reason why I refuse to ever let engineers install anything on my servers. As for a solution to successmaker, what I did was move the folders from the root to a successmaker folder in program files, add hidden symbolic directory links in place of the root folders and reset the permissions myself to something less insecure.
  16. Ok, sorry then, that's no help. The WMI query is correct. The only thing I can think is that wmi doesnt correctly report the computer name at the point during startup where the filter is checked. Maybe try filtering on DNSHostName instead?
  17. Aren't your laptops in a different OU? WMI filters are slow and shoudn't really be used instead of good AD organisation. Make a Laptops OU, move them into it and apply the policy to that OU only.
  18. I meant the exchange management console.
  19. This is the fastest way to do it: Export-Mailbox: Search for and delete emails in Exchange 2007 mailboxes using PowerShell use powershell and Export-Mailbox to find and delete the mail.
  20. Well if thats the case, I dont recommend you use them, especially if you are in a hurry. I wouldnt want to be responsible for any problems. You can also export and import mailboxes uses the exchange manager, thats probably a better bet.
  21. Yeah it does, as long as the user's alias's are the same. Run the export script on the old server, move the pst files somewhere the new server can access them, make sure you set the path variable in the import script and then run the import script on the new server.
  22. Nah they wont be able to, try running it as a machine startup script, the computer system account may have permissions to update itself. Here, I fixed the variable decelerations, removed the unneeded 2nd wmi object and added some missing error prevention code: Option Explicit On Error Resume Next Dim objRootDSE, objNetwork, objWMIService, objComputer Dim strComputer, strMake, strModel, strSerialNumber, strMacAddresses Dim colBIOS, objBIOS Dim colNetworkAdapterConfiguration, objNetworkAdapterConfiguration Dim colComputerSystem, objComputerSystem Dim adoConnection, adoRecordset strComputer = "." strMake = "" strModel = "" strSerialNumber = "" strMacAddresses = "" Set objRootDSE = GetObject("LDAP://RootDSE") Set objNetwork = WScript.CreateObject("WScript.Network") Set objWMIService = GetObject("Winmgmts:\\" & strComputer & "\root\cimv2") Set colComputerSystem = objWMIService.ExecQuery("SELECT * FROM Win32_ComputerSystem") If Not colComputerSystem Is Nothing Then For Each objComputerSystem In colComputerSystem strMake = objComputerSystem.Manufacturer strModel = objComputerSystem.Model Next End If Set colBIOS = objWMIService.ExecQuery("Select * From Win32_BIOS") If Not colBIOS Is Nothing Then For Each objBIOS in colBIOS strSerialNumber = objBIOS.SerialNumber Next End If Set colNetworkAdapterConfiguration = objWMIService.ExecQuery("Select * From Win32_NetworkAdapterConfiguration Where IPEnabled = True") strMacAddresses = "" If Not colNetworkAdapterConfiguration Is Nothing Then For Each objNetworkAdapterConfiguration in colNetworkAdapterConfiguration If strMacAddresses <> "" Then strMacAddresses = strMacAddresses & ", " End If strMacAddresses = strMacAddresses & objNetworkAdapterConfiguration.MACAddress Next End If Set adoConnection = CreateObject("ADODB.Connection") adoConnection.Provider = "ADsDSOObject" adoConnection.Open "Active Directory Provider" If Err.Number <> 0 Then MsgBox "Connect Error: " & Err.Description WScript.Quit End If Set adoRecordset = adoConnection.Execute(";(&(objectCategory=Computer)(name=" & objNetwork.Computername & "));adspath;subtree") If Err.Number <> 0 Then MsgBox "Query Error: " & Err.Description WScript.Quit End If If Not adoRecordset.EOF Then Set objComputer = GetObject(adoRecordset.Fields(0).Value) objComputer.Put "description", "Make: " & strmake & " Model: " &strModel & " Serial No: " & strSerialNumber & " MAC Addresses: " & strMACAddresses objComputer.SetInfo End If If Err.Number <> 0 Then MsgBox "Write Error: " & Err.Description WScript.Quit End If
  23. Well... if you are happy working with scripts and dont mind some work to get it working, here are simplified powershell scripts I used to migrate our mailboxes from our old ex 2007 domain to the new one with 2010. It requires that the users are migrated 1st and that they are exchange enabled. Please review this website for prerequisites for import/export to pst files. Fair warning, it requires outlook 2010 to be installed on the mail server. http://www.msexchange.org/articles_tutorials/exchange-server-2010/management-administration/exporting-importing-mailboxes-exchange-server-2010.html Export Script: $databaseName = "Users" $pstPath = "C:\" $mailboxes = Get-Mailbox -ResultSize Unlimited -Database $databaseName if ($mailboxes) { foreach ($mailbox in $mailboxes) { if ($mailbox) { Write-Host "Processing mailbox '$mailbox'..." $pstFile = Join-Path -Path "$pstPath" -ChildPath "$($mailbox.alias).pst" if (Test-Path $pstFile) { Write-Host " PST File '$pstFile' already exists. Skipping." -ForegroundColor Red } else { Write-Host " Exporting mail to '$pstFile'..." Export-Mailbox -Identity $mailbox.DistinguishedName -PSTFolderPath $pstFile -BadItemLimit 10000 -Confirm:$false } } } } $databaseName = "Users" $pstPath = "C:\" $mailboxes = Get-Mailbox -ResultSize Unlimited -Database $databaseName if ($mailboxes) { foreach ($mailbox in $mailboxes) { if ($mailbox) { Write-Host "Processing mailbox '$mailbox'..." $pstFile = Join-Path -Path "$pstPath" -ChildPath "$($mailbox.alias).pst" if (Test-Path $pstFile) { Write-Host " Importing mail from '$pstFile'..." Import-Mailbox -Identity $mailbox.DistinguishedName -PSTFolderPath $pstFile -ExcludeFolders "\Deleted Items" -BadItemLimit 10000 -Confirm:$false } else { Write-Host " PST File '$pstFile' does not exist. Skipping." -ForegroundColor Red } } } } Edit: Fair warning no2: Export-Mailbox exports deleted items as well, very annoying and no way to prevent it through options. In the end what I did was create a new database in exchange called Migration and then expanded the export script so that it first moved the user's mailbox to the new database and then exported it, this got rid of any deleted items.
  24. What version of exchange is the old server?
  25. I have some software i wrote that records user logins and log outs to a database which is then pulled into a auto-updating spreadhseet. I know of no way to find this out using built in tools. Although I did just think you could possibly find out from the user sessions on your file server. Edit: What ^^he^^ said
×
×
  • Create New...