Kann mir bitte jemand dabei helfen.!?Das Abrufen von Anwendungspools aus der Liste der Remote-Server ist nicht möglich. Looping funktioniert nicht
Im Folgenden ist das ps-Skript, mit dem ich arbeite, um Anwendungspooldetails von einem Remotecomputer abzurufen.
Es funktioniert, wenn es auf der gleichen Maschine versucht wird oder wenn das Skript zeilenweise ausgeführt wird.
Es funktioniert nicht, wenn es als Skriptdatei ausgeführt wird. Anschließend werden die Anwendungspooldetails des Servers angezeigt, von dem aus das Skript in seiner gesamten Ausgabe ausgeführt wird.
Das Echo zeigt Hostnamen und seine Schleifen korrekt an. Aber ich bin mir nicht sicher, warum das Skript nicht looping ist.
Bitte schauen Sie und lassen Sie mich wissen, wie dies weiter zu versuchen ...
$nodes = Get-Content "C:\PowerShell\Servers.txt"
foreach($node in $nodes) {
echo $node
Enter-PSSession $node
Import-Module WebAdministration
$webapps = Get-WebApplication
$list = @()
foreach ($webapp in get-childitem IIS:\AppPools\)
{
$name = "IIS:\AppPools\" + $webapp.name
$item = @{}
$item.WebAppName = $webapp.name
$item.Version = (Get-ItemProperty $name managedRuntimeVersion).Value
$item.UserIdentityType = $webapp.processModel.identityType
$item.Username = $webapp.processModel.userName
$obj = New-Object PSObject -Property $item
$list += $obj
}
$list | Format-Table -a -Property "WebAppName", "Version", "State", "UserIdentityType", "Username", "Password"
Exit-PSSession
}
Read-Host "Press Enter"
Hey @Ryan, ich musste ein paar kleine Ergänzungen zu diesem machen. '$ nodes = Get-Content "C: \ Powershell \ Servers.txt"' ' foreach ($ Knoten in $ Knoten) {' ' Invoke-Command -Computer $ node {' ' Set-ExecutionPolicy RemoteSigned '' Import-Module WebAdministration' '$ webapps = Get-WebApplication' ' $ list = @() '' etc ... '' } '' } ' abgesehen davon war es wie ein Charme! Ich habe einige 2k12 Server in der Liste, in denen Invoke-Befehl von 2k8 Maschinen nicht funktioniert. Irgendeine Idee dazu? Set-ExecutionPolicy RemoteSigned – Ashfaq