Modifica ricorsiva estensione files - powershell
ls -r "C:\Users\mio\Desktop\file dump telefono" |
? { -not $_.PSIsContainer } |
ren -Path { $_.FullName } -NewName { "$($_.BaseName).$($_.Extension[estensione che vuoi mettere])" } -WhatIf
Gestione - Avvio servizi con powershell
Con questo semplice comando seleziono i servizi che contengono il nome "exch" (come Exchnage) e avvio il servizio.
Get-Service | Where-Object {$_.name -match "exch"} | Start-Service
Powershell - selezionare oggetti da un output
per selezionare (visualizzare) solo una parte di un elenco di oggetti si puo usare il comando
Where-Object
Get-ChildItem | Where-Object {$_.mode -match "s"}
il parametro $_.mode seleziona la proprietà da cui scegliere.
è altresi possibile usare il comando
format-list -Property mode
in questo caso pero non selezione effettivamente un oggetto ma ne limito la visualizzazione nell'output
------------------
se invece non vogliamo lavorare a livello di oggetto ma solo cercare del testo possiamo usare il comando
Select-String
Creazione ricorsiva cartelle con PowerShelll
Get-ChildItem c:\tmp |
Where-Object {$_.PSIsContainer}|
ForEach-Object {new-item -name GesOff -type directory -path $_.fullname -WhatIf -ErrorAction SilentlyContinue
}
Citrix Receiver - pass-thru Auth non appare tra le opzioni
se la pass-thru Auth non appare tra le opzioni non compare tra le opzioni di citrix receiver il problema si puo risolvere con questa chiave di registro.
Condivisione stampanti via script
Questo script (VBS) permette di confividere TUTTE le stamapnti di un pc, tranne quelle di rete, e assegna il nome della condivisione uguale al nome stampante.
è possibile intervenire su questa riga " objPrinter.ShareName = "" & objPrinter.Name" e modificarla con "
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colInstalledPrinters = objWMIService.ExecQuery _
("Select * from Win32_Printer Where Network = FALSE")
i = 1
For Each objPrinter in colInstalledPrinters
objPrinter.Shared = TRUE
objPrinter.ShareName = "" & objPrinter.Name
objPrinter.Put_
i = i + 1
Next
è possibile intervenire su questa riga " objPrinter.ShareName = "" & objPrinter.Name" e modificarla con "
objPrinter.ShareName = "Printer" & i " per avere un nome progressivo.
==================================
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colInstalledPrinters = objWMIService.ExecQuery _
("Select * from Win32_Printer Where Network = FALSE")
i = 1
For Each objPrinter in colInstalledPrinters
objPrinter.Shared = TRUE
objPrinter.ShareName = "" & objPrinter.Name
objPrinter.Put_
i = i + 1
Next
Citrix Xendesktop - prestart number of VM
Le macchine che vengono pre-avviate su xen desktop di defaul su xendesktop usano un parametro fisso, ovvero su puo decidere quante macchine sono di defaul inizialmente avviate ma non tiene conto del numero di macchine effetivamente usate.
Per risolvere questo problema si puo lanciare un comando per trasformare in valore percentuale il numero di VM pre-avviate.
Per risolvere questo problema si puo lanciare un comando per trasformare in valore percentuale il numero di VM pre-avviate.
Configurazione Stampante locale via script
Configurazione Stampante locale via script.
questo script assume che:
- il driver richiesto sia già installato sul pc locale, e quindi visibile dalle proprietà server di stampa
- le policy di dominio non blocchino l'installazione di driver non firmati
- si deve essere amministratori del pc
- è stato testato su win xp
- il comando ping serve per guadagnare tempo durante l'esecuzione dello script e permettere eventuali operazioni in background (come la creazione dell porte si stampa)
- la guida completa al comando si trova in fondo.
questo script assume che:
- il driver richiesto sia già installato sul pc locale, e quindi visibile dalle proprietà server di stampa
- le policy di dominio non blocchino l'installazione di driver non firmati
- si deve essere amministratori del pc
- è stato testato su win xp
- il comando ping serve per guadagnare tempo durante l'esecuzione dello script e permettere eventuali operazioni in background (come la creazione dell porte si stampa)
- la guida completa al comando si trova in fondo.
Comandi di stampa Unix
Questo elenco di comandi permettono di utilizzare i servizi di stampa unix installati su un client windows xp (o win 7)
questo comando lancia la stampa del file test.txt sulla stampante test che si trva sul print server con quell' ip
lpr -S172.25.11.87 -Ptest c:\test.txt
Questo comando invece verifica lo stato della coda
lpq -S172.25.11.87 -Ptest
questo comando lancia la stampa del file test.txt sulla stampante test che si trva sul print server con quell' ip
lpr -S172.25.11.87 -Ptest c:\test.txt
Questo comando invece verifica lo stato della coda
lpq -S172.25.11.87 -Ptest
Script modifica porta stampante
Per modificare in automatico una porta di una stampante partendo dal suo nome è possibile utiliizare questo semplice script.
Salvare come .vbs
In questo caso verranno selezionate tutte le stampanti che contengono la parola "test" e "pippo" e verranno reindirizzate verso la lpt1.
Se vogliamo selezionare il nome esatto e non il nome contenuto possiamo usare la stringa DeviceID='test' al posto di DeviceID like '%test%'"
Salvare come .vbs
In questo caso verranno selezionate tutte le stampanti che contengono la parola "test" e "pippo" e verranno reindirizzate verso la lpt1.
Se vogliamo selezionare il nome esatto e non il nome contenuto possiamo usare la stringa DeviceID='test' al posto di DeviceID like '%test%'"
Riavvio veloce Windows Server
Può capitare che il riavvio di una macchina Windows server sia particolarmente lenta in particolare se si tratta di un SBS o se è installata una funzionalità Sql o Exchange.
Una semplice soluzione del problema può essere quella di stoppare i servizi di vari applicativi prima di lanciare il comando di spegnimento o riavvio con un semplice file batch è.
Creare un file .bat e fare copia incolla del testo qui sotto.
Attenzione: l'ultima riga se decommentata riavvia il server dopo 5 secondi
Una semplice soluzione del problema può essere quella di stoppare i servizi di vari applicativi prima di lanciare il comando di spegnimento o riavvio con un semplice file batch è.
Creare un file .bat e fare copia incolla del testo qui sotto.
Attenzione: l'ultima riga se decommentata riavvia il server dopo 5 secondi
Wmi Filter originali
Filtri wmi nativi di windows sbs 2011
Windows SBS Client
select * from Win32_OperatingSystem Where ProductType!=2
Windows SBS Client - Windows 7 and Windows Vista
select * from Win32_OperatingSystem Where Version>='6.0.6002'<br /><br /><strong>Windows SBS Client - Windows XP</strong><br />select * from Win32_OperatingSystem Where (Version>='5.1.2600' and '6.0.6000'>Version and ServicePackMajorVersion>=3) or (Version>='5.2.3790' and '6.0.6000'>Version and ServicePackMajorVersion>=2)
Windows xp
select * from Win32_OperatingSystem Where (Version>='5.1.2600' and '6.0.6000'>Version and ServicePackMajorVersion>=3) or (Version>='5.2.3790' and '6.0.6000'>Version and ServicePackMajorVersion>=2)
Lanciare uno script powershell da file Batch (.bat)
sintassi di esempio per creare un file bach con all'interno uno script powershell:
powershell.exe -ExecutionPolicy unrestricted -file "C:\ScriptPulizia\Scrip_eliminazione_vecchie_cartelle.ps1" >> C:\ScriptPulizia\log.txt
Esempio dello script richiamato
date
echo -
echo -
echo -
echo "cambio cartella e vado ad eseguire pulizia su r:"
cd "r:\"
Get-ChildItem "r:\" | Where-Object { $_.PSIsContainer} | ForEach-Object {Get-ChildItem $_ | Where-Object {$_.PSIsContainer} | Sort-Object -Descending | Select-Object -Skip 4 | Remove-Item -Recurse}
# -WhatIf
echo -
echo -
echo "cambio cartella e vado ad eseguire pulizia su s:"
cd "s:\"
Get-ChildItem "s:\" | Where-Object { $_.PSIsContainer} | ForEach-Object {Get-ChildItem $_ | Where-Object {$_.PSIsContainer} | Sort-Object -Descending | Select-Object -Skip 4 | Remove-Item -Recurse}
# -WhatIf
c:
# ping -n 10 www.tim.it
echo -----------------------------------------------------------------------------
echo -----------------------------------------------------------------------------
Hp esploso - elenco parti
Hp Parts - elenco hardware compatibile per macchine hp.
trovare un'esploso di un servr hp puo essere molto difficoltoso da reperire, si può ovviare utilizzando google : "modello server" + quickspecs:
Creare certificato con più nomi (multiname)
Creare certificato ssl con piu nomi
A volte puo capitere di dover richiedere un certificato valido per piu host o additittura per un intero dominio.
seguire queste guide per raggiungere lo scopo
seguire queste guide per raggiungere lo scopo
Modificare Windows Firewall via GPO
A volte è necessario gestire un servizio via GPO.
Nello specifico questo script evidenzia come gestire il servizio windows firewall usando le GPO di AD.
Questa è la configurazione da usare.
; Replace Fierewall Start mode
; Start = 4 (disable), 3 (manual), 2(automatic), 1 (system), 0 (boot)
Class Machine
CATEGORY “Hardware Control”
POLICY “Enable firewall seervices”
KEYNAME “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess”
PART “HW: Windows Firewall” Checkbox
VALUENAME “Start”
VALUEON NUMERIC 4 VALUEOFF “3?
END PART
END POLICY
END CATEGORY
http://www.windowsreference.com/windows-2000/how-to-disable-a-service-or-device-drivers-using-group-policies/
Group Policies are used to apply system and security policies for the client PCs in a Windows Active Directory based Domains. While Group Policies is vast in itself to explain, here is a simple procedure on how to enable/disable a service or a Device driver using Group Policies.
The registry keys that the Group Policy targets to disable the service or the drivers is here
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services]
All the device drivers, services & applications can be found here. I’m disabling my Audio device driver for example in this case.
The Audio driver in my PC is aeaudio.sys and the registry key is
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\aeaudio]
In the right-pane, there is a DWORD entry “Start”
The possible values are
“4″ – Disable
“3″ – Manual
“2″ – Automatic
“1″ – System
“0″ – boot
The value “4″ disables the driver. Set the value of the DWORD to “4″ to disable the driver.
Ok. Now, how we do it to multiple client PCs using Group Policies.
Create a new Administrative Template (say sound_dis.adm) with the following
; Replace aeaudio with actual driverkey or service in Registry
; Start = 4 (disable), 3 (manual), 2(automatic), 1 (system), 0 (boot)
Class Machine
CATEGORY “Hardware Control”
POLICY “Disable Soundcard”
KEYNAME “SYSTEM\CurrentControlSet\Services\aeaudio”
PART “HW: Analog Devices (Soundmax)” Checkbox
VALUENAME “Start”
VALUEON NUMERIC 4 VALUEOFF “3″
END PART
END POLICY
END CATEGORY
Once done, import the template in GP snap-in and apply to the group of PCs. The next GP update will disable the registry key on the PCs. Test to see there is no more sound from the system.
Acrobat reader - Full Download
Visto che ogni volta che devo scaricare Acrobat Reader perdo qualche decina di minuti a bisticciare con le pagine di Adobe che vogliono farmi scaricare il Reader tramite il downloader e magari con qualche altro software a corredo tipo Google Toolbar o McAfee Security Scan Plus, mi segno per mia e spero anche vostra utilità un paio di link diretti.
- La distribuzione enterprise del reader http://get.adobe.com/it/reader/enterprise/
- e soprattutto l’ftp ftp://ftp.adobe.com/pub/adobe/reader
Ed è proprio esplorando l’ftp che si scoprono alcune altarini, si veda ad esempio il link per l’ultima versione localizzata in italiano del reader al momento disponibile la 9.4.0 ftp://ftp.adobe.com/pub/adobe/reader/win/9.x/9.4.0/it_IT/:
articolo tratto da http://blogs.sysadmin.it/ermannog/archive/2010/12/10/acrobat-reader-full-download.aspx
Inventario Hardware/Software di rete
Eseguire un rapido inventario delle macchine collegate in rete è un passo fondamentale per una buona gestione.
Eseguire la cosa a mano puo essere molto dispendiosa in termini di tempo soprattutto quando la rete inizia a salire di dimensioni.
Ecco allora che alcuni sofware vengono in nostro aiuto: gli standalone per inventariare un singolo pc e quelli di rete per gestire client remoti.
Eseguire la cosa a mano puo essere molto dispendiosa in termini di tempo soprattutto quando la rete inizia a salire di dimensioni.
Ecco allora che alcuni sofware vengono in nostro aiuto: gli standalone per inventariare un singolo pc e quelli di rete per gestire client remoti.
Free PC Audit - Sofware molto semplice che non richiede installazione - reportistica solo in .txt
SIW | System Information for Windows : questo softare simile al precedente offre un magiore dettaglio sulla reportistica e il salvataggio in html - Produttore - Cerca
Andando piu sul sottile ci si puo affidare ai dettagliati (ma anche piu complicati) Sysinternals System Information Utilities - Cerca
Lansweeper : Nato da poco promette di imporsi sul mercato.
Spiceworks: Uno dei piu vecchi, famosi e supportati programmi open source
OCSnextinventory : piu limitato ma piu semplice cerca con google
Nmap: il classico per la scansione veloce della rete.
Nessus : nasce come tool di sicurezza ma puo tornare utile per scandagliare la rete dove le normali porte sono coperte da firewall
Solarwind : mai provato ma consigliato da divesi siti (esiste versione free e pro)
Solo a pagamento:
Diversi sofware sono disponibili sul mercato con codice chiuso e solo a pagamento: ma alcuni sono davvero validi e semplici e con la sola demo (trial 15 o 30 gg) possono risolvere molti problemi:
Total Network Inventory : demo - la versione a pagamneto comprende supporto e aggiornamenti |demo "allungata"
Ip scan tpc
Per controllare se esistono altri pc in rete possono essere molto utili alcuni sofware gratuiti:
Cain e Abel - Sito
Comando di shell - Net View
Terminal Server - Accesso in console
X collegarsi sulla console principale di terminal server (sol amministrator) digitare da esegui:
mstsc /v:ip_del_server /console
X vista:
mstsc /v:ip_del_server /admin
Funzione pause in powershell
function Pause ($Message="Press any key to continue...")
{
Write-Host -NoNewLine $Message
$null = $Host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")
Write-Host ""
}
{
Write-Host -NoNewLine $Message
$null = $Host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")
Write-Host ""
}
Salvare modifiche e funzioni personalizzate in powershell
Se creiamo funzioni o variabili personalizzate queste svaniscono ad ogni avvio di powershell.
per risolvere possimo seguire questa guida:
Cerca utenti con quote Mailbox non standard
come da titolo: questo script cerca utenti con queote utente non standard.
Get-Mailbox | where-object { $_.ProhibitSendQuota -notmatch "unlimited"}
Comandi fondamentali powershell
Get-help: richiama l'help dei comandi
- get-help * : richiama l'elenco completo dei comandi
- esistono 3 tipi findamnetali di comandi:
alias: richiamano altri comandi
cmdlet: sono i comandi veri e propi
helpfile: iniziano tutti con abaut_nomecomando : indicano un file di help
Get-command richiama l'elenco dei comandi
Get-member indica come è strutturato un oggetto in uscita e i suoi paramtri; questo è fondamentale per capire come usare un oggetto con pipeline (es: get-process | get-member)
SORT :ordina secondo un campo (es: get-process | sort handles)
Disabilitare filtro allegati in Exchange 2007
il comando deve essere lanciato su ogni serevr EDGE.
questa comando disabilita ogni tipo di controllo sugli allegati.
al termine è necessario riavviare il servizio di trasporto edge (oopure il server intero).
Disable-TransportAgent -Identity "Attachment Filtering Agent"
Per riabilitarlo usare il comando Enable
Search and Replace
Modificare in maniera ricorsiva e ripetitiva alcuni campi di testo può essere un'operazione molto scomoda soprattutto se deve essere eseguita su decine o centinaia di files.
Ci vengono però in aiuto alcuni strumenti che fanno tutto il lavoro al posto nostro cercando una stringa di testo all'interno di file e sostituendola con un solo clik.
inoltre sono supportate anche le espressioni regolari per affinare le operazioni.
uno dei migliori software gratuiti è textcrawler
altra soluzione interessante è "Advanced Find and Replace" qui la pagina ufficiale
altra soluzione interessante è "Advanced Find and Replace" qui la pagina ufficiale
Iniziamo
Questo è il primo post del nuovo blog...
Qualcuno si ricorderà del vecchio sito bonna.tk , oppure di dariobonini.it in ogni caso ora si trova tutto qui...
Qualcuno si ricorderà del vecchio sito bonna.tk , oppure di dariobonini.it in ogni caso ora si trova tutto qui...
Iscriviti a:
Post (Atom)