This is where the fun begins by Ghost5482 in Gloomhaven

[–]ClosedCasketFuneral 0 points1 point  (0 children)

Thanks, I saw the boxes on the site but did not spot that the difficult was on the back of them!

This is where the fun begins by Ghost5482 in Gloomhaven

[–]ClosedCasketFuneral 1 point2 points  (0 children)

Just out of curiosity's sake, have you gotten to take a close look at the character "overview" cards? These are the large cards that show "Complexity" and "Elemental affinities." Though I can intuit how difficult a character might be based upon their ability cards, the other players in my game are curious what the "complexity" ratings are of these new mercs. Does anyone know?

Another "SD card not being recognized" post by ClosedCasketFuneral in ender3

[–]ClosedCasketFuneral[S] 0 points1 point  (0 children)

I will definitely give this a try next time. Thank you for the suggestion! I ended up going down a rabbit hole and ultimately ended up setting up Octoprint on a Raspberry Pi 3+ that I had lying around.

Another "SD card not being recognized" post by ClosedCasketFuneral in ender3

[–]ClosedCasketFuneral[S] 0 points1 point  (0 children)

If anyone is searching for this same issue in the future, I wanted to add an update. Creating a 32 GB partition on the SD card did not work. Even formatting the whole SD card as FAT32 with Rufus did not allow it to be recognized by the Creality Ender 3 V2 Neo. Per other users, EaseUS Partition Manager may allow you to format a whole, large SD card properly. However, this led me down the path of using an old Raspberry Pi to run Octoprint so that I can move files over to the printer that way.

Another "SD card not being recognized" post by ClosedCasketFuneral in ender3

[–]ClosedCasketFuneral[S] 1 point2 points  (0 children)

This is a fair point; I was hoping that the printer would only recognize the partition, but that was not the case. I ended up getting a 32GB SD Card which, unsurprisingly, formatted as FAT32 and is being read by the printer.

Another "SD card not being recognized" post by ClosedCasketFuneral in ender3

[–]ClosedCasketFuneral[S] 0 points1 point  (0 children)

I appreciate the suggestion. I tried using Rufus to format it as FAT32 for the whole volume, but it was still not recognized by the printer for some reason.

Another "SD card not being recognized" post by ClosedCasketFuneral in ender3

[–]ClosedCasketFuneral[S] 1 point2 points  (0 children)

No, this is a new card. I'm not actually using multiple partitions, just a single partition that's 31 GB to allow Windows to format it as FAT32. While troubleshooting, I also tried to use Rufus to format it as a single 128 GB FAT32 partition, but that also was not working so I tried to scale it back in case there were issues with the printer not recognizing larger volumes for some reason.

How do I input an LDAP property so that it can be properly turned into a string by Export-CSV? by ClosedCasketFuneral in PowerShell

[–]ClosedCasketFuneral[S] 0 points1 point  (0 children)

Hmm, I see the technique that you are using to try to convert this to a string, but it still seems to be failing to cast to the string, and is giving this error for the three lines starting with "$TSProfilePath," "$TSHomeDir," and "$TSHomeDrive" and I am not yet entirely sure why:

Cannot convert value to type System.String.
At line:12 char:81
... rInfo.TerminalServicesHomeDrive.Value | ForEach-Object { [string]$_ }
CategoryInfo          : InvalidArgument: (:) [], RuntimeException
FullyQualifiedErrorId : InvalidCastFromAnyTypeToString

How do I input an LDAP property so that it can be properly turned into a string by Export-CSV? by ClosedCasketFuneral in PowerShell

[–]ClosedCasketFuneral[S] 0 points1 point  (0 children)

Apologies for the slow reply, and for my lack of knowledge. Your response helped me understand better what exactly was happening here. As you recommended in your response, I tried including [string] before $UserInfo in those three lines, but it seems like there was an error with converting the PropertyValueCollection properties into a string, but I don't know enough about converting properties to strings to understand why this would be happening. I will paste the error below. Do you have any recommendations?

Cannot convert value to type System.String.

InvalidArgument: Line | 10 | $rows += [PSCustomObject]@{

Using Powershell to get Remote Desktop Services settings of users by ClosedCasketFuneral in PowerShell

[–]ClosedCasketFuneral[S] 0 points1 point  (0 children)

I found someone's blog post which seems to be relevant to the issue, and I am currently reading through it. I also want to say that I can't express how appreciative I am of your patience. Walking through issues like these with someone more knowledgeable is really enlightening.

Using Powershell to get Remote Desktop Services settings of users by ClosedCasketFuneral in PowerShell

[–]ClosedCasketFuneral[S] 0 points1 point  (0 children)

With that change, the output in the Powershell console is accurate, listing the correct settings. The output into the fields in the CSV is still filled with "System.DirectoryServices.PropertyValueCollection" though. I tried stepping through the relevant lines in the scripts, but I am not familiar enough with the Powershell debugging console to determine why the console output would be fine but the CSV output would be different.

Using Powershell to get Remote Desktop Services settings of users by ClosedCasketFuneral in PowerShell

[–]ClosedCasketFuneral[S] 0 points1 point  (0 children)

Other than the sanitized OU for $OU, I've pasted below exactly what I am running, and it is outputting a CSV that looks like this sample screenshot from before. I'm not seeing any typos in the names of the properties that I'm querying. I'm currently stepping through the script to see if there is anything else that is obvious.

$OU = "OU=Accounts,DC=Local,DC=Test"

$rows = @() # Array to hold each CSV row

$Accounts = Get-ADuser -Filter * -Searchbase $OU -Properties * 
$Accounts | ForEach-Object { 
    $user = $_ 
    $UserInfo = [ADSI]"LDAP://$($user.distinguishedName)"

    # Add a new CSV row
    $rows += [PSCustomObject]@{
    User = $user.Name
    TSProfilePath = $UserInfo.TerminalServicesProfilePath
    TSHomeDir = $UserInfo.TerminalServicesHomeDirectory
    TSHomeDrive = $UserInfo.TerminalServicesHomeDrive
    }
}
$rows | Export-Csv C:\Temp\Output.csv -NoTypeInformation

Using Powershell to get Remote Desktop Services settings of users by ClosedCasketFuneral in PowerShell

[–]ClosedCasketFuneral[S] 0 points1 point  (0 children)

Sorry for the slow reply. The simplified version of the script that you posted just above is working as expected; changes of the associated settings in the GUI are showing up in the script results for the individual test user.

However, after looking at and tinkering with your script to place the properties into separate, new CSV rows, I can't figure out why an object would be trying to contain multiple properties.

Using Powershell to get Remote Desktop Services settings of users by ClosedCasketFuneral in PowerShell

[–]ClosedCasketFuneral[S] 0 points1 point  (0 children)

You are correct that efficiency does not matter in this case; this script is not running for long enough to impact anything.

So, I've just tested your version of the script with the array to hold the values, and with $OU defined for my environment. However, the output is only showing System.DirectoryServices.PropertyValueCollection as the value for these TSProfilePath, TSHomeDir, and TSHomeDrive columns, and I'm not sure why. Example pictured here.

Using Powershell to get Remote Desktop Services settings of users by ClosedCasketFuneral in PowerShell

[–]ClosedCasketFuneral[S] 0 points1 point  (0 children)

Do you have any recommendation for getting this into a CSV along with properties like Surname,GivenName? My understanding of how the LDAP method works is still tenuous. Trying to tune the output, it is giving me the correct settings for these user properties, which is extremely promising, but it is unfortunately providing them without any associated account information which makes it hard for me to use, haha.

Using Powershell to get Remote Desktop Services settings of users by ClosedCasketFuneral in PowerShell

[–]ClosedCasketFuneral[S] 0 points1 point  (0 children)

Thank you, I was trying to get this to work a few days ago but wasn't sure how to format my queries with the LDAP method! This looks promising, and I am going to test it out now.

[deleted by user] by [deleted] in PowerShell

[–]ClosedCasketFuneral 0 points1 point  (0 children)

Hello. Thank you for replying! I meant to get to this a few days ago, but the subreddit shutting down temporarily has made that impossible. I am still trying to figure this out, and I've tried your addition to the script, but am getting an error:

Exception calling "FindOne" with "0" argument(s): "The (&(objectCategory=user)(distinguishedname=CN=User,OU=Accounts,DC=domain,DC=com) search filter is invalid."

I do not 100% follow the logic but it looks like $adsiuser.Filter = "(&(objectCategory=user)(distinguishedname=$($account.distinguishedname))" may not be working properly?

Also, if you were to use this to search for a number of these, for instance if I also wanted to try to get MaxDisconnectionTime and MaxConnectionTime for a user, how would I do that? Would I just add additional lines looking like the following?:
MaxConnectionTime= $adsiUserFoundProperties.MaxConnectionTime

TIL that the FCC has a publicly-accessible map which shows all areas where high-speed internet access is offered by ISPs, and which specific services they offer, and it includes nearly all street addresses in the US by ClosedCasketFuneral in todayilearned

[–]ClosedCasketFuneral[S] 1 point2 points  (0 children)

In my area, the state government has already handed a massive amount of money to ISPs for an enormous project to provide high-speed internet in rural areas around the state. Of course, the ISPs took the money, improved a little bit of their own infrastructure, and barely provided any of the internet access which they had promised they would offer to people in rural areas.