Jump to content

DianeLeigh

Member
  • Posts

    26
  • Joined

  • Last visited

Awards

This user doesn't have any awards

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

DianeLeigh's Achievements

  1. Update: none of the other changes did work. Any other ideas anyone?
  2. Hmm... did everything on that page, and they still won't load for her.... As she has to work now so I'm going to try and uninstall and reinstall during her lunch just to see if that might fix it. Really though, the permissions were the same on hers as on other computers--that page just listed granting permissions to a folder that no other computer had permissions granted to[I checked a few computers, none had permissions to one folder, that page said to set permissions there]. But maybe that folder permission change may let it be "installed" right for hers if uninstalled/reinstalled... Edit: Out of curiosity, I decided to install a different calculator (non-microsoft), and it worked fine for her. So apparently the security/etc would be fine... just apparently it's cached something, somewhere, that wasn't removed last time...
  3. Computer, only affects one user profile (logged in as another user, all 3 work, created new profile, it worked). Removed this user's profile, wiped her info (registry, files, etc), logged her in, it set her up as a new account---the same three programs crash at startup. New user (as in never been on before) works. It's on an active directory domain, wherein things are tied to emails/etc, so creating a new user account on the AD server, just so a windows app works for her profile is drastic overkill. Actually reinstalling windows, just because it doesn't work for one user (when it works for all others and new) is drastic overkill, and considering it's a dell, not even sure if it'd be able to easily (but would take the computer out for half the day as everything would have to be reinstalled, as anything shy of a full reformat could cause the issue to still exist.... I say this given the above, and the below) Other things done (not entirely in order, as were done different times, with resets between) 1) sfc /scannow (no problems detected) 2) DISM.exe /Online /Cleanup-image /Restorehealth (and other variants with nothing done/needing done/etc) 3) wsreset (nothing obvious changed) 4) disabled firewall (shy of errors from "your firewall is disabled!" no change) 5) reset/repaired the apps, and the store from the control panel (no change) 6) uninstalled and reinstalled programs (no change) 7) updated windows with every possible current update (even checking if they worked in between updates--no change) 8 ) removed the folders in the c:\program files\windowsapps with a system-account login (mainly as it's a "system folder") 9) purged all temp files (and then reinstalled the programs, as was a uninstall, purge, reinstall) 10) created a new profile for the user--and the new profile had the same errors (as mentioned above 11) Looked in the registry, but didn't notice any obvious thing for the user that would persist for that user (meaning, didn't see anything big but like a "background image" entry for calculator) as most were in install/uninstall times, or in the HKCU hive 12) I'm thinking I forgot something I did, or a few things... and I'm even thinking that "maybe" the issue could be with just the photos application, and the other apps "might" be using parts of it, and since it's screwed, it's crashing them. Any ideas?
  4. I know they encrypt it, and I believe one-way... however, ... is there anyway to break it, to recover it? I was hoping with time over the years, there may have been something that changed. I know how to reset it with the -m startup parameter, add user as admin, then reset thing (from online instructions, etc)... The catch is, we don't know if there's some program that is using the sa login (the SQL server is used mainly by a third party program, as in 95% by this program, maybe 100% by it--but it's stopped backing up, not a big deal as it's a VM and the VM is backed up, BUT, we'd like to know why, problem is, the third party who installed the server can't login as sa because their sa password they have doesn't work [all variants of what they had listed as the password], and all variants we have as what it was don't work). They, nor we, don't know if there's some unknown process or software using the sa login to do something using the sa login, so we can't change the password without potentially breaking a system critical software. And yes, we could change it, then restore from the backup--but this server just happens to have hundreds/thousands of records entered per day, and indexed, making tens-thousands of records entered daily. It would be a cluster if we did that (so to speak)--as records are entered 7 days a week and it'd be hours of work lost. So.. I was hoping for some way to crack the password, not just reset it, so there wouldn't be any downtime, but we could just figure out why it wasn't backing up anymore. But again, it's not even a bit deal really... just a curiosity.
  5. All browsers for a user trying to save file to a network folder: access denied User saves to desktop, moves over--success User opens any program but a browser, saves to folder--success User tries to save anything from the browser (pdf, image, anything)-- access denied. It's on windows 10, and apparently all browsers (IE, Edge, Chrome, firefox doesn't work with the website [govt thing]--so useless even if it works). Granted the "all browsers" is practically "doesn't work in chrome-based" but not sure if they put that in IE or not as well as edge. Any ideas?
  6. Hmm... that might work-- I asked one of our Mac users (who has had to reinstall her mac at home) if she has one offhand. Worth a try at least!
  7. At work, Boss's family had 2 Macs (about 10 years old he said, they were going to be wiped and disposed of, then we realized they actually booted, and could be used possibly for development for ios apps so we didn't have to buy a mac computer just for it)--BUT we don't have the password for the computers (despite it being his family's old computers, his son [now in college] and now-ex-wife's [still on speaking terms, one of those "love each other, just can't stand to be in room with each other" situations]... BUT, they don't remember their passwords). I tried the "get to recovery" option to rest it, but nope! Only a boot to mac os disk option exists, no recovery disk... Anyone have any ideas? I thought of using an ubuntu flash disk boot, but I saw it's not possible to boot with it to reset it.. so that's out. So no clue offhand how to approach it as everything online says to either login and reset it (which isn't helpful given not having it), using the recovery option, which doesn't exist, or using the restore disk, which apparently when they sold their house and moved (we're talking they did within the past week, and he's still getting rid of stuff), isn't going to be found anytime soon if at all.
  8. All code that I have (shy of "why the hell is this not working.... " quick if/stop/breakpoint/debug outputs that look like crap but are obviously there for that), has comments and is named so you at least know what it's for. This is actual "Debugging code for a test app" that I have: // Debug code WMICalls wmi = new WMICalls(); string[] servers = ConfigurationManager.AppSettings["servers"].ToString().Split(','); for (int i = 0; i < servers.Count(); i++) { wmi.GetDriveFreeSpace(WMIModules.Win32_LogicalDisk, servers[i].Trim(' ')); } wmi.SendMail("myemail@mydomain.com"); Inside the script I have functions called "AddToBody" (for the e-mail body--but there's only one body, and it's a variable, so obvious). Now shy of one program that has a class of over 2000 lines (that makes 2 pdfs that is a mission critical app--so it's a bit harder to "clean up" as it doesn't follow my current module-based function for reusable code--it STILL does in an extent. But it's a {insert word of choice} trying to figure out what lines do, even with commenting just because it's a cluster of calculaations of cross-database values modifying locations on a pdf, calling multiple classes.... Basically it was a "test program" that "omg it works like we want!" and ended up being live.... so... yea... don't recommend that happening. But you get the point hopefully.
  9. Saw when browsing forums... Curious more than anything, but what happens if you change your code to this (basically instead of if...else, try...catch and a erroraction stop or even not have 'silentlycontinue' but just silentlycontinue without the ' ' ) $timeStamp = Get-Date -Format hhmmss $reportPath = "C:\temp\ImportReports\SendOnBehalf_$timeStamp.txt" Start-Transcript -Path $reportPath Import-Csv "C:\temp\userMailboxSendOnBehalf.csv" | ForEach-Object { $sendOB = $_.SendOnBehalf try { Set-Mailbox -Identity $_.UserPrincipalName -GrantSendOnBehalfTo @{Add="$sendOB"} -erroraction stop Write-Host "Success:"$_.SendOnBehalf "granted SendOnBehalf permission to user" $_.UserPrincipalName -ForegroundColor Green } catch { Write-Host "Error:" $_.SendOnBehalf "was NOT granted SendOnBehalf permission to user" $_.UserPrincipalName -ForegroundColor Red } } Stop-Transcript
  10. When I was in school, you could start with COBOL, C++, or visual basic... they honestly didn't care. But, one teacher had a "test" to see if a person could "think like a programmer" to get in the mindset of programming that ironically helped more than some of the actual programming tasks (granted she did this in a visual basic class--I did it like 10-15 years after I had been doing basic/qbasic/etc programming) Anyway, she had people do a simple thing of "teach a computer android how to make a peanut butter sandwich". Almost everyone failed (ok, everyone basically did, I was out of class that day, no clue how I would've done honestly at the time). Because:1) you had to tell it to retrieve items, 2) you had to keep track of how many items the android could carry, 3) you had to keep track of where the items were placed, what was in hands, if items were opened, how to open, how to lay bread down, how to butter/jelly/peanutbutter the bread, how to close, how to seal containers, how to put things up, how to then eat the sandwich... basically, "how to allocate and destroy all programming resources" Anyway... what language you should learn is kind of up to you. Personally I'd opt for like c# (or variant), as I find that the general syntax and formatting carry over to other languages, but then if you only want to do web design... well then it depends on if you're going to be on apache like or iis servers (as then c# and php come into play--but then php again is kind of similar to c# in general syntax in a sense--at least to me, but again, I've been programming since around... 1985 I think... can't remember I was really young then! I generally find that kind of like the peanut butter making example, learning the general logic of programming helps in a sense a lot, but then programming also has like database, middle-interface, user interface.... for that matter user interface design is a design thing all in it's own.
  11. I basically said "screw it" with the regex and just modified the code to use the exact string with a set regexinstead... worked better lol
  12. Hmm... That totally made sense (so much so I ran an modified command of the following just to see the relevant fields... Basically I Did this: $accepted_domains = Get-AcceptedDomain |% {$_.domainname.domain} [regex]$dom_rgx = "`(?i)(?:" + (($accepted_domains |% {"@" + [regex]::escape($_)}) -join "|") + ")$" $mbx_servers = Get-ExchangeServer |? {$_.serverrole -match "Mailbox"}|% {$_.fqdn} [regex]$mbx_rgx = "`(?i)(?:" + (($mbx_servers |% {"@" + [regex]::escape($_)}) -join "|") + ")\>$" if ("9f1bb0cbc0c24072995dbc9593cebdcf@ourdomain.com" -match $mbx_rgx -and "user@ourdomain.com" -match $dom_rgx) { echo "match" } else { echo "no match" } (the data came from the log when I searched for the messageid and sender/receipient). and it came up with "no match"! OK... and when I matched code... But not entirely sure how to go about fixing it with the regex (not my strong suit... at all). We have a "ourdomain.com" and a "server.ourdomain.loc" that the mail logs have listed in it. for mail Anyone know how to modify the script to fix that? thanks!
  13. My boss found a script that we run to track mail stats for our employees: [ clear #requires -version 2.0 Add-PSSnapin Microsoft.Exchange.Management.PowerShell.E2010 $today = get-date $rundate = $($today.adddays(-7)).toshortdatestring() $rundateend = $($today.adddays(-1)).toshortdatestring() $outfile_date = ([datetime]$rundate).tostring("yyyy_MM_dd") $outfile = "c:\Emaillogs\email_stats_" + $outfile_date + ".csv" $dl_stat_file = "c:\Emaillogs\DL_stats.csv" $accepted_domains = Get-AcceptedDomain |% {$_.domainname.domain} [regex]$dom_rgx = "`(?i)(?:" + (($accepted_domains |% {"@" + [regex]::escape($_)}) -join "|") + ")$" $mbx_servers = Get-ExchangeServer |? {$_.serverrole -match "Mailbox"}|% {$_.fqdn} [regex]$mbx_rgx = "`(?i)(?:" + (($mbx_servers |% {"@" + [regex]::escape($_)}) -join "|") + ")\>$" $msgid_rgx = "^\<.+@.+\..+\>$" $hts = get-exchangeserver |? {$_.serverrole -match "hubtransport"} |% {$_.name} $exch_addrs = @{} $msgrec = @{} $bytesrec = @{} $msgrec_exch = @{} $bytesrec_exch = @{} $msgrec_smtpext = @{} $bytesrec_smtpext = @{} $total_msgsent = @{} $total_bytessent = @{} $unique_msgsent = @{} $unique_bytessent = @{} $total_msgsent_exch = @{} $total_bytessent_exch = @{} $unique_msgsent_exch = @{} $unique_bytessent_exch = @{} $total_msgsent_smtpext = @{} $total_bytessent_smtpext = @{} $unique_msgsent_smtpext=@{} $unique_bytessent_smtpext = @{} $dl = @{} $obj_table = { @" Date = $rundate User = $($address.split("@")[0]) Domain = $($address.split("@")[1]) Sent Total = $(0 + $total_msgsent[$address]) Sent MB Total = $("{0:F2}" -f $($total_bytessent[$address]/1mb)) Received Total = $(0 + $msgrec[$address]) Received MB Total = $("{0:F2}" -f $($bytesrec[$address]/1mb)) Sent Internal = $(0 + $total_msgsent_exch[$address]) Sent Internal MB = $("{0:F2}" -f $($total_bytessent_exch[$address]/1mb)) Sent External = $(0 + $total_msgsent_smtpext[$address]) Sent External MB = $("{0:F2}" -f $($total_bytessent_smtpext[$address]/1mb)) Received Internal = $(0 + $msgrec_exch[$address]) Received Internal MB = $("{0:F2}" -f $($bytesrec_exch[$address]/1mb)) Received External = $(0 + $msgrec_smtpext[$address]) Received External MB = $("{0:F2}" -f $($bytesrec_smtpext[$address]/1mb)) Sent Unique Total = $(0 + $unique_msgsent[$address]) Sent Unique MB Total = $("{0:F2}" -f $($unique_bytessent[$address]/1mb)) Sent Internal Unique = $(0 + $unique_msgsent_exch[$address]) Sent Internal Unique MB = $("{0:F2}" -f $($unique_bytessent_exch[$address]/1mb)) Sent External Unique = $(0 + $unique_msgsent_smtpext[$address]) Sent External Unique MB = $("{0:F2}" -f $($unique_bytessent_smtpext[$address]/1mb)) "@ } $props = $obj_table.ToString().Split("`n")|% {if ($_ -match "(.+)="){$matches[1].trim()}} $stat_recs = @() function time_pipeline { param ($increment = 1000) begin{$i=0;$timer = [diagnostics.stopwatch]::startnew()} process { $i++ if (!($i % $increment)){Write-host “`rProcessed $i in $($timer.elapsed.totalseconds) seconds” -nonewline} $_ } end { write-host “`rProcessed $i log records in $($timer.elapsed.totalseconds) seconds” Write-Host " Average rate: $([int]($i/$timer.elapsed.totalseconds)) log recs/sec." } } #foreach ($ht in $hts){ $ht = "ourmailserver" Write-Host "`nStarted processing $ht" get-messagetrackinglog -Server $ht -Start "$rundate" -End "$rundateend 11:59:59 PM" -resultsize unlimited | time_pipeline |%{ if ($_.eventid -eq "DELIVER" -and $_.source -eq "STOREDRIVER"){ if ($_.messageid -match $mbx_rgx -and $_.sender -match $dom_rgx) { $total_msgsent[$_.sender] += $_.recipientcount $total_bytessent[$_.sender] += ($_.recipientcount * $_.totalbytes) $total_msgsent_exch[$_.sender] += $_.recipientcount $total_bytessent_exch[$_.sender] += ($_.totalbytes * $_.recipientcount) foreach ($rcpt in $_.recipients){ $exch_addrs[$rcpt] ++ $msgrec[$rcpt] ++ $bytesrec[$rcpt] += $_.totalbytes $msgrec_exch[$rcpt] ++ $bytesrec_exch[$rcpt] += $_.totalbytes } } else { if ($_messageid -match $messageid_rgx){ foreach ($rcpt in $_.recipients){ $msgrec[$rcpt] ++ $bytesrec[$rcpt] += $_.totalbytes $msgrec_smtpext[$rcpt] ++ $bytesrec_smtpext[$rcpt] += $_.totalbytes } } } } if ($_.eventid -eq "RECEIVE" -and $_.source -eq "STOREDRIVER"){ $exch_addrs[$_.sender] ++ $unique_msgsent[$_.sender] ++ $unique_bytessent[$_.sender] += $_.totalbytes if ($_.recipients -match $dom_rgx){ $unique_msgsent_exch[$_.sender] ++ $unique_bytessent_exch[$_.sender] += $_.totalbytes } if ($_.recipients -notmatch $dom_rgx){ $ext_count = ($_.recipients -notmatch $dom_rgx).count $unique_msgsent_smtpext[$_.sender] ++ $unique_bytessent_smtpext[$_.sender] += $_.totalbytes $total_msgsent[$_.sender] += $ext_count $total_bytessent[$_.sender] += ($ext_count * $_.totalbytes) $total_msgsent_smtpext[$_.sender] += $ext_count $total_bytessent_smtpext[$_.sender] += ($ext_count * $_.totalbytes) } } if ($_.eventid -eq "expand"){ $dl[$_.relatedrecipientaddress] ++ } } #}#end of the foreach (we only have one mail server) foreach ($address in $exch_addrs.keys){ $stat_rec = (new-object psobject -property (ConvertFrom-StringData (&$obj_table))) $stat_recs += $stat_rec | select $props } $stat_recs | export-csv $outfile -notype if (Test-Path $dl_stat_file){ $DL_stats = Import-Csv $dl_stat_file $dl_list = $dl_stats |% {$_.address} } else { $dl_list = @() $DL_stats = @() } $DL_stats |% { if ($dl[$_.address]){ if ([datetime]$_.lastused -le [datetime]$rundate){ $_.used = [int]$_.used + [int]$dl[$_.address] $_.lastused = $rundate } } } $dl.keys |% { if ($dl_list -notcontains $_){ $new_rec = "" | select Address,Used,Since,LastUsed $new_rec.address = $_ $new_rec.used = $dl[$_] $new_rec.Since = $rundate $new_rec.lastused = $rundate $dl_stats += @($new_rec) } } $dl_stats | Export-Csv $dl_stat_file -NoTypeInformation -force Write-Host "`nRun time was $(((get-date) - $today).totalseconds) seconds." Write-Host "Email stats file is $outfile" Write-Host "DL usage stats file is $dl_stat_file" But here's the weird thing... for some users, it stores how many internal messages they send ($total_msgsent_exch) and receive, but for half, it always says 0. BUT if I run the following: get-messagetrackinglog -Server ourserver -Start "7/16/2019 00:00:00" -End "7/16/2019 11:59:59 PM" -resultsize unlimited -Source "STOREDRIVER" | Out-GridView and search for any of the "doesn't send internal messages" users for any day, it reports they've sent internal messages! Meaning it SHOULD be reporting things in the main script. I'm just confused as to why half the people get values for sent/received internal, half don't. Any ideas?
  14. OK... found the fix... maybe... just left in case someone was curious. Rechecked for updates, (found some new one apparently--maybe that did it?) Restarted Disabled remote access Reenabled remote access Worked Which is odd... I'm almost wondering if the disabling/re-enabling again might have reset the information (maybe in conjunction with the restart/update) as it was done before and did nothing.
×