Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Powershell variablen inhalt in eine andere variable speichern

Frage Entwicklung Batch & Shell

Mitglied: micneu

micneu (Level 2) - Jetzt verbinden

24.03.2010, aktualisiert 11:25 Uhr, 9272 Aufrufe, 2 Kommentare

hallo leute,

ich erstelle gerade ein powershell script

hier möchte ich den inhalt einer variable in erine neuen variable speichern

mein script im rohbau
01.
# variablen deklarieren 
02.
$start = Get-Date 
03.
$ziel = "$env:windir\System32\drivers\etc\" 
04.
$endung = "hosts" 
05.
$LfdNr = 1 
06.
$zaehler = 1 
07.
##### ip suchen #### 
08.
$suchen1 = '192.168.2.6' 
09.
$suchen2 = "192.168.2.5" 
10.
##### ip ersetzen #### 
11.
$ersetzen1 = "192.168.3.6´tsrv" 
12.
$ersetzen2 = "192.168.3.5´tmat" 
13.
echo "hosts bearbeiten" 
14.
dir $ziel -filter $endung |  
15.
    ForEach-Object { 
16.
        #echo "Datei: $_" 
17.
        $text = Get-Content $_.fullName 
18.
        $wertersetzen = '$ersetzen' + $zaehler         
19.
        $wertsuchen = '$suchen' + $zaehler 
20.
        $IP = $text -match $wertsuchen 
21.
        $gleich = ($IP -match $wertsuchen)         
22.
        If ($gleich) { 
23.
            echo $gleich           
24.
            echo "ip ist gleich" 
25.
            $IP 
26.
            $text2 = $text -replace $IP,'$wertersetzen'            
27.
        } Else { 
28.
            echo $gleich 
29.
            echo "ip ist ungleich" 
30.
31.
        #$LfdNr++ 
32.
33.
$stop = Get-Date 
34.
$gelaufenezeit = ($stop - $start).TotalSeconds 
35.
echo "Auftrag nach $gelaufenezeit Sek. erledigt...."
ich möchte das zeile 19 den variablen wert von zeile 8 bekommt
dies will ich für eine for schleife einsetzen.
(noch nicht mit in den code gebaut.

gruß michael
Mitglied: micneu
26.03.2010 um 00:57 Uhr
hallo leute ich habe es soweit gelöst nur habe ich jetzt das problem das mir mein script den inhalt meiner variable alles in eine zeile schreibt.
hier mein code:

01.
#   ************************************************************** 
02.
#    einmal auf der powershell ausgeführt werden 
03.
#     "Set-ExecutionPolicy Unrestricted" 
04.
#   ************************************************************** 
05.
#    Get-Content "C:\Windows\System32\drivers\etc\hosts" | ForEach-Object { $_ -replace "192.168.51.*", "test" } | Set-Content test2.txt  
06.
#     
07.
#   ************************************************************** 
08.
#   * Erstellt M.N. - POWERSHELL / Entwicklung   24.03.2010       
09.
#   ************************************************************** 
10.
# variablen deklarieren 
11.
$start = Get-Date 
12.
$ziel = "C:\Windows\System32\drivers\etc" 
13.
#$ziel = "$env:windir\System32\drivers\etc\" 
14.
$endung = "hosts" 
15.
$LfdNr = 1 
16.
##### ziel der geänderten datei #### 
17.
$export = "C:\Windows\System32\drivers\etc\hosts3" 
18.
#$export = "$env:windir\System32\drivers\etc\hosts" 
19.
$zaehler = 1 
20.
##### ip suchen #### 
21.
#$suchen = '192.168.'#,'192.168.1.206','192.168.1.205' 
22.
$suchen = '(?i)192.168.51.*',"hans" 
23.
##### ip ersetzen #### 
24.
#$ersetzen = ' '#,"192.168.1.206 `t v01-w","192.168.1.4 `t ma" 
25.
$ersetzen = "192.168.1.5 `t pcname","wirst" 
26.
echo "hosts bearbeiten" 
27.
 
28.
Function checkArray { 
29.
    if ($suchen.length -ne $ersetzen.length){ 
30.
            echo "suchen, ersetzen array ungleich" 
31.
            break 
32.
            }Else {echo "such array ist ok"}      
33.
34.
 
35.
function hosts-replace { 
36.
    dir $ziel -filter $endung | 
37.
        ForEach-Object { 
38.
        #echo "Datei: $_" 
39.
        $text = Get-Content $_.fullName         
40.
         for ($x1=0; $x1 -lt $suchen.length; $x1++){ 
41.
            $ersetze = $ersetzen[$x1] 
42.
            $suche = $suchen[$x1] 
43.
            $regex = [regex]$suche 
44.
            $regex.Matches($text) | % {$_.Value} | Out-String      
45.
            $IP2 = $text -match $suche 
46.
            $gleich = ($IP2 -match $suche) 
47.
            If ($gleich) {			 
48.
                echo "ip ist eingetragen / wird geändert" 
49.
                echo "$suche / $ersetzen"   
50.
                #$text = $text -replace $IP2,$ersetze             
51.
                $text = [regex]::Replace($text,$suche,$ersetze)                 
52.
                Write-Output $text >  "C:\Windows\System32\drivers\etc\hosts1" 
53.
                  
54.
                } Else { 
55.
                    #echo $1 
56.
                    #echo "ip nicht eingetragen" 
57.
                    #echo "wert eintragen: $ersetze" 
58.
                    #$text = $matches + "$ersetze" 
59.
                    #Write-Output $text >  "C:\Windows\System32\drivers\etc\hosts2" 
60.
61.
62.
		Write-Output $text > $export 
63.
64.
65.
checkArray 
66.
hosts-replace 
67.
$stop = Get-Date 
68.
$gelaufenezeit = ($stop - $start).TotalSeconds 
69.
echo "Auftrag nach $gelaufenezeit Sek. erledigt...."
wo ist mein fehler.....?

gruß michael
Bitte warten ..
Mitglied: micneu
27.10.2010 um 11:31 Uhr
ich werde das thema demnächst neu anfangen.

gruß michael
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Mit zusammengesetzter Variable auf andere Variable zugreifen (2)

Frage von abiber zum Thema Batch & Shell ...

Batch & Shell
gelöst Powershell Variable mit einem Operator versehen (11)

Frage von pixel0815 zum Thema Batch & Shell ...

Batch & Shell
gelöst Powershell Get-Content Inhalt filtern (1)

Frage von derhoeppi zum Thema Batch & Shell ...

Neue Wissensbeiträge
Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(9)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Windows 10

Das Windows 10 Creators Update ist auf dem Weg

(6)

Anleitung von BassFishFox zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Exchange Server
Exchange 2016 Standard Server 2012 R2 Hetzner Mail (36)

Frage von Datsspeed zum Thema Exchange Server ...

Verschlüsselung & Zertifikate
Mit Veracrypt eine zweite interne (non-system) Festplatte verschlüsseln (10)

Frage von Bernulf zum Thema Verschlüsselung & Zertifikate ...

Internet Domänen
Nameserver ein Geist? (6)

Frage von zelamedia zum Thema Internet Domänen ...

Microsoft Office
Übertrag in eine andere Tabelle (6)

Frage von charmeur zum Thema Microsoft Office ...