Category Archives: Microsoft

Code Snippets Active Directory PowerShell

Using Net User command to Display User Expiration Date

Net user USERNAME /domain

Using Powershell

get-aduser -filter * -properties passwordlastset, passwordneverexpires |ft Name, passwordlastset, Passwordneverexpires

To display the expiration date rather than the password last set date, use this command.

Get-ADUser -filter {Enabled -eq $True -and PasswordNeverExpires -eq $False} –Properties "DisplayName", "msDS-UserPasswordExpiryTimeComputed" |
Select-Object -Property "Displayname",@{Name="ExpiryDate";Expression={[datetime]::FromFileTime($_."msDS-UserPasswordExpiryTimeComputed")}}


Microsoft SQL Server

Upgrading to SQL Server 2017 – VS Shell installation has failed with exit code 1638

I experienced this problem as well with SQL Server 2017 Developer and it appears to be just bad planning on the part of the SQL Server installation package people. The problem is that Visual Studio 2017 installs the Microsoft Visual C++ 2017 Redistributable (x86) and (x64) and the SQL Server installation tries to install the Microsoft Visual C++ 2015 Redistributables, which it can’t because the SQL Server installation doesn’t allow you to install an older version with the newer version installed.

This Microsoft Support article presents their explanation of the problem, and their recommended workarounds.

Solution 1: Install SQL Server first before installing Visual Studio 2017.

Solution 2 (what I did):

  1. Uninstall the Microsoft Visual C++ 2017 Redistributable (x86) and (x64),
  2. install SQL Server,
  3. then reinstall the Microsoft Visual C++ 2017 Redistributable (x86) and (x64).

They are a little hard to find, so here are the direct links:

X64: https://go.microsoft.com/fwlink/?LinkId=746572

x86: https://go.microsoft.com/fwlink/?LinkId=746571

Note: If you don’t have Microsoft Visual C++ 2017 Redistributable installed

at all, just install it from one of the above links, and retry installing SQL Server. It should work now.

Source link:https://dba.stackexchange.com/questions/190090/help-installing-sql-server-2017-vs-shell-installation-has-failed-with-exit-cod

Code Snippets Exchange Microsoft PowerShell

Hide Office 365 Groups from the GAL

Schools may require that newly created classes are hidden from the Global Address List (GAL) in Exchange Online. Classes may be hidden through PowerShell. Use the instructions below to hide Classes created with SDS from the GAL.

Classes are represented in Office 365 as Office 365 Groups. In Exchange Online, where the GAL is built, they are called Unified Groups. Use the Get/Set-UnifiedGroup cmdlet to manage these groups through PowerShell.

 

Hide a single class

Launch PowerShell as an Administrator and connect to Exchange Onlineas shown below.

$UserCredential = Get-Credential
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $UserCredential -Authentication Basic -AllowRedirection
Import-PSSession $Session -DisableNameChecking

Once connected, run the command below against the Group you want to hide.

Set-UnifiedGroup -Identity <UnifiedGroupIdParameter> -HiddenFromAddressListsEnabled $true 

 

Hide all classes created by SDS

Launch PowerShell as an Administrator and connect to Exchange Online as shown below.

$UserCredential = Get-Credential
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $UserCredential -Authentication Basic -AllowRedirection
Import-PSSession $Session -DisableNameChecking

Once connected, run the command below against all SDS-created groups.

 $Groups = Get-UnifiedGroup -ResultSize Unlimited | ? {$_.PrimarySmtpAddress -like "Section_*"}
Foreach ($Group in $Groups) {Set-UnifiedGroup -Identity $Group.Name -HiddenFromAddressListsEnabled $true}
}

 

 

https://docs.microsoft.com/en-us/schooldatasync/hide-office-365-groups-from-the-gal

Code Snippets SQL Server

Query to list number of records in each table in a database


SELECT SCHEMA_NAME(schema_id) AS [SchemaName],
[Tables].name AS [TableName],
SUM([Partitions].[rows]) AS [TotalRowCount]
FROM sys.tables AS [Tables]
JOIN sys.partitions AS [Partitions]
ON [Tables].[object_id] = [Partitions].[object_id]
AND [Partitions].index_id IN ( 0, 1 )
-- WHERE [Tables].name = N'name of the table'
GROUP BY SCHEMA_NAME(schema_id), [Tables].name;

Exchange Microsoft SSL

Problems with mail flow after changing email certificate

Problems sending email from onpremises to Office 365 accounts in hybrid environment.

 

When configuring a hybrid deployment, you must use and configure certificates that you have purchased from a trusted third-party CA.

 To check if the issue is related to the certificate part, please manually remove the previously created hybrid connectors both in the on-premises Exchange server and Office 365, re-run the HCW (Hybrid Configuration Wizard) to re-create these connectors using the new certificate, then check if the messages can be delivered.

Microsoft Remote Desktop Services RemoteApp Tips & tricks Windows server

Remote App error

Error message:”The computer can’t verify the identity of the RD Gateway. It’s not safe to connect to servers that can’t be identified.”

Are you getting the error code: “The computer computer can’t verify the identity of the RD Gateway. It’s not safe to connect to servers that can’t be identified”? You most likely setup Remote Desktop Web Access (RDweb) with a self signed certificated.

The reason why you are getting this error is your machine doesn’t trust and can’t verify the identity of the RD Gateway.

To allow your machine to trust the RD Gateway and get RD Web Access working you will need to import the Cert from the website and put it into the “Trusted Root Certification Authorities” store

read more »

Code Snippets .NET IIS Microsoft

Register asp.net in IIS 10

run as admin

 
C:\Windows\Microsoft.NET\Framework64\v4.0.30319>dism /online /enable-feature /featurename:IIS-ASPNET45

might need to enable this extensions:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319/dism /online /enable-feature /featurename:IIS-ApplicationDevelopment
C:\Windows\Microsoft.NET\Framework64\v4.0.30319/dism /online /enable-feature /featurename:IIS-ISAPIFilter
C:\Windows\Microsoft.NET\Framework64\v4.0.30319/dism /online /enable-feature /featurename:IIS-ISAPIExtensions
C:\Windows\Microsoft.NET\Framework64\v4.0.30319/dism /online /enable-feature /featurename:IIS-NetFxExtensibility45

C:\Windows\Microsoft.NET\Framework64\v4.0.30319/dism /online /enable-feature /featurename:IIS-ASPNET45
Code Snippets Active Directory

Using PowerShell To List All Users Password Expiration Date

get-aduser -filter * -properties passwordlastset, passwordneverexpires |ft Name, passwordlastset, Passwordneverexpires

export to csv

 

 get-aduser -filter * -Properties passwordlastset, passwordneverexpires, displayName,Enabled,givenName,sn,distinguishedname,mail,mailnickname,mobile,telephoneNumber,facsimileTelephoneNumber,title | select displayName,passwordlastset, Passwordneverexpires, Enabled,givenName,sn,distinguishedname,mail,mailnickname,mobile,telephoneNumber,facsimileTelephoneNumber,title | export-csv "c:\20190904_ADUsers4.csv" -NoTypeInformation
 

How to Get AD Users Password Expiration Date

Code Snippets .NET ASP.Net

Tamanho máximo de upload asp.net

we.config

<configuration>
  ...
  <system.web>
    ...
    <httpRuntime maxRequestLength="1048576"/>
    ...
  </system.web>
  ...
  </system.webServer>
    ...
    <security>
      <requestFiltering>
        <requestLimits maxAllowedContentLength="1073741824" />
      </requestFiltering>
    </security>
    ...
  </system.webServer>
  ...
</configuration>

set to 1 gigabyte

maxAllowedContentLength -> bytes;
maxRequestLength -> kilobytes.

Exchange Microsoft PowerShell

Use the Exchange Management Shell to set up mail forwarding

This example delivers email to the mailbox of Douglas Kohn and, at the same time, forwards all mail sent to Douglas Kohn to douglaskohn.parents@fineartschool.net.

Set-Mailbox -Identity "Douglas Kohn" -DeliverToMailboxAndForward $true -ForwardingSMTPAddress "douglaskohn.parents@fineartschool.net"

This example forwards all email sent to the mailbox of Ken Sanchez, an employee of Contoso Suites, to one of his coworkers, pilarp@contoso.com.

Set-Mailbox -Identity "Ken Sanchez" -ForwardingSMTPAddress "pilarp@contoso.com"
 

For detailed syntax and parameter information, see Set-Mailbox.

Note:
-ForwardingsmtpAddress to multiple addresses Shell script

The parameter “ForwardingSmtpAddress” only allow to setup one SMTP address.
To work around this issue, you can setup the mailbox forwarding to a distribution group, you need to add the users you want to forward message to this distribution group.

link:
https://docs.microsoft.com/en-us/exchange/recipients/user-mailboxes/email-forwarding?view=exchserver-2019

on office365 account, go to portal.office.com > outlook > definitions

 

 

 

REMOVE

Set-Mailbox "email xpto" -ForwardingAddress $NULL -ForwardingSmtpAddress $NULL