Existe-t-il un moyen de désactiver et de réactiver un port TCP/IP connu dans PowerShell?Script PowerShell pour désactiver/réactiver un port TCP/IP
Répondre
Je ferai l'aveugle supposer que vous parlez de désactiver & sockets TCP/IP qui sont hébergés par IIS. (Non, disons, la recherche de moyens de bloquer/débloquer les choses au niveau du pare-feu, ou tout autre chose.) Dans ce cas, j'arrive d'avoir les scripts nécessaires qui traînent ...
# Get the IIsWebServer and IIsWebServerSetting WMI objects matching a display name, and combine them into one object
function Get-IIsWeb
{
param (
[string] $displayName = "",
[string] $computer = "localhost"
)
if ($displayName -eq "")
{ $filter = "" }
else
{ $filter = "ServerComment='$displayName'"}
Get-WmiObject -namespace "root\MicrosoftIISv2" -class "IIsWebServerSetting" -filter $filter -computer $computer -authentication 6 | % {
$temp = $_
Get-WmiObject -namespace "root\MicrosoftIISv2" -class "IIsWebServer" -filter "Name='$($_.Name)'" -computer $computer -authentication 6 |
add-member -membertype NoteProperty -name Settings -value $temp -passthru
}
}
# Stop all websites on a given computer that are bound to the specified port, unless they are scoped to a
# host header or IP address
function Stop-WebsiteOnPort
{
[CmdletBinding()]
param (
[Parameter(Mandatory=$true, valuefrompipeline=$true)]
[int] $port,
[Parameter(Position=0)]
[string] $computer = "localhost",
[Parameter()]
[string] $hostName = $null,
[Parameter()]
[string] $ip = $null
)
begin { $websites = Get-IIsWeb -computer $computer }
process
{
# I don't think you can do this filter in WQL
$websites |
? {
($_.settings.serverbindings | ? {$_.port -eq $port -and $_.Hostname -eq $hostName -and $_.IP -eq $ip} | measure).count -gt 0
} |
% {
$_.stop()
}
}
}
L'WMI réelle code pour réactiver un site est à peu près identique au code pour arrêter celui vu ci-dessus. Cependant, vous devrez faire un peu plus de travail: il pourrait y avoir arbitrairement beaucoup de sites configurés pour utiliser un port donné, mais seulement 1 peut fonctionner à la fois. Soit vous aurez besoin d'un paramètre supplémentaire de l'utilisateur, soit d'une heuristique pour choisir le "bon" site.
Je pense que c'est exactement ce dont j'ai besoin! Merci beaucoup. –
Au second regard, je ne pense pas que ce soit ce dont j'ai besoin. Voici ce qui se passe: Nous avons un outil OLAP appelé TM1 qui fonctionne sur un serveur et permet aux utilisateurs de se connecter via un outil client sur le port 12345. Les cubes sur le serveur sont mis à jour quotidiennement, mais sont ralentis par les utilisateurs essayant de se connecter. . Je voudrais les empêcher de se connecter pendant la mise à jour, puis les autoriser une fois la mise à jour terminée. Le service doit être en cours d'exécution pour que la mise à jour puisse avoir lieu. –
Vous devrez soit (a) consulter la documentation TM1 et espérer qu'ils ont un moyen programmatique de basculer la connectivité sans baisser le service (b) bloquer les utilisateurs sur la couche réseau, c'est-à-dire utiliser un pare-feu ou IPSEC ou similaire. –
- 1. VB.net 1.1 Création de port d'imprimante TCPIP avec l'API CreateProcessWithLogon
- 2. Script Powershell qui extrait des medadata du script powershell
- 3. Vous cherchez un script PowerShell pour comparer deux dossiers récursivement
- 4. Ecriture sur un port série avec un script shell
- 5. Comment ajouter un script au chemin standard dans PowerShell?
- 6. Conditionnement de script PowerShell et exécution WinNT?
- 7. Comment exécuter un script PowerShell à partir de SSIS
- 8. Comment transmettre plusieurs paramètres de chaîne à un script PowerShell?
- 9. Script de lot Windows pour imprimer un message d'erreur si le port est utilisé
- 10. Un œil PowerShell pour le type Bash
- 11. Le script Powershell permet de modifier le compte de service
- 12. Script de recherche PowerShell qui ignore les fichiers binaires
- 13. Comment placer un en-tête dans un fichier csv généré par le script Powershell
- 14. Comment extraire lastexitcode de $ de C# exécution du script Powershell
- 15. Chemin du script PowerShell actuellement en cours d'exécution
- 16. L'exécution du script Powershell de l'explorateur = erreur de politique d'exécution
- 17. Tcpip écouteurs sockets flux SSL tellement de confusion
- 18. J'ai besoin d'un script PowerShell qui copie les fichiers du répertoire en cours d'exécution du script vers un autre emplacement.
- 19. Comment envoyer/recevoir une chaîne nmea sur tcpip/udp
- 20. si utiliser un pipeline powershell ou utiliser powershell RunspaceInvoke pour exécuter des scripts
- 21. PowerShell Script pour automatiser la saisie de données dans OpenOffice Calc Spreadsheet
- 22. Pouvez-vous définir DefaultDisplayPropertySet d'un objet dans un script PowerShell v2?
- 23. Powershell dans SSIS
- 24. Envoyer un SMS à un port mobile
- 25. Libérer un port TCP/IP?
- 26. Sortie Powershell
- 27. Liaison de port Python
- 28. Comment pourrais-je créer un port Flight Gear pour WiiBrew?
- 29. Comment trouver un port vide pour démarrer WCF web ServiceHost
- 30. Manière standard d'utiliser un seul port pour plusieurs sockets?
Voulez-vous dire une carte réseau ou un port TCP? –
Je suggère d'utiliser le pare-feu. https://github.com/PowerShell/xNetworking#adding-a-firewall-rule est un moyen. – TravisEz13