Archivi tag: powershell

Azure File Sync: limitare la banda utilizzata

Azure File Sync (AFS) è il servizio di Microsoft che permette di centralizzare i file aziendali in Azure tramite l’installazione di un agente di sincronizzazione installato sul server, sia in Azure che on-premise.

Una volta installato, di default, AFS sfrutta tutta la banda internet disponibile per la sincronizzazione dei dati (sia in upload che in download). Questo comportamento potrebbe però portare a dei malfunzionamenti agli altri workload, nasce quindi la necessità di limitare la banda utilizzata dal servizio.

E’ possibile limitare l’utilizzo della banda da parte di Azure File Sync tramite comandi Powershell (non è possibile da interfaccia grafica).

  1. Importare il modulo AFS
    Import-Module “C:\Program Files\Azure\StorageSyncAgent\StorageSync.Management.ServerCmdlets.dll”
  2. Configurare la regola di QoS. In questo esempio la banda viene limitata dal lunedì al venerdì e dalle 09 alle 19 a 2 Mpbs:
    New-StorageSyncNetworkLimit -Day Monday, Tuesday, Wednesday, Thursday, Friday -StartHour 7 -EndHour 19 -LimitKbps 2000
  3. Verifica della regola configurata:
    Get-StorageSyncNetworkLimit

NOTA: le regole che si configurano influenzano solo il download del dato e non è possibile governare il download del dato, almeno nella data in cui scrivo (16 – 01 – 2010)

Powershell: script autenticazione su Azure CSP con scelta customer e subscription

Lo script sotto esegue l’autenticazioni su sottoscrizioni Azure di tipo CSP e la selezione della sottoscrizione da utilizzare tramite due menù di scelta.

<#
Requirement:
Powershell 5.1
Module: 
- Partner Center
- Az
#>

Import-Module PartnerCenter

Connect-PartnerCenter  
# Select customer
$customer = Get-PartnerCustomer | Out-GridView -Title "Select the partner and click OK" -PassThru

Login-Azaccount -TenantId $customer.CustomerId

# Select subscription
$Subscription = Get-AzSubscription | Out-GridView -Title "Select the Subscription and click OK" -PassThru
Select-AzSubscription -SubscriptionId $Subscription.Id -TenantId $Subscription.TenantId

Volendo, è possibile memorizzare le credenziali per evitare che vengano richieste due volte tramite il cmdlet “get-credential”. Nel momento in cui sto scrivendo, parrebbe che il comando “connect-partnercenter” generi un errore nel passaggio delle variabili (nonostante il fatto che l’autenticazione si concluda comunque con successo).

Disclaimer: nessuna garanzia è fornita con questo script. Lo scrivente non è responsabile di qualunque danno possa eventualmente derivarne – lo utilizzate a vostro rischio.

Enterprise Vault: could not load file or assembly kvs.enterprisevault.interop.evpstapi

Scenario.
Server con installata la console di Enterprise Vault.
Script per l’esportazione degli archivi in PST (requisito: da avviare in Poweshell 23 bit)
Verifica se il modulo è di Etnerprise Vault è installato
if (!(Get-Module "enterprisevault")) {import-module enterprisevault}
$exportTOpst = import-csv "C:\temp\test.csv" -Delimiter ";"
foreach ($archive in $exportTOpst){
Write-Host -ForegroundColor Magenta "Dearchiviazione dell'archivio "$archive.ArchiveName
Export-EVArchive -ArchiveId $archive.archiveID -Format PST -OutputDirectory D:\Temp -MaxPSTSizeMB 51200
}

Problema
Durante l’esecuzione dello script, viene generato l’errore “could not load file or assembly kvs.enterprisevault.interop.evpstapi”

Soluzione
Copiare nella directory di installazione di Enterprice Valut (p.e. C:\Program Files (x86)\Enterprise Vault) il file KVS.EnterpriseVault.Interop.EVPstApi.dll (presente nel server EV) e riavviare i servizi di EV

Powershell: script per configurare la scheda di rete in DHCP o con IP statico

Script per configurare la scheda di rete in DHCP o con IP statico. Permette di scegliere quale scheda di rete configurare.

Disclaimer: nessuna garanzia è fornita con questo script. Lo scrivente non è responsabile di qualunque danno possa eventualmente derivarne – lo utilizzate a vostro rischio.

Powershell: importare record DNS da file CSV

Script per importare record A e Cname nel DNS da un file CSV

Esempio di file CSV:
HostName,RecordType,IPAddress
server01,a,192.168.1.1
Service01,cname,server4.mydomain.com

Script

 

Powershell Export And Import Relying Party Trust Claim Rules

Script per esportare, esportare ed importare o importare soltanto le claim AD FS.

 

 

Disclaimer: nessuna garanzia è fornita con questo script. Lo scrivente non è responsabile di qualunque danno possa eventualmente derivarne – lo utilizzate a vostro rischio.

Powershell: ottenere tutti i Domain Controller della foresta

Il seguente comando fornisce:

  • Lista di tutti i Domain Controller configurati nella foresta
  • Foresta e dominio di appartenenza
  • Indirizzo IP
  • Site

Eseguire le Microsoft Management Console (MMC) con Runas

Si ha l’esigenza, molte volte, di dover aprire le MMC (ad esempio i tools per la gestione di Active Directory) con credenziali differenti rispetto al dominio di appartenenza. Occorre quindi utilizzare il comando Runas con lo switch netonly.

Il comando, per esempio, per eseguire la MMC di Active Directory Users and Computers è:

Ho configurato uno script in Powershell con le MMC di Active Directory Management Tools:

Esecuzione dello script

E’ possibile modificare lo script aggiungendo o eliminando le varie console.

Disclaimer: Nessuna garanzia è fornita con questo script. Lo scrivente non è responsabile di qualunque danno possa eventualmente derivarne – lo utilizzate a vostro rischio.

Configurare una Virtual Machine con Windows Nano Server in Hyper-V

Requisiti: ISO Windows Server 2016

Montare la ISO. Per comodità, l’ho scompattata sul disco locale nel percorso: c:\NanoServer\Files

All’interno della directory locale C:\NanoServer, oltre al contenuto della ISO, ho copiato i moduli Powershell.

NanoServer Folder

NanoServer Folder

 

 

 

Da Powershell:

Dove:

  • MediaPath: percorso di dove sono memorizzati i file di Windows Server 2016
  • BasePath: Percorso dove vengono memorizzati i dati temporanei
  • TargetPath: percorso dove verrà memorizzato il disco creato. VHD per VM di Generazione 1, VHDX per VM di Generazione 2
  • MaxSize: dimensione massima del disco. Nel caso non venga inizializzato questo valore, il valore di default è 4 GB.
  • DeplymentType: Guest per macchine virtuali, Host per macchine fisiche
  • Edition: Standard o Datacenter
  • ComputerName: nome della macchina

Per l’elenco completo dei parametri, fare riferimento alla TechNet: https://technet.microsoft.com/itpro/powershell/windows/nanoserverimagegenerator/new-nanoserverimage

Collegare il disco in una nuova macchina virtuale Hyper-V e avviarla.

NanoServer in Hyper-V

NanoServer in Hyper-V

 

Creare lista delle VM configurate in Azure Resource Manager con Powershell

Il seguente script esporta in un file CSV la lista e le configurazioni delle VM configurate in Azure Resource Manager.

Configurazioni esportate:

  • Nome macchina
  • Resource Group
  • Utenza amministratrice locale
  • Indirizzo IP
  • Informazioni dischi

Disclaimer: Nessuna garanzia è fornita con questo script. Lo scrivente non è responsabile di qualunque danno possa eventualmente derivarne – lo utilizzate a vostro rischio.