質問編集履歴
2
ソースプログラム①の誤記を訂正
test
CHANGED
File without changes
|
test
CHANGED
@@ -45,8 +45,8 @@
|
|
45
45
|
|
46
46
|
tmpSTR = ""
|
47
47
|
For Each objItem in colItem
|
48
|
-
OS
|
48
|
+
OSname = objItem.Caption
|
49
|
-
Memory = Item.TotalVisibleMemorySize
|
49
|
+
Memory = objItem.TotalVisibleMemorySize
|
50
50
|
Next
|
51
51
|
|
52
52
|
■2.変更案のコード(vbsからpowershellを呼び出し)
|
1
切り分け内容を追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -17,6 +17,13 @@
|
|
17
17
|
### 発生している問題・分からないこと
|
18
18
|
・下記2.のコードで実装したのですが、戻り値(OS-name、Memory)が
|
19
19
|
取得できません。( 値が取れていないか、nullになっているようです)
|
20
|
+
|
21
|
+
[12/14 追記]
|
22
|
+
エラーとしては、「For Each objItem in colItem」行のところで、
|
23
|
+
「オブジェクトでサポートされていないプロパティまたはメソッドです。」
|
24
|
+
のエラーが発生してしまいます。
|
25
|
+
配列で出力した(つもりの)データに対して、for eachでの配列の取り出しが
|
26
|
+
うまく行っていないようです・・
|
20
27
|
|
21
28
|
・下記1.の元のコードでは、OS-name、Memoryの値が取得できています。
|
22
29
|
|
@@ -51,8 +58,8 @@
|
|
51
58
|
|
52
59
|
tmpSTR = ""
|
53
60
|
For Each objItem in colItem
|
54
|
-
OS-name = Item.Caption
|
61
|
+
OS-name = objItem.Caption
|
55
|
-
Memory = Item.TotalVisibleMemorySize
|
62
|
+
Memory = objItem.TotalVisibleMemorySize
|
56
63
|
Next
|
57
64
|
|
58
65
|
※補足
|
@@ -61,6 +68,19 @@
|
|
61
68
|
Set colItem = objShell.Exec(objExec) の後に、
|
62
69
|
colItem = objExec.StdOut.ReadAll の標準出力を追加し、
|
63
70
|
これをfor eachで参照してみたのですが、やはり戻り値は取得できないようです。
|
71
|
+
|
72
|
+
[12/14 追記]
|
73
|
+
問題切り分けの為、Powershell上から下記のコードを実行したところ、応答が返ってきました。
|
74
|
+
|
75
|
+
[実行コマンド]
|
76
|
+
PS C:\WINDOWS\system32> Get-CimInstance -Classname Win32_OperatingSystem | Select-Object Caption, TotalVisibleMemorySize
|
77
|
+
|
78
|
+
[結果]
|
79
|
+
Caption TotalVisibleMemorySize
|
80
|
+
------- ----------------------
|
81
|
+
Microsoft Windows 11 Home 31388688
|
82
|
+
|
83
|
+
|
64
84
|
```
|
65
85
|
|
66
86
|
### 試したこと・調べたこと
|