Recent Discussions
Copy text always as text from Onenote
Hi there, I have the following problem: I often copy paste things from here to there which is never is any problem. Except I am copying from Onenote. Because then in most of the cases it just spits out an image of the text I copied instead of the text itself. ctrl+ shift + v often works, but not always and also it is quite annoying to remember everytime to hit shift as well, when pasting from Onenote. The only real solution I found so far was an auto hotkey script. But as I am working with this on my business PC I'd like to have a non thirdparty solution. So I thought there might be a solution to this using powershell, where it checks, if I copy text from Onenote and if so, remove formatting automatically, so I can paste it as text right away with ctrl+v Anyone came across this issue and might have a working solution already as I am not familiar with powershell unfortunately? Best regards!Solved61Views0likes1CommentFetch Email of Login User In System Context
Dear Team, We are working on retrieving email address of the user joined to Entra ID from Entra-joined Windows devices, specifically while running in a system context.The whoami /upn command successfully returns the joined user’s email address in a user context, but it does not work in a system context, particularly when using an elevated terminal via the psexec utility.We also tested the dsregcmd /status command; however, in a system context, the User Identity tab in the SSO State section only appears when there is an error in AzureAdPrt. Under normal, healthy operating conditions, this command does not provide the user identity or the full domain username. We would greatly appreciate guidance on how to retrieve the Entra ID joined user’s email address in a system context, especially from those with prior experience in this area. Thank you for your support.Solved137Views0likes3CommentsUpload Files to HTTP Server Using Webproxy
I have a fairly simple PowerShell script to upload a file (Filename.7z) from C:\Temp\ to a remote HTTP server (https://some-URL.com/Test/Imports/) using TLS1.2:- $cred = New-Object System.Net.NetworkCredential("<username>",’<password>’) $url = "https://some-URL.com/Test/Imports/Filename.7Z" $input = "C:\Temp\Filename.7Z" [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 $wc = New-Object System.Net.WebClient $wc.Credentials = $cred $wc.UploadFile($url, "PUT", $input) But what is the additional syntax needed if I want to specify a webproxy to use? Many thanksSolved147Views0likes1CommentIntermittent issues with PowerShell Command Responses Since May 10, 2025
Since May 10, 2025, we have observed unexpected behavior intermittently in the responses of the following PowerShell commands. Could you please investigate the issues outlined below? Get-CsTenantFederationConfiguration: The AllowPublicUsers property appears in the command output, but when the response is passed to ConvertTo-Json, the AllowPublicUsers value is missing. Please refer to the attached screenshot for reference. Get-CsExternalAccessPolicy: The EnablePublicCloudAccess property, which is expected to return a boolean value, is now returning null. These issues are not isolated to a specific instance — we are intermittently observing the same behavior across multiple Office 365 tenants. Looking forward to your assistance.Solved112Views0likes1CommentTrouble with
I'm having a bear of a time getting this script to work. It's supposed to follow a specific SharePoint site for a specific user. As you can see from the code sample, I've made a lot of changes, REM'd out things already to get this thing to work. Currently, I'm stuck with this error: "The term 'New-MgUserFollowedSite' is not recognized as a name of a cmdlet, function, script file, or executable program." I've seen this error many other times, and it usually means the module isn't installed or outdated. In this case of uninstalled and reinstalled all of Microsoft.Graph, Microsoft.Graph.Sites, and Microsoft.Graph.Users. I've even tried updating them and importing them. Nothing works. We are running modern SharePoint in the cloud. Here's the code: #Requires -Modules @{ModuleName='Microsoft.Graph.Users';ModuleVersion='2.6.0'} # Install module if not already present: Install-Module Microsoft.Graph.Users -Scope CurrentUser # Install-Module Microsoft.Graph.Users -Scope CurrentUser # Install-Module Microsoft.Graph.Sites -Scope CurrentUser # Configuration $SiteURL = "https://XXXXXXXXX.sharepoint.com/sites/XXXXXXXX" # Replace with the actual site URL $UserEmail = "email address removed for privacy reasons" # Replace with the user's email address # Function to follow the site for a user function Follow-SPOSite { param( [string]$SiteURL, [string]$UserEmail ) # Get the site ID # $site = Get-MgSite -Filter "webUrl eq '$SiteURL'" $siteId = "XXXXXXXXXXXXXXXXXXXXXX" # Replace with the actual site ID # Get the user ID $user = Get-MgUser -Filter "mail eq '$UserEmail'" $userId = $user.Id # Follow the site for the user try { New-MgUserFollowedSite -UserId $userId -OdataId "https://graph.microsoft.com/v1.0/sites/$siteId" Write-Host "Successfully followed site '$SiteURL' for user '$UserEmail'." -ForegroundColor Green } catch { Write-Host "Error following site '$SiteURL' for user '$UserEmail': $($_.Exception.Message)" -ForegroundColor Red } } # Connect to Microsoft Graph try { Connect-MgGraph -Scopes "User.Read.All", "Sites.ReadWrite.All" } catch { Write-Host "Error connecting to Microsoft Graph: $($_.Exception.Message)" -ForegroundColor Red exit } # Follow the SharePoint site Follow-SPOSite -SiteURL $SiteURL -UserEmail $UserEmail # Disconnect from Microsoft Graph Disconnect-MgGraph You may ask why not just show the user how to follow sites. It's one of those political situations where someone high up is being intransigent about adopting SharePoint, and well I just have to find a way to follow sites for this one person.Solved79Views0likes1CommentActivating a users multiple PIM groups using PowerShell
Hi All, Following on from the implementation of PIM by one of my clients. Due to the large numbers of groups for some staff, i.e. developers etc, we have looked into activating them programmatically. However, this always appears to fall over due to the syntax etc. Whether using Get-MgPrivilegedAccessGroupEligibilityScheduleInstance or Invoke-MgGraphRequest -Method POST -Uri "https://graph.microsoft.com/beta/identityGovernance/privilegedAccess/group/assignments" or New-MgRoleManagementDirectoryRoleAssignmentScheduleRequest. In various scripts, it either falls over intermittently saying '..is not recognised as the name of a cmdlet..etc etc etc. To check whether anyone else has achieved this. I am trying to avoid reworking what they have put in place over the past 3 months or so. Many Thanks MoZZaSolved136Views0likes1CommentHow to find out the type of a generic class?
Exmple: create a new List<string> instance: $a = [System.Collections.Generic.List[string]]::new() With: $a.GetType() I only get: IsPublic IsSerial Name BaseType -------- -------- ---- -------- True True List`1 System.Object How can I tell what type the list is (in my case, string)?Solved100Views0likes2CommentsI want to change auto aftandend number using powershell
Hello, i want to create a powershell script where i can change the Auto attendant of the teams admin so that users can change the phone number of the after hours without having a teams admin license, does anyone know how i can change the number of the Auto attendants using powershell? Its in Auto attendants -> your Auto attendant -> Call flow for after hours -> Call routing options - > redirect call -> phone number that i want to change using powershell.Solved260Views0likes8CommentsPowershell error when using install-module
Hello ! when I use Install-Module -Name ExchangeOnlineManagement I get the following error : Install-Package: The module 'ExchangeOnlineManagement' cannot be installed or updated because the authenticode signature of the file 'ExchangeOnlineManagement.psd1' is not valid. I use powershell 7.5.0 Any help is welcome. best regardsSolved305Views0likes2CommentsGet a list of specific agegroup users stored on a security group
Dear Community, I wonder if it would be possible to get a list of users (stored in a security group) marked as "minor" and "not adult" using microsoft graph. Once I get the members of the group (using Get-MgGroupMember -GroupId XXXX), I am not sure how to retrieve only the ones with a specific agegroup property. Is that feasible? Any help would be greatly appreciated. Many thanks in advance!Solved148Views0likes2Commentsdownload data from web
Hi everyone I need to download a bunch of files from a website: https://www.finra.org/finra-data/browse-catalog/equity-short-interest/files The address doesn't show the filters that need to be applied. If you go to that website and select 'Any' for both Month and Year then you will see all the files. Can someone help me with creating the PowerShell script to download all the files to a local folder on my machine? Thank you cc: LainRobertsonSolved103Views0likes3CommentsRemote execution with exchange powershell
I'm trying to extract the primarysmtpaddress of each member of a distribution group from an exchange server in a remote forest. The bulk of the script is something link this $parameters = @{ ConfigurationName = 'Microsoft.Exchange' ConnectionUri = 'http://srvwex.company.local/powershell' Credential = $sourceCred # Authentication = 'Basic' ScriptBlock = {{(Get-DistributionGroup $args[0] |Get-DistributionGroupMember).PrimarySmtpAddress }} ArgumentList = $DG.Alias } $RemoteMembership=(Invoke-Command @parameters) but I got the following error The syntax is not supported by this runspace. This can occur if the runspace is in no-language mode. + CategoryInfo : ParserError: ({(Get-Distribut...rySmtpAddress }:String) [], ParseException + FullyQualifiedErrorId : ScriptsNotAllowed Running the command (Get-DistributionGroup distributiongroup | Get-DistributionGroupMember).PrimarySmtpAddress locally on the remote exchange server obviously works Is there a way I can do it ? thanksSolved232Views0likes1CommentExport/Import distribution group members
We're migrating from one forest to another and among other things we have to migrate memberships of distribution groups betweene the two. The problem arised because many distribution groups in the source forest contains "contacts" as members. Since we're using ADMT, which does not migrate contacts, to do the migrations we have exported/imported contacts to the target forest. Now when we migrate the distribution groups they lack the contacts in the membership so we thought of a way to read the distribution group membership from the source domain and update them in the target domain but couldn't manage to get the script working. How can we remotely run the script to extract the group memebership from source domain and add them in the corresponding groups in the target domainSolved155Views0likes1CommentMicrosoft Graph Sign in Log Script
Hi all, I'm trying to create a script that will check sign ins based on the location. How ever the location always appears as 'Microsoft.Graph.PowerShell.Models.MicrosoftGraphSignInLocation'. I am able to see the location if I select the property 'location' by itself and expand the property, but then that only show's a list of the locations. If I add other properties, it either doesn't work or it displays like this: I tried exporting as a csv and the location column values showed up as 'Microsoft.Graph.PowerShell.Models.MicrosoftGraphSignInLocation'. This is what I have currently: Get-MgAuditLogSignIn -Filter "location/countryOrRegion eq 'AU'" -Top 10 | format-list And if I try selecting properties (I would add more properties later, this is just an example: $properties = 'location, userprincipalname' Get-MgAuditLogSignIn -All -Filter "location/countryOrRegion eq 'AU'" -Top 10 -Property $properties | Select -ExpandProperty $properties Has anyone tried something similar?Solved302Views1like3CommentsNewbie here...
Using Windows 11 Pro version 23H2 ... Am trying to use the Mount-DiskImage command to mount an .iso file, but can't figure out how to do it assigning it a specific drive letter... it seems that it automatically assigns either the next available or -NoDriveLetter (using this parameter) Can Anyone direct me how to accomplish this???Solved119Views0likes3Commentsscript to use PowerShell to Report Teams Status, Presence and Reset After Time
I would like to create a powershell script to run against my tenant to report where people have got a Reset Status After time coded in Teams Any suggestions - greatfully received. I can only find commands to show presence.Solved1.5KViews0likes5CommentsRemove a comma from a CSV file for a particular column only
Hi everyone I have a CSV file that has some bad data in a particular column called ColumnA. ColumnA is a column of names. Some of the names have a comma in it. For example, "Invesco QQQ Trust, Series 1". This extra comma is causing issues when I try to import the file because the delimiter is a comma too (ie CSV). The extra comma in the name needs to be removed. The file is a CSV so commas are needed. I need a Powershell script that removes commas for a particular column (ie ColumnA) and only those commas that are not at the beginning or end of the word. For example: ",Invesco QQQ Trust, Series 1," becomes ",Invesco QQQ Trust, Series 1," The leading and lagging commas are still needed in order to preserve the structure of the CSV. How can I do this in Powershell? Thank you in advance cc: LainRobertsonSolved399Views0likes8CommentsRemove characters from a file name
Hi everyone I have a bunch of CSV files in a folder that need to be cleaned up. Both the file name and file contents have unneeded apostrophes. I need the apostrophes removed from the file name only. Leave contents untouched. For example, c/test/samp'le.csv becomes c/test/sample.csv. c:/test/Ol' Home.csv becomes c:/test/Ol Home.csv The script needs to look at each file in a given folder and remove the apostrophe if it finds one. Not every filename will have an apostrophe in it. The apostrophe can be anywhere in the name (beginning, end, middle of filename). How would I do this in Powershell? Thank youSolved343Views0likes7Comments