Archivio non attendibile Stai installando i moduli da un archivio non attendibile. Se ritieni attendibile questo archivio, modifica il relativo valore InstallationPolicy eseguendo il cmdlet Set-PSRepository. Vuoi installare i moduli da 'PSGallery'? [S] Sì [T] Sì a tutti [N] No [U] No a tutti [O] Sospendi [?] Guida (il valore predefinito è "N"):
AVVISO: La versione '2.0.0.131' del modulo 'AzureAD' è già installata in 'C:\Program Files\WindowsPowerShell\Modules\AzureAD\2.0.0.131'. Per installare la versione '2.0.2.4', esegui Install-Module e aggiungi il parametro -Force. Questo comando installerà la versione '2.0.2.4' in modalità affiancata con la versione '2.0.0.131'.
NuGet provider is required to continue PowerShellGet requires NuGet provider version '2.8.5.201' or newer to interact with NuGet-based repositories. The NuGet provider must be available in 'C:\Program Files\PackageManagement\ProviderAssemblies' or 'C:\Users\aballabio\AppData\Local\PackageManagement\ProviderAssemblies'. You can also install the NuGet provider by running 'Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force'. Do you want PowerShellGet to install and import the NuGet provider now? [Y] Yes [N] No [S] Suspend [?] Help (default is "Y"): y
rispondi si Y alla domanda oppure esegui il comando con il parametro -Force. Mentre se ottieni questo errore:
PackageManagement\Install-Package : No match was found for the specified search criteria and module name 'AzureAD'. Try Get-PSRepository to see all available registered module repositories. At C:\Program Files\WindowsPowerShell\Modules\PowerShellGet\1.0.0.1\PSModule.psm1:1772 char:21 + ... $null = PackageManagement\Install-Package @PSBoundParameters + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (Microsoft.Power....InstallPackage:InstallPackage) [Install-Package], Ex ception + FullyQualifiedErrorId : NoMatchFoundForCriteria,Microsoft.PowerShell.PackageManagement.Cmdlets.InstallPackage
prova ad eseguire, sempre con elevati privilegi, il comando:
Quello che segue è uno script che premette di aggiungere una serie di utenti ($userIds) ad un gruppo specifico ($groupId) visualizzando tutte le operazioni eseguite. Sia il gruppo che gli utenti vengono referenziati tramite il loro objectId:
PowerShell
# gruppo a cui aggiungere i membri
$groupId="011D5E7A-AD04-4084-9492-7A0F2D9DF220"
# membri da aggiungere al gruppo
$userIds = @(
"A0A4F427-9583-42A6-8FD0-0F146E63F818",
"8DE5B1B7-D289-4E26-A076-2B849BB5C93A",
"21BE6615-2226-4FE9-A778-83F53CFEA513"
); #nota: rimuovere la virgola finale dall'ultimo elemento
# assicurarsi di avere installato il modulo azuread,
# richiede privilegi amministrativi per l'installazione
# install-module azuread
# importo il modulo
import-module azuread
Write-Output "Connecting..."
Connect-AzureAD
Write-Output "Gruppo:"
get-azureadgroup -ObjectId $groupId
$usersBefore = Get-AzureADGroupMember -ObjectId $groupId
$usersBefore | select mail, userprincipalname
Write-Output "Utenti attuali nr. $($usersBefore.count)"
Write-Output "Adding..."
$userIds | % {
$id= $_
Write-Output "UserId: $id"
$u = Get-AzureADUser -ObjectId $id
Write-Output "UPN: $($u.UserPrincipalName)"
# verifico se l'utente esiste già
$found = $usersBefore | ?{$_.UserPrincipalName -eq $u.UserPrincipalName}
if($found -eq $null){
Write-Output " Adding user ..."
Add-AzureADGroupMember -ObjectId $groupId -RefObjectId $id
Write-Output " User ADDED"
}else{
Write-Output " User EXISTS"
}
}
Write-Output "Added"
$usersAfter = Get-AzureADGroupMember -ObjectId $groupId
$usersAfter | select mail, userprincipalname
Write-Output "Utenti dopo aggiunta nr. $($usersAfter.count)"