Sziasztok!
Meglehetősen kezdő kérdésem lenne PowerShell témakörben. Adott a DNS szerver debug logjai állapotának lekérdezése:
PS C:\Users\Administrator> Get-DnsServerDiagnostics
SaveLogsToPersistentStorage : True
Queries : True
Answers : True
Notifications : True
Update : True
QuestionTransactions : True
UnmatchedResponse : True
SendPackets : True
ReceivePackets : True
TcpPackets : True
UdpPackets : True
FullPackets : False
FilterIPAddressList :
EventLogLevel : 7
UseSystemEventLog : False
EnableLoggingToFile : True
EnableLogFileRollover : True
LogFilePath : C:\Temp\dnslog.txt
MaxMBFileSize : 65536
WriteThrough : True
EnableLoggingForLocalLookupEvent : True
EnableLoggingForPluginDllEvent : True
EnableLoggingForRecursiveLookupEvent : True
EnableLoggingForRemoteServerEvent : True
EnableLoggingForServerStartStopEvent : True
EnableLoggingForTombstoneEvent : True
EnableLoggingForZoneDataWriteEvent : True
EnableLoggingForZoneLoadingEvent : True
Tesztképpen az EnableLoggingToFile paraméter értékét szeretném lekérdezni, de ez a kiment objektumok listája (a színfalak mögött):
PS C:\Users\Administrator> Get-DnsServerDiagnostics | Get-Member EnableLoggingToFile
TypeName: Microsoft.Management.Infrastructure.CimInstance#root/Microsoft/Windows/DNS/DnsServerDiagnostics
Name MemberType Definition
---- ---------- ----------
EnableLoggingToFile Property bool EnableLoggingToFile {get;set;}
Egy olyan egyszerű lekérdezést szeretnék, ami True/False értéket ad vissza, és egyszerűen le tudnám kérdezni ennek a paraméternek az értékét.
Próbálkoztam több mindennel, de nem bizonyultam túl sikeresnek.
Előre is köszünöm a segítséget!
- 462 megtekintés
Hozzászólások
Format-*?
- A hozzászóláshoz be kell jelentkezni
Jelenleg ez tűnik nyerőnek:
Get-DnsServerDiagnostics | Select-Object -ExpandProperty EnableLoggingToFile
... The vision and the mission lost,
For those with corporate souls ...
Slackware Linux current | 5.10.38-janos
- A hozzászóláshoz be kell jelentkezni
en is pont most irtam :)
igen, ez jo
- A hozzászóláshoz be kell jelentkezni
Ha egy "if" kifejezésbe szeretnék két ilyet beletenni, akkor hogy lenne értelme megcsinálni?
$eee=Get-DnsServerDiagnostics
if (($eee | Select-Object -ExpandProperty TcpPackets) -and ($eee | Select-Object -ExpandProperty UdpPackets)) { echo "Hello World" }
... The vision and the mission lost,
For those with corporate souls ...
Slackware Linux current | 5.10.38-janos
- A hozzászóláshoz be kell jelentkezni
tedd az egeszet az $eee-be
- A hozzászóláshoz be kell jelentkezni
Ha már berakod egy változóba, akkor így is írhatod:
$eee=Get-DnsServerDiagnostics
if ($eee.TcpPackets -and $eee.UdpPackets) {
echo "Log file path: $($eee.LogFilePath)"
}
De meg lehet csinálni változó nélkül is:
Get-DnsServerDiagnostics |
Where-Object { $_.TcpPackets -and $_.UdpPackets } |
ForEach-Object { echo "Log file path: $($_.LogFilePath)" }
- A hozzászóláshoz be kell jelentkezni
Köszi, kipróbálom majd rövidesen és visszajelzek.
... The vision and the mission lost,
For those with corporate souls ...
Slackware Linux current | 5.10.38-janos
- A hozzászóláshoz be kell jelentkezni
Köszi a segítséget, az első lett a nyerő, mert ezt (illetve egy előzőhöz hasonló kifejezést) egy if-else feltételes kifejezésbe kell tennem, de a második kétségtelenül profibb.
... The vision and the mission lost,
For those with corporate souls ...
Slackware Linux current | 5.10.38-janos
- A hozzászóláshoz be kell jelentkezni
vagy -expandproperty
pl:
> Get-WmiObject -Class Win32_OperatingSystem –ComputerName localhost | Select-Object -expandproperty CSName
NB5410
- A hozzászóláshoz be kell jelentkezni
(Get-DnsServerDiagnostics).EnableLoggingToFile
- A hozzászóláshoz be kell jelentkezni